From 3d96da7c253dbee19dbb7c9d1bd67ea8df769f35 Mon Sep 17 00:00:00 2001 From: Jon TURNEY Date: Fri, 19 Feb 2010 22:38:00 +0000 Subject: [PATCH] Cygwin build fix: Fix linkage Fix the way we make static convenience libraries, such as libmesa.a, to be the same as linux etc. Putting archives inside archives doesn't make the objects inside the archive linkable, so use expand_archives() to get all the objects inside an archive out again before linking. Signed-off-by: Jon TURNEY --- bin/mklib | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/bin/mklib b/bin/mklib index 066b652..c76c7a8 100755 --- a/bin/mklib +++ b/bin/mklib @@ -936,7 +936,14 @@ case $ARCH in if [ "${ALTOPTS}" ] ; then OPTS=${ALTOPTS} fi - FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${OBJECTS}` + + # expand .a into .o files + NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS` + + FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}` + + # remove temporary extracted .o files + rm -rf ${LIBNAME}.obj else OPTS="-shared -Wl,--enable-auto-image-base -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a" if [ "${ALTOPTS}" ] ; then -- 1.6.6.1