summaryrefslogtreecommitdiff
path: root/ipl/cfuncs/mklib.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ipl/cfuncs/mklib.sh')
-rwxr-xr-xipl/cfuncs/mklib.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/ipl/cfuncs/mklib.sh b/ipl/cfuncs/mklib.sh
new file mode 100755
index 0000000..533af0b
--- /dev/null
+++ b/ipl/cfuncs/mklib.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# mklib libname.so obj.o ...
+
+CC=${CC-cc}
+
+LIBNAME=${1?"usage: $0 libname obj..."}
+shift
+
+SYS=`uname -s`
+set -x
+case "$SYS" in
+ Linux*|*BSD*|GNU*)
+ gcc -shared -o $LIBNAME -fPIC "$@";;
+ Darwin*)
+ cc -bundle -undefined suppress -flat_namespace -o $LIBNAME "$@";;
+ SunOS*)
+ $CC $CFLAGS -G -o $LIBNAME "$@" -lc -lsocket;;
+ HP-UX*)
+ ld -b -o $LIBNAME "$@";;
+ IRIX*)
+ ld -shared -o $LIBNAME "$@";;
+ OSF*)
+ ld -shared -expect_unresolved '*' -o $LIBNAME "$@" -lc;;
+ AIX*)
+ # this may not be quite right; it doesn't seem to work yet...
+ ld -bM:SRE -berok -bexpall -bnoentry -bnox -bnogc -brtl -o $LIBNAME "$@";;
+ *)
+ set -
+ echo 1>&2 "don't know how to make libraries under $SYS"
+ exit 1;;
+esac