2004-08-21 07:56:53 +00:00
|
|
|
#!/bin/sh
|
2012-01-08 23:23:00 +00:00
|
|
|
# When executed in Mingw: Produces a jbigi.dll
|
|
|
|
# When executed in Linux/FreeBSD: Produces a libjbigi.so
|
|
|
|
# When executed in OSX: Produces a libjbigi.jnilib
|
2013-05-12 00:08:52 +00:00
|
|
|
[ -z "$CC" ] && CC="gcc"
|
2004-08-21 07:56:53 +00:00
|
|
|
|
2012-01-08 23:23:00 +00:00
|
|
|
# If JAVA_HOME isn't set we'll try to figure it out
|
2012-05-28 16:56:08 +00:00
|
|
|
[ -z $JAVA_HOME ] && . ../find-java-home
|
2012-01-08 23:23:00 +00:00
|
|
|
if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
|
|
|
|
echo "Cannot find jni.h! Looked in '$JAVA_HOME/include/jni.h'"
|
|
|
|
echo "Please set JAVA_HOME to a java home that has the JNI"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
case `uname -s` in
|
2004-08-21 07:56:53 +00:00
|
|
|
MINGW*)
|
2012-01-08 23:23:00 +00:00
|
|
|
JAVA_HOME="c:/software/j2sdk1.4.2_05"
|
|
|
|
COMPILEFLAGS="-Wall"
|
|
|
|
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include/win32/ -I$JAVA_HOME/include/"
|
|
|
|
LINKFLAGS="-shared -Wl,--kill-at"
|
|
|
|
LIBFILE="jbigi.dll";;
|
2004-08-21 07:56:53 +00:00
|
|
|
CYGWIN*)
|
2012-01-08 23:23:00 +00:00
|
|
|
JAVA_HOME="c:/software/j2sdk1.4.2_05"
|
|
|
|
COMPILEFLAGS="-Wall -mno-cygwin"
|
|
|
|
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include/win32/ -I$JAVA_HOME/include/"
|
|
|
|
LINKFLAGS="-shared -Wl,--kill-at"
|
|
|
|
LIBFILE="jbigi.dll";;
|
2005-01-22 01:53:02 +00:00
|
|
|
Darwin*)
|
2012-01-08 23:23:00 +00:00
|
|
|
JAVA_HOME=$(/usr/libexec/java_home)
|
|
|
|
COMPILEFLAGS="-fPIC -Wall"
|
2005-01-22 01:53:02 +00:00
|
|
|
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include"
|
|
|
|
LINKFLAGS="-dynamiclib -framework JavaVM"
|
|
|
|
LIBFILE="libjbigi.jnilib";;
|
2012-11-16 21:24:03 +00:00
|
|
|
SunOS*|OpenBSD*|NetBSD*|*FreeBSD*|Linux*)
|
2012-01-08 23:23:00 +00:00
|
|
|
UNIXTYPE=$(uname -s | tr "[A-Z]" "[a-z]")
|
|
|
|
if [ $UNIXTYPE = "sunos" ]; then
|
|
|
|
UNIXTYPE="solaris"
|
2012-11-19 22:41:54 +00:00
|
|
|
elif [ $UNIXTYPE = "gnu/kfreebsd" ]; then
|
|
|
|
UNIXTYPE="linux"
|
2012-01-08 23:23:00 +00:00
|
|
|
fi
|
2013-05-12 00:08:52 +00:00
|
|
|
COMPILEFLAGS="-fPIC -Wall $CFLAGS"
|
2013-09-20 19:39:25 +00:00
|
|
|
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/${UNIXTYPE} -I/usr/local/include"
|
2011-05-31 19:37:29 +00:00
|
|
|
LINKFLAGS="-shared -Wl,-soname,libjbigi.so"
|
|
|
|
LIBFILE="libjbigi.so";;
|
2004-08-21 07:56:53 +00:00
|
|
|
*)
|
2012-01-08 23:23:00 +00:00
|
|
|
echo "Unsupported system type."
|
|
|
|
exit 1;;
|
2004-08-21 07:56:53 +00:00
|
|
|
esac
|
|
|
|
|
2012-01-08 23:23:00 +00:00
|
|
|
if [ "$1" = "dynamic" ] ; then
|
|
|
|
echo "Building a jbigi lib that is dynamically linked to GMP"
|
2013-09-20 19:39:25 +00:00
|
|
|
LIBPATH="-L.libs -L/usr/local/lib"
|
2012-01-08 23:23:00 +00:00
|
|
|
INCLUDELIBS="-lgmp"
|
2004-08-21 07:56:53 +00:00
|
|
|
else
|
2012-01-08 23:23:00 +00:00
|
|
|
echo "Building a jbigi lib that is statically linked to GMP"
|
|
|
|
STATICLIBS=".libs/libgmp.a"
|
2004-08-21 07:56:53 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
echo "Compiling C code..."
|
|
|
|
rm -f jbigi.o $LIBFILE
|
2012-01-08 23:23:00 +00:00
|
|
|
$CC -c $COMPILEFLAGS $INCLUDES ../../jbigi/src/jbigi.c || exit 1
|
2013-09-20 19:39:25 +00:00
|
|
|
$CC $LINKFLAGS $INCLUDES -o $LIBFILE jbigi.o $INCLUDELIBS $STATICLIBS $LIBPATH || exit 1
|
2012-01-08 23:23:00 +00:00
|
|
|
|
|
|
|
exit 0
|