X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fliblustre%2Fgenlib.sh;h=0694d624ffee664106a2e740f8cf43aa3e77d516;hb=4b02a71242504c1aa51fa5bca87721031bf670ae;hp=dcc0009b8d94ed3e1e7572c1717d257f499904e0;hpb=b1cb51def2979b735d91b56ca8d0f861684d481c;p=fs%2Flustre-release.git diff --git a/lustre/liblustre/genlib.sh b/lustre/liblustre/genlib.sh index dcc0009..0694d62 100755 --- a/lustre/liblustre/genlib.sh +++ b/lustre/liblustre/genlib.sh @@ -11,10 +11,13 @@ set -e # FIXME: How to do this cleanly use makefile? # -AR=/usr/bin/ar # see http://osdir.com/ml/gmane.comp.gnu.binutils.bugs/2006-01/msg00016.php -LD=gcc -RANLIB=/usr/bin/ranlib +ppc64_CPU=`uname -p` +if [ "x${ppc64_CPU}" = "xppc64" ]; then + LD="$CC -m64" +else + LD=$CC +fi CWD=`pwd` @@ -22,8 +25,8 @@ SYSIO=$1 LIBS=$2 LND_LIBS=$3 PTHREAD_LIBS=$4 -QUOTA_LIBS=$5 -CAP_LIBS=$6 +CAP_LIBS=$5 +ZLIB=$6 if [ ! -f $SYSIO/lib/libsysio.a ]; then echo "ERROR: $SYSIO/lib/libsysio.a dosen't exist" @@ -74,19 +77,13 @@ build_obj_list ../lvfs liblvfs.a # lnet components libs build_obj_list ../../lnet/utils libuptlctl.a -build_obj_list ../../lnet/libcfs libcfs.a +build_obj_list ../../libcfs/libcfs libcfs.a +build_obj_list ../../libcfs/libcfs libcfsutil.a if $(echo "$LND_LIBS" | grep "socklnd" >/dev/null) ; then build_obj_list ../../lnet/ulnds/socklnd libsocklnd.a fi -if $(echo "$LND_LIBS" | grep "ptllnd" >/dev/null) ; then - build_obj_list ../../lnet/ulnds/ptllnd libptllnd.a -fi build_obj_list ../../lnet/lnet liblnet.a -if [ "x$QUOTA_LIBS" != "x" ]; then - build_obj_list ../quota libquota.a -fi - # create static lib lsupport rm -f $CWD/liblsupport.a $AR -cru $CWD/liblsupport.a $ALL_OBJS @@ -94,7 +91,7 @@ $RANLIB $CWD/liblsupport.a # if libsysio is already in our LIBS we don't need to link against it here if $(echo "$LIBS" | grep -v -- "-lsysio" >/dev/null) ; then - build_sysio_obj_list $SYSIO/lib/libsysio.a + build_sysio_obj_list $SYSIO/lib/libsysio.a fi # create static lib lustre @@ -106,9 +103,14 @@ $RANLIB $CWD/liblustre.a rm -f $CWD/liblustre.so OS=`uname` if test x$OS = xAIX; then -$LD -shared -o $CWD/liblustre.so $ALL_OBJS -lpthread -Xlinker -bnoipath ../../libsyscall.so + $LD $LDFLAGS -shared -o $CWD/liblustre.so $ALL_OBJS -lpthread -Xlinker -bnoipath ../../libsyscall.so else -$LD -shared -nostdlib -o $CWD/liblustre.so $ALL_OBJS $CAP_LIBS $PTHREAD_LIBS +# using -nostdlib on Ubuntu causes errors such as: +#./llite_lib.o: In function `liblustre_process_log': +#/home/brian/rpm/BUILD/lustre-1.8.2.50/lustre/liblustre/llite_lib.c:234: undefined reference to `__stack_chk_fail_local' +# due to the use of SSP +#$LD -shared -nostdlib -o $CWD/liblustre.so $ALL_OBJS $CAP_LIBS $PTHREAD_LIBS $ZLIB + $LD $LDFLAGS -shared -o $CWD/liblustre.so $ALL_OBJS $CAP_LIBS $PTHREAD_LIBS $ZLIB fi rm -rf $sysio_tmp