From: Jon TURNEY Date: Fri, 19 Feb 2010 22:38:00 +0000 (+0000) Subject: Cygwin build fix: Fix linkage X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e3114d3f0ff45f6e3ef38c59cceb9b6923b7b0eb;p=mesa.git 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 Signed-off-by: Brian Paul --- diff --git a/bin/mklib b/bin/mklib index c4b3478c798..06e8029cb6d 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