merge of '4f9e4125cd99ad55d386c416b659389a6a85a901'

and 'e68b93db0d4031a11910fd17c01edee5d6cd4a96'
This commit is contained in:
zzz
2011-09-20 12:40:18 +00:00
5 changed files with 146 additions and 82 deletions

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash
#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
# 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"
#
# 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.
# Do NOT add any X86 platforms, do that below in the x86 platform list.
#
MISC_FREEBSD_PLATFORMS="alphaev56 ultrasparc2i"
MISC_NETBSD_PLATFORMS="powerpc powerpc64 powerpc64le powerpcle atari amiga m68knommu"
MISC_NETBSD_PLATFORMS="armv5tel mips64el ultrasparc2i sgi hppa2.0 alphaev56 powerpc powerpc64 powerpc64le powerpcle atari amiga m68knommu" # and many, many more
MISC_OPENBSD_PLATFORMS="alphaev56 ultrasparc2i sgi powerpc powerpc64 hppa2.0 alphaev56 armv5tel mips64el"
#
# MINGW/Windows??
@@ -44,7 +45,11 @@ X86_PLATFORMS="pentium pentiummmx pentium2 pentium3 pentiumm k6 k62 k63 athlon g
MINGW_PLATFORMS="${X86_PLATFORMS} ${MISC_MINGW_PLATFORMS}"
LINUX_PLATFORMS="${X86_PLATFORMS} ${MISC_LINUX_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}"
OPENBSD_PLATFORM="${X86_PLATFORMS} ${MISC_OPENBSD_PLATFORMS}"
# FIXME Is this all?
DARWIN_PLATFORMS="core2 corei"
# Set the version to 5.0.2 for OSX because
@@ -86,7 +91,7 @@ Linux*)
arch="x86";;
esac
case ${arch} in
x86_64)
x86_64 | amd64)
PLATFORM_LIST="${X86_64_PLATFORMS}"
TARGET="-linux-X86_64-";;
ia64)
@@ -99,18 +104,40 @@ Linux*)
PLATFORM_LIST="${LINUX_PLATFORMS}";;
esac
echo "Building ${TARGET} .so's for ${arch}";;
NetBSD*)
PLATFORM_LIST="${NETBSD_PLATFORMS}"
NetBSD*|FreeBSD*|OpenBSD*)
NAME="libjbigi"
TYPE="so"
TARGET="-netbsd-"
echo "Building netbsd .sos for all architectures";;
FreeBSD*)
PLATFORM_LIST="${FREEBSD_PLATFORMS}"
NAME="libjbigi"
TYPE="so"
TARGET="-freebsd-"
echo "Building freebsd .sos for all architectures";;
PLATFORM_LIST=""
BSDTYPE="`uname -s | tr [A-Z] [a-z]`"
arch=$(uname -m | cut -f1 -d" ")
case ${arch} in
i[3-6]86)
arch="x86";;
esac
case ${arch} in
x86_64|amd64)
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"
exit;;

View File

@@ -23,17 +23,36 @@ Darwin*)
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include"
LINKFLAGS="-dynamiclib -framework JavaVM"
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"
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"
LIBFILE="libjbigi.so";;
*)
COMPILEFLAGS="-fPIC -Wall"
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
LINKFLAGS="-shared -Wl,-soname,libjbigi.so"
LIBFILE="libjbigi.so";;
echo "Unsupported system type."
exit 1;;
esac
if [ "$1" = "dynamic" ] ; then

View File

