r10969: 04 Jul 2006 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / uffi / make.sh
1 #!/bin/sh
2
3 case "`uname`" in
4     Linux) os_linux=1 ;;
5     GNU) os_linux=1 ;;
6     FreeBSD) os_freebsd=1 ;;
7     NetBSD) os_netbsd=1 ;;
8     GNU/kFreeBSD) os_gnukfreebsd=1;;
9     Darwin) os_darwin=1 ;;
10     SunOS) os_sunos=1 ;;
11     AIX) os_aix=1 ;;
12     *) echo "Unable to identify uname " `uname`
13        exit 1 ;;        
14 esac
15     
16 if [ "$os_linux" -o "$os_freebsd" -o "$os_gnukfreebsd" -o "$os_netbsd" ]; then
17     gcc -fPIC -DPIC -c $SOURCE -o $OBJECT
18     ld -shared -soname=$BASE $LDFLAGS $OBJECT -o $SHARED_LIB
19 elif [ "$os_darwin" ]; then
20     cc -dynamic -c $SOURCE -o $OBJECT
21     ld -bundle /usr/lib/bundle1.o -flat_namespace -undefined suppress -o $BASE.dylib $OBJECT
22     ld -bundle /usr/lib/bundle1.o -flat_namespace -undefined suppress /usr/lib/libz.dylib -o z.dylib
23
24 elif [ "$os_sunos" ]; then
25     cc -KPIC -c $SOURCE -o $OBJECT
26     cc -G $OBJECT -o $SHARED_LIB
27
28 elif [ "$os_aix" ]; then
29     gcc -c -D_BSD -D_NO_PROTO -D_NONSTD_TYPES -D_MBI=void $SOURCE
30     make_shared -o $SHARED_LIB $OBJECT
31 fi
32
33 exit 0