Mesa (master): Fixed mklib to properly merge static libraries on darwin.

Dan Nicholson dbn at kemper.freedesktop.org
Sun Feb 28 08:55:09 UTC 2010


Module: Mesa
Branch: master
Commit: 54f9c509a1eddfa7b2600ef4e4c18c2e212f6d51
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=54f9c509a1eddfa7b2600ef4e4c18c2e212f6d51

Author: Alex Weiss <algrs at cacography.net>
Date:   Sat Feb 27 14:47:43 2010 -0500

Fixed mklib to properly merge static libraries on darwin.

Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>

---

 bin/mklib |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/bin/mklib b/bin/mklib
index 7f22725..08ef99e 100755
--- a/bin/mklib
+++ b/bin/mklib
@@ -743,12 +743,20 @@ case $ARCH in
         if [ $STATIC = 1 ] ; then
             LIBNAME="lib${LIBNAME}.a"
             echo "mklib: Making Darwin static library: " ${LIBNAME}
-            LINK="ar"
             OPTS="-ruvs"
             if [ "${ALTOPTS}" ] ; then
                 OPTS=${ALTOPTS}
             fi
-            ${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
+
+            # expand .a into .o files
+            NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
+
+            # make static lib
+            FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
+
+            # remove temporary extracted .o files
+            rm -rf ${LIBNAME}.obj
+
             FINAL_LIBS=${LIBNAME}
         else
             # On Darwin a .bundle is used for a library that you want to dlopen




More information about the mesa-commit mailing list