@@ -7,10 +7,8 @@ CYGWIN*)
echo "Building windows .dlls";;
Linux*)
echo "Building linux .sos";;
NetBSD*)
echo "Building netbsd .sos";;
FreeBSD*)
echo "Building freebsd .sos";;
NetBSD*|OpenBSD*|FreeBSD*)
echo "Building `uname -s |tr [A-Z] [a-z]` .sos";;
Darwin*)
echo "Building OSX jnilibs";;
*)
@@ -39,51 +37,45 @@ Darwin*)
INCLUDES="-I. -Iinclude -I$JAVA_HOME/include/"
LINKFLAGS="-dynamiclib -framework JavaVM"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-darwin.jnilib";;
NetBSD*)
Linux*|OpenBSD*|NetBSD*|FreeBSD*|SunOS*)
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
case `uname -m` in
amd64)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86_64-netbsd.so"
LIBFILE="lib/netnet/support/CPUInformation/libjcpuid-x86_64-netbsd.so";;
i?86*)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-netbsd.so"
LIBFILE="lib/netnet/support/CPUInformation/libjcpuid-x86-netbsd.so";;
*)
echo "Unknown build environment"
exit;;
esac
COMPILEFLAGS="-fPIC -Wall"
INCLUDES="-I. -Iinclude -I$JAVA_HOME/include/ -I$JAVA_HOME/include/netbsd/";;
FreeBSD*)
case `uname -m` in
amd64)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86_64-freebsd.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86_64-freebsd.so";;
i?86*)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-freebsd.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-freebsd.so";;
*)
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
x86_64*)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86_64-linux.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86_64-linux.so";;
x86_64*|amd64)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86_64-${UNIXTYPE}.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86_64-${UNIXTYPE}.so";;
ia64*)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-linux.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-ia64-linux.so";;
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-${UNIXTYPE}.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-ia64-${UNIXTYPE}.so";;
i?86*)
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-linux.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-linux.so";;
LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-${UNIXTYPE}.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-${UNIXTYPE}.so";;
*)
echo "Unsupported build environment"
exit;;
esac
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

View File

@@ -21,6 +21,8 @@
# redhat = Red Hat
# solaris = Solaris
# suse = SuSE
# openbsd = OpenBSD
# netbsd = NetBSD
# unknown = OS could not be determined
HOST_OS=`uname -a`
@@ -36,6 +38,8 @@ FREEBSD=`echo "$HOST_OS" | grep FreeBSD`
LINUX=`echo "$HOST_OS" | grep Linux`
SOLARIS=`echo "$HOST_OS" | grep Solaris`
SUNOS=`echo "$HOST_OS" | grep SunOS`
NETBSD=`echo "$HOST_OS" |grep NetBSD`
OPENBSD=`echo "$HOST_OS" |grep OpenBSD`
if [ ! "X$DARWIN" = "X" -o ! "X$MAC" = "X" ]; then
echo osx
@@ -47,6 +51,16 @@ if [ ! "X$FREEBSD" = "X" ]; then
exit 0
fi
if [ ! "X$NETBSD" = "X" ]; then
echo netbsd
exit 0
fi
if [ ! "X$OPENBSD" = "X" ]; then
echo openbsd
exit 0
fi
if [ ! "X$LINUX" = "X" ]; then
LINUX_DISTRO=`cat /proc/version`

View File

@@ -79,6 +79,16 @@ case $HOST_OS in
wrapperpath="./lib/wrapper/solaris"
cp ${wrapperpath}/libwrapper.so ./lib/
;;
netbsd|openbsd )
# FIXME
# This isn't displayed when installing, but if we fall back to the "*)"
# choice, no cleanup happens and users are advised to copy the wrapper
# in place...but there is no wrapper. Figuring how how to display this,
# such as when doing a headless installation would be good.
echo "The java wrapper is not supported on this platform."
echo "Please use `pwd`/runplain.sh to start I2P."
# But at least the cleanup below will happen.
;;
* )
echo "${ERROR_MSG}"
echo "Host OS is $HOST_OS" >> $LOGFILE
@@ -88,9 +98,12 @@ case $HOST_OS in
;;
esac
cp $wrapperpath/i2psvc .
if [ ! "X$wrapperpath" = "x" ]; then
cp $wrapperpath/i2psvc .
chmod 755 ./i2psvc
fi
chmod 755 ./eepget
chmod 755 ./i2psvc
rm -rf ./icons
rm -rf ./lib/wrapper
rm -f ./lib/*.dll
@@ -109,4 +122,3 @@ fi
rm -f ./osid
rm -f ./postinstall.sh
exit 0