From 145d49838fe268c8524a369d59cb9f771657ad59 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 6 Oct 2008 10:58:16 -0600 Subject: mesa: fix static library construction If the .a is made of other .a files, extract the objects from the later. --- bin/mklib | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/mklib b/bin/mklib index a25d5bfaeb..d7b740f8e3 100755 --- a/bin/mklib +++ b/bin/mklib @@ -260,9 +260,31 @@ case $ARCH in OPTS=${ALTOPTS} fi rm -f ${LIBNAME} + + # expand any .a objects into constituent .o files. + NEWOBJECTS="" + DELETIA="" + for OBJ in ${OBJECTS} ; do + if [ `expr match $OBJ '.*\.a'` -gt 0 ] ; then + # extract the .o files from this .a archive + FILES=`ar t $OBJ` + ar x $OBJ + NEWOBJECTS="$NEWOBJECTS $FILES" + # keep track of temporary .o files and delete them below + DELETIA="$DELETIA $FILES" + else + # ordinary .o file + NEWOBJECTS="$NEWOBJECTS $OBJ" + fi + done + # make lib - ${LINK} ${OPTS} ${LIBNAME} ${OBJECTS} + ${LINK} ${OPTS} ${LIBNAME} ${NEWOBJECTS} ranlib ${LIBNAME} + + # remove temporary extracted .o files + rm -f ${DELETIA} + # finish up FINAL_LIBS=${LIBNAME} else -- cgit v1.2.3