summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorJon TURNEY <jon.turney@dronecode.org.uk>2010-02-19 22:38:00 +0000
committerBrian Paul <brianp@vmware.com>2010-02-20 09:24:15 -0700
commite3114d3f0ff45f6e3ef38c59cceb9b6923b7b0eb (patch)
tree41ae1997beeb8e392f947b4e701d1f2d473b5fbf /bin
parent1613735d08eacc4b3d21694e5010587357525ecc (diff)
downloadexternal_mesa3d-e3114d3f0ff45f6e3ef38c59cceb9b6923b7b0eb.zip
external_mesa3d-e3114d3f0ff45f6e3ef38c59cceb9b6923b7b0eb.tar.gz
external_mesa3d-e3114d3f0ff45f6e3ef38c59cceb9b6923b7b0eb.tar.bz2
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>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/mklib9
1 files changed, 8 insertions, 1 deletions
diff --git a/bin/mklib b/bin/mklib
index c4b3478..06e8029 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