allow custom wolfSSL install path to be used with java.sh and build.xml

pull/23/head
Chris Conlon 2019-04-24 15:30:57 -07:00
parent f8308a4a27
commit 1512256bd5
2 changed files with 22 additions and 7 deletions

View File

@ -164,8 +164,8 @@
<formatter type="xml"/>
<sysproperty key="sun.boot.library.path" value="$JAVA_HOME/bin:${lib.dir}" />
<env key="LD_LIBRARY_PATH" path="$LD_LIBRARY_PATH:{lib.dir}:/usr/local/lib" />
<env key="CLASSPATH" path="$LD_LIBRARY_PATH:${env.JUNIT_HOME}/${junit4}" />
<env key="LD_LIBRARY_PATH" path="${env.LD_LIBRARY_PATH}:{lib.dir}:/usr/local/lib" />
<env key="CLASSPATH" path="${env.LD_LIBRARY_PATH}:${env.JUNIT_HOME}/${junit4}" />
<batchtest fork="yes" todir="${reports.dir}">
<fileset dir="${test.dir}">
@ -193,8 +193,8 @@
<formatter type="xml"/>
<sysproperty key="sun.boot.library.path" value="$JAVA_HOME/bin:${lib.dir}" />
<env key="LD_LIBRARY_PATH" path="$LD_LIBRARY_PATH:{lib.dir}:/usr/local/lib" />
<env key="CLASSPATH" path="$LD_LIBRARY_PATH:${env.JUNIT_HOME}/${junit4}" />
<env key="LD_LIBRARY_PATH" path="${env.LD_LIBRARY_PATH}:{lib.dir}:/usr/local/lib" />
<env key="CLASSPATH" path="${env.LD_LIBRARY_PATH}:${env.JUNIT_HOME}/${junit4}" />
<batchtest fork="yes" todir="${reports.dir}">
<fileset dir="${test.dir}">

21
java.sh
View File

@ -3,21 +3,35 @@
OS=`uname`
ARCH=`uname -m`
if [ -z "$1" ]; then
# default install location is /usr/local
WOLFSSL_INSTALL_DIR="/usr/local"
else
# use custom wolfSSL install location
# should match directory set at wolfSSL ./configure --prefix=<DIR>
WOLFSSL_INSTALL_DIR=$1
fi
echo "Compiling Native JNI library:"
echo " WOLFSSL_INSTALL_DIR = $WOLFSSL_INSTALL_DIR"
# set up Java include and library paths for OS X and Linux
# NOTE: you may need to modify these if your platform uses different locations
if [ "$OS" == "Darwin" ] ; then
echo " Detected Darwin/OSX host OS"
javaHome=`/usr/libexec/java_home`
javaIncludes="-I$javaHome/include -I$javaHome/include/darwin"
javaIncludes="-I$javaHome/include -I$javaHome/include/darwin -I$WOLFSSL_INSTALL_DIR/include"
javaLibs="-dynamiclib -framework JavaVM"
jniLibName="libwolfssljni.jnilib"
cflags="-DHAVE_ECC"
elif [ "$OS" == "Linux" ] ; then
echo " Detected Linux host OS"
javaHome=`echo $(dirname $(dirname $(readlink -f $(which java))))`
if [ ! -d "$javaHome/include" ]
then
javaHome=`echo $(dirname $javaHome)`
fi
javaIncludes="-I$javaHome/include -I$javaHome/include/linux"
javaIncludes="-I$javaHome/include -I$javaHome/include/linux -I$WOLFSSL_INSTALL_DIR/include"
javaLibs="-shared"
jniLibName="libwolfssljni.so"
cflags="-DHAVE_ECC -DUSE_FAST_MATH"
@ -45,5 +59,6 @@ gcc -Wall -c $fpic $cflags ./native/com_wolfssl_wolfcrypt_ECC.c -o ./native/com_
gcc -Wall -c $fpic $cflags ./native/com_wolfssl_wolfcrypt_EccKey.c -o ./native/com_wolfssl_wolfcrypt_EccKey.o $javaIncludes
gcc -Wall -c $fpic $cflags ./native/com_wolfssl_WolfSSLCertManager.c -o ./native/com_wolfssl_WolfSSLCertManager.o $javaIncludes
gcc -Wall -c $fpic $cflags ./native/com_wolfssl_WolfSSLCertificate.c -o ./native/com_wolfssl_WolfSSLCertificate.o $javaIncludes
gcc -Wall $javaLibs $cflags -o ./lib/$jniLibName ./native/com_wolfssl_WolfSSL.o ./native/com_wolfssl_WolfSSLSession.o ./native/com_wolfssl_WolfSSLContext.o ./native/com_wolfssl_wolfcrypt_RSA.o ./native/com_wolfssl_wolfcrypt_ECC.o ./native/com_wolfssl_wolfcrypt_EccKey.o ./native/com_wolfssl_WolfSSLCertManager.o ./native/com_wolfssl_WolfSSLCertificate.o -L$LD_LIBRARY_PATH -lwolfssl
gcc -Wall $javaLibs $cflags -o ./lib/$jniLibName ./native/com_wolfssl_WolfSSL.o ./native/com_wolfssl_WolfSSLSession.o ./native/com_wolfssl_WolfSSLContext.o ./native/com_wolfssl_wolfcrypt_RSA.o ./native/com_wolfssl_wolfcrypt_ECC.o ./native/com_wolfssl_wolfcrypt_EccKey.o ./native/com_wolfssl_WolfSSLCertManager.o ./native/com_wolfssl_WolfSSLCertificate.o -L$WOLFSSL_INSTALL_DIR/lib -lwolfssl
echo " Generated ./lib/$jniLibName"