X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=uffi%2Fmake.sh;h=03e7478138b9ae12e37131e6894314cf6155fd4a;hb=ecd05e5b70c793cce2ce44f3bb4d4a7ecbc05153;hp=f239372de3b8d292d33c5eb933042be5b637de16;hpb=b31836193ceb646fa6e4fd7761dff378a9c67385;p=clsql.git diff --git a/uffi/make.sh b/uffi/make.sh index f239372..03e7478 100644 --- a/uffi/make.sh +++ b/uffi/make.sh @@ -1,26 +1,30 @@ #!/bin/sh -UNAME=`uname -a` -LINUX=`expr "$UNAME" : '.*Linux.*'` -DARWIN=`expr "$UNAME" : '.*Darwin.*'` -SOLARIS=`expr "$UNAME" : '.*sun4u.*'` -AIX=`expr "$UNAME" : '.*aix.*'` - - -if [ $LINUX -ne 0 ]; then +case "`uname`" in + Linux) os_linux=1 ;; + FreeBSD) os_freebsd=1 ;; + Darwin) os_darwin=1 ;; + SunOS) os_sunos=1 ;; + AIX) os_aix=1 ;; + *) echo "Unable to identify uname " `uname` + exit 1 ;; +esac + +if [ "$os_linux" -o "$os_freebsd" ]; then gcc -fPIC -DPIC -c $SOURCE -o $OBJECT - gcc -shared $OBJECT -o $SHARED_LIB - #gcc -shared -Wl,-soname,uffi-c-test-lib $OBJECT -o $SHARED_LIB -elif [ $DARWIN -ne 0 ]; then + ld -shared -soname=$BASE $LDFLAGS $OBJECT -o $SHARED_LIB +elif [ "$os_darwin" ]; then cc -dynamic -c $SOURCE -o $OBJECT ld -bundle /usr/lib/bundle1.o -flat_namespace -undefined suppress -o $BASE.dylib $OBJECT ld -bundle /usr/lib/bundle1.o -flat_namespace -undefined suppress /usr/lib/libz.dylib -o z.dylib -elif [ $SOLARIS -ne 0 ]; then + +elif [ "$os_sunos" ]; then cc -KPIC -c $SOURCE -o $OBJECT cc -G $OBJECT -o $SHARED_LIB -elif [ $AIX -ne 0 ]; then + +elif [ "$os_aix" ]; then gcc -c -D_BSD -D_NO_PROTO -D_NONSTD_TYPES -D_MBI=void $SOURCE make_shared -o $SHARED_LIB $OBJECT fi - +exit 0