Add (Net|Open)BSD support, clean-ups

This commit is contained in:
kytv
2011-09-19 12:23:43 +00:00
parent d71b71f2b1
commit 6760d2a5f4
3 changed files with 99 additions and 62 deletions

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#FIXME What platforms for MacOS? #FIXME What platforms for MacOS?
MISC_DARWIN_PLATFORMS="" MISC_DARWIN_PLATFORMS="powerpc powerpc64 powerpc64le powerpcle"
# Note: You will have to add the CPU ID for the platform in the CPU ID code # Note: You will have to add the CPU ID for the platform in the CPU ID code
# for a new CPU. Just adding them here won't let I2P use the code! # for a new CPU. Just adding them here won't let I2P use the code!
@@ -14,12 +14,13 @@ MISC_DARWIN_PLATFORMS=""
MISC_LINUX_PLATFORMS="hppa2.0 alphaev56 armv5tel mips64el itanium itanium2 ultrasparc2 ultrasparc2i alphaev6 powerpc970 powerpc7455 powerpc7447" MISC_LINUX_PLATFORMS="hppa2.0 alphaev56 armv5tel mips64el itanium itanium2 ultrasparc2 ultrasparc2i alphaev6 powerpc970 powerpc7455 powerpc7447"
# #
# If you know of other platforms i2p on FREEBSD works on, # If you know of other platforms i2p on *BSD works on,
# please add them here. # please add them here.
# Do NOT add any X86 platforms, do that below in the x86 platform list. # Do NOT add any X86 platforms, do that below in the x86 platform list.
# #
MISC_FREEBSD_PLATFORMS="alphaev56 ultrasparc2i" MISC_FREEBSD_PLATFORMS="alphaev56 ultrasparc2i"
MISC_NETBSD_PLATFORMS="powerpc powerpc64 powerpc64le powerpcle atari amiga m68knommu" MISC_NETBSD_PLATFORMS="powerpc powerpc64 powerpc64le powerpcle atari amiga m68knommu" # and many, many more
MISC_OPENBSD_PLATFORMS=""
# #
# MINGW/Windows?? # MINGW/Windows??
@@ -44,7 +45,10 @@ X86_PLATFORMS="pentium pentiummmx pentium2 pentium3 pentiumm k6 k62 k63 athlon g
MINGW_PLATFORMS="${X86_PLATFORMS} ${MISC_MINGW_PLATFORMS}" MINGW_PLATFORMS="${X86_PLATFORMS} ${MISC_MINGW_PLATFORMS}"
LINUX_PLATFORMS="${X86_PLATFORMS} ${MISC_LINUX_PLATFORMS}" LINUX_PLATFORMS="${X86_PLATFORMS} ${MISC_LINUX_PLATFORMS}"
FREEBSD_PLATFORMS="${X86_PLATFORMS} ${MISC_FREEBSD_PLATFORMS}" FREEBSD_PLATFORMS="${X86_PLATFORMS} ${MISC_FREEBSD_PLATFORMS}"
NETBSD_PLATFORMS="${FREEBSD_PLATFORMS} ${LINUX_PLATFORMS} ${MISC_NETBSD_PLATFORMS}" # As they say, "Of course it runs NetBSD!"
NETBSD_PLATFORMS="${FREEBSD_PLATFORMS} ${MISC_LINUX_PLATFORMS} ${MISC_NETBSD_PLATFORMS}"
# FIXME Is this all?
DARWIN_PLATFORMS="core2 corei" DARWIN_PLATFORMS="core2 corei"
# Set the version to 5.0.2 for OSX because # Set the version to 5.0.2 for OSX because
@@ -99,18 +103,40 @@ Linux*)
PLATFORM_LIST="${LINUX_PLATFORMS}";; PLATFORM_LIST="${LINUX_PLATFORMS}";;
esac esac
echo "Building ${TARGET} .so's for ${arch}";; echo "Building ${TARGET} .so's for ${arch}";;
NetBSD*) NetBSD*|FreeBSD*|OpenBSD*)
PLATFORM_LIST="${NETBSD_PLATFORMS}"
NAME="libjbigi" NAME="libjbigi"
TYPE="so" TYPE="so"
TARGET="-netbsd-" PLATFORM_LIST=""
echo "Building netbsd .sos for all architectures";; BSDTYPE="`uname -s | tr [A-Z] [a-z]`"
FreeBSD*) arch=$(uname -m | cut -f1 -d" ")
PLATFORM_LIST="${FREEBSD_PLATFORMS}" case ${arch} in
NAME="libjbigi" i[3-6]86)
TYPE="so" arch="x86";;
TARGET="-freebsd-" esac
echo "Building freebsd .sos for all architectures";; case ${arch} in
x86_64)
PLATFORM_LIST="${X86_64_PLATFORMS}"
TARGET="-${BSDTYPE}-X86_64-";;
ia64)
PLATFORM_LIST="${X86_64_PLATFORMS}"
TARGET="-${BSDTYPE}-ia64-";;
x86)
PLATFORM_LIST="${X86_PLATFORMS}"
TARGET="-${BSDTYPE}-x86-";;
*)
case ${BSDTYPE} in
netbsd)
PLATFORM_LIST="${NETBSD_PLATFORMS}";;
openbsd)
PLATFORM_LIST="${OPENBSD_PLATFORMS}";;
freebsd)
PLATFORM_LIST="${FREEBSD_PLATFORMS}";;
*)
echo "Unsupported build environment"
exit 1;;
esac
esac
echo "Building ${BSDTYPE} .so's for ${arch}";;
*) *)
echo "Unsupported build environment" echo "Unsupported build environment"
exit;; exit;;

