diff options
author | Jon TURNEY <jon.turney@dronecode.org.uk> | 2010-02-19 22:38:00 +0000 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2010-02-20 09:24:15 -0700 |
commit | e3114d3f0ff45f6e3ef38c59cceb9b6923b7b0eb (patch) | |
tree | 41ae1997beeb8e392f947b4e701d1f2d473b5fbf | |
parent | 1613735d08eacc4b3d21694e5010587357525ecc (diff) |
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 <jon.turney@dronecode.org.uk>
Signed-off-by: Brian Paul <brianp@vmware.com>
-rwxr-xr-x | bin/mklib | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -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 |