X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=uffi%2Fmake.sh;h=746a86268e7d62cbaf32343cc590243a90a6042e;hp=f239372de3b8d292d33c5eb933042be5b637de16;hb=7a4e06f13e1668c9dbf0ce7f288c6d9347a34b81;hpb=b31836193ceb646fa6e4fd7761dff378a9c67385 diff --git a/uffi/make.sh b/uffi/make.sh index f239372..746a862 100644 --- a/uffi/make.sh +++ b/uffi/make.sh @@ -1,26 +1,33 @@ #!/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 ;; + GNU) os_linux=1 ;; + FreeBSD) os_freebsd=1 ;; + NetBSD) os_netbsd=1 ;; + GNU/kFreeBSD) os_gnukfreebsd=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" -o "$os_gnukfreebsd" -o "$os_netbsd" ]; 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