r11056: 28 Aug 2006 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / uffi / make.sh
index 3b792ce781cbd9ba0ae388ff994cd531f08e6916..746a86268e7d62cbaf32343cc590243a90a6042e 100644 (file)
@@ -2,7 +2,10 @@
 
 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 ;;
@@ -10,9 +13,9 @@ case "`uname`" in
        exit 1 ;;       
 esac
     
-if [ "$os_linux" -o "$os_freebsd" ]; then
+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
+    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