View File

@@ -23,17 +23,36 @@ Darwin*)
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include" INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include"
LINKFLAGS="-dynamiclib -framework JavaVM" LINKFLAGS="-dynamiclib -framework JavaVM"
LIBFILE="libjbigi.jnilib";; LIBFILE="libjbigi.jnilib";;
SunOS*) SunOS*|OpenBSD*|NetBSD*|FreeBSD*|Linux*)
UNIXTYPE="`uname -s | tr [A-Z] [a-z]`"
if [ $UNIXTYPE = "sunos" ]; then
UNIXTYPE="solaris"
elif [ $UNIXTYPE = "freebsd" ]; then
if [ -d /usr/local/openjdk6 ]; then
JAVA_HOME="/usr/local/openjdk6"
elif [ -d /usr/local/openjdk7 ]; then
JAVA_HOME="/usr/local/openjdk7"
fi
elif [ $UNIXTYPE = "openbsd" ]; then
if [ -d /usr/local/jdk-1.7.0 ]; then
JAVA_HOME="/usr/local/jdk-1.7.0"
fi
elif [ $UNIXTYPE = "netbsd" ]; then
if [ -d /usr/pkg/java/openjdk7 ]; then
JAVA_HOME="/usr/pkg/java/openjdk7"
fi
elif [ $UNIXTYPE = "linux" -a -e /etc/debian_version ]; then
if [ -d /usr/lib/jvm/default-java ]; then
JAVA_HOME="/usr/lib/jvm/default-java"
fi
fi
COMPILEFLAGS="-fPIC -Wall" COMPILEFLAGS="-fPIC -Wall"
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/solaris" INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/${UNIXTYPE}"
LINKFLAGS="-shared -Wl,-soname,libjbigi.so" LINKFLAGS="-shared -Wl,-soname,libjbigi.so"
LIBFILE="libjbigi.so";; LIBFILE="libjbigi.so";;
*) *)
COMPILEFLAGS="-fPIC -Wall" echo "Unsupported system type."
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/linux" exit 1;;
LINKFLAGS="-shared -Wl,-soname,libjbigi.so"
LIBFILE="libjbigi.so";;
esac esac
if [ "$1" = "dynamic" ] ; then if [ "$1" = "dynamic" ] ; then

View File

