assorted AIX, IRIX fixes from Dan Schikore
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 18 Apr 2006 12:56:11 +0000 (12:56 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 18 Apr 2006 12:56:11 +0000 (12:56 +0000)
bin/mklib

index ad8419e..adc2b7f 100755 (executable)
--- a/bin/mklib
+++ b/bin/mklib
@@ -305,8 +305,8 @@ case $ARCH in
            fi
 
            # linker options
-           if [ ${LINK} = "ld" ] ; then
-               # SunOS linker, -G to make shared libs
+           if [ ${LINK} = "ld" -o ${LINK} = "cc" -o ${LINK} = "CC" ] ; then
+               # SunOS tools, -G to make shared libs
                OPTS="-G"
            else
                # gcc linker
@@ -404,15 +404,15 @@ case $ARCH in
            # examine first object to determine ABI
            set ${OBJECTS}
            ABI_O32=`file $1 | grep 'ELF 32-bit'`
-           ABI_N32=`file $1 | grep 'ELF N32-bit'`
+           ABI_N32=`file $1 | grep 'ELF N32'`
            ABI_N64=`file $1 | grep 'ELF 64-bit'`
-           if [ ${ABI_O32} ] ; then
+           if [ "${ABI_O32}" ] ; then
                OPTS="-32 -shared -all"
                ABI="o32-bit"
-           elif [ ${ABI_N32} ] ; then
+           elif [ "${ABI_N32}" ] ; then
                OPTS="-n32 -shared -all"
                ABI="n32-bit"
-           elif [ ${ABI_N64} ] ; then
+           elif [ "${ABI_N64}" ] ; then
                OPTS="-64 -shared -all"
                ABI="64-bit"
            else
@@ -461,31 +461,27 @@ case $ARCH in
        fi
        ;;
 
-    'AIX' | 'AIX64')
-       if [ $ARCH = "AIX64" ] ; then
+    'AIX' )
+       # examine first object to determine ABI
+       set ${OBJECTS}
+       ABI_64=`file $1 | grep '64-bit'`
+       if [ "${ABI_64}" ] ; then
            X64="-X64"
+           Q64="-q64"
+           OFILE=shr_64.o
+       else
+           OFILE=shr.o  #Want to be consistent with the IBM libGL.a
        fi
 
-        if [ $STATIC = 1 ] ; then
-            LIBNAME="lib${LIBNAME}.a"
-            echo "mklib: Making AIX static library: " ${LIBNAME}
-            ar -ruv ${X64} ${LIBNAME} ${OBJECTS}
-            FINAL_LIBS=${LIBNAME}
-        else
-           # We make both .a (normal shared lib) and .so (which can be
-           # loaded with dlopen).
+       if [ $STATIC = 1 ] ; then
+           LIBNAME="lib${LIBNAME}.a"
+           echo "mklib: Making AIX static library: " ${LIBNAME}
+           ar -ruv ${X64} ${LIBNAME} ${OBJECTS}
+           FINAL_LIBS=${LIBNAME}
+       else
            EXPFILE="lib${LIBNAME}.exp"
-           if [ $ARCH = "AIX64" ] ; then
-               OFILE=shr_64.o
-           else
-               OFILE=shr.o  #Want to be consistent with the IBM libGL.a
-           fi
            LIBNAME="lib${LIBNAME}.a"  # shared objects are still stored in the .a libraries
-           if [ $ARCH = "AIX64" ] ; then
-               OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry -q64"
-           else
-               OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry"
-           fi
+           OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry ${Q64}"
            rm -f ${EXPFILE} ${OFILE}
            NM="/bin/nm -eC ${X64}"
            echo "#! /usr/lib/${LIBNAME}" > ${EXPFILE}
@@ -571,12 +567,12 @@ case $ARCH in
 
            # examine first object to determine ABI
            set ${OBJECTS}
-           ABI_PPC=`file $1 | grep 'object ppct'`
+           ABI_PPC=`file $1 | grep 'object ppc'`
            ABI_I386=`file $1 | grep 'object i386'`
-           if [ ${ABI_PPC} ] ; then
+           if [ "${ABI_PPC}" ] ; then
                OPTS="${OPTS} -arch ppc"
            fi
-           if [ ${ABI_I386} ] ; then
+           if [ "${ABI_I386}" ] ; then
                OPTS="${OPTS} -arch i386"
            fi