@@ -7,10 +7,8 @@ CYGWIN*)
echo "Building windows .dlls";; echo "Building windows .dlls";;
Linux*) Linux*)
echo "Building linux .sos";; echo "Building linux .sos";;
NetBSD*) NetBSD*|OpenBSD*|FreeBSD*)
echo "Building netbsd .sos";; echo "Building `uname -s |tr [A-Z] [a-z]` .sos";;
FreeBSD*)
echo "Building freebsd .sos";;
Darwin*) Darwin*)
echo "Building OSX jnilibs";; echo "Building OSX jnilibs";;
*) *)
@@ -39,51 +37,45 @@ Darwin*)
INCLUDES="-I. -Iinclude -I$JAVA_HOME/include/" INCLUDES="-I. -Iinclude -I$JAVA_HOME/include/"
LINKFLAGS="-dynamiclib -framework JavaVM" LINKFLAGS="-dynamiclib -framework JavaVM"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-darwin.jnilib";; LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-darwin.jnilib";;
NetBSD*) Linux*|OpenBSD*|NetBSD*|FreeBSD*|SunOS*)
case `uname -m` in UNIXTYPE="`uname -s | tr [A-Z] [a-z]`"
amd64) if [ $UNIXTYPE = "sunos" ]; then
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86_64-netbsd.so" UNIXTYPE="solaris"
LIBFILE="lib/netnet/support/CPUInformation/libjcpuid-x86_64-netbsd.so";; elif [ $UNIXTYPE = "freebsd" ]; then
i?86*) if [ -d /usr/local/openjdk6 ]; then
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-netbsd.so" JAVA_HOME="/usr/local/openjdk6"
LIBFILE="lib/netnet/support/CPUInformation/libjcpuid-x86-netbsd.so";; elif [ -d /usr/local/openjdk7 ]; then
*) JAVA_HOME="/usr/local/openjdk7"
echo "Unknown build environment" fi
exit;; elif [ $UNIXTYPE = "openbsd" ]; then
esac if [ -d /usr/local/jdk-1.7.0 ]; then
COMPILEFLAGS="-fPIC -Wall" JAVA_HOME="/usr/local/jdk-1.7.0"
INCLUDES="-I. -Iinclude -I$JAVA_HOME/include/ -I$JAVA_HOME/include/netbsd/";; fi
FreeBSD*) elif [ $UNIXTYPE = "netbsd" ]; then
case `uname -m` in if [ -d /usr/pkg/java/openjdk7 ]; then
amd64) JAVA_HOME="/usr/pkg/java/openjdk7"
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86_64-freebsd.so" fi
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86_64-freebsd.so";; elif [ $UNIXTYPE = "linux" -a -e /etc/debian_version ]; then
i?86*) if [ -d /usr/lib/jvm/default-java ]; then
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-freebsd.so" JAVA_HOME="/usr/lib/jvm/default-java"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-freebsd.so";; fi
*) fi
echo "Unknown build environment"
exit;;
esac
COMPILEFLAGS="-fPIC -Wall"
INCLUDES="-I. -Iinclude -I$JAVA_HOME/include/ -I$JAVA_HOME/include/freebsd/";;
Linux*)
case `uname -m` in case `uname -m` in
x86_64*) x86_64*)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86_64-linux.so" LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86_64-${UNIXTYPE}.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86_64-linux.so";; LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86_64-${UNIXTYPE}.so";;
ia64*) ia64*)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-linux.so" LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-${UNIXTYPE}.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-ia64-linux.so";; LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-ia64-${UNIXTYPE}.so";;
i?86*) i?86*)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-linux.so" LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-${UNIXTYPE}.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-linux.so";; LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-${UNIXTYPE}.so";;
*) *)
echo "Unsupported build environment" echo "Unsupported build environment"
exit;; exit;;
esac esac
COMPILEFLAGS="-fPIC -Wall" COMPILEFLAGS="-fPIC -Wall"
INCLUDES="-I. -Iinclude -I$JAVA_HOME/include -I$JAVA_HOME/include/linux";; INCLUDES="-I. -Iinclude -I$JAVA_HOME/include -I$JAVA_HOME/include/${UNIXTYPE}";;
esac esac