mirror of
https://github.com/OpenVPN/openvpn3.git
synced 2024-09-19 19:52:15 +02:00
Fixes to get Java-based client working on Linux again.
This commit is contained in:
parent
c192716aa4
commit
2b09f0ccc8
@ -35,6 +35,9 @@ public class Client implements OpenVPNClientThread.EventReceiver {
|
||||
// Load OpenVPN core (implements ClientAPI_OpenVPNClient) from shared library
|
||||
static {
|
||||
System.loadLibrary("ovpncli");
|
||||
ClientAPI_OpenVPNClient.init_process();
|
||||
String test = ClientAPI_OpenVPNClient.crypto_self_test();
|
||||
System.out.format("CRYPTO SELF TEST: %s", test);
|
||||
}
|
||||
|
||||
public Client(String config_text, String username, String password) throws ConfigError, CredsUnspecifiedError {
|
||||
|
@ -1,4 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Build OpenVPN 3 core on Linux as a callable module from Java:
|
||||
#
|
||||
# ./build-linux
|
||||
# java -Djava.library.path=. Main profile.ovpn
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "$O3" ]; then
|
||||
@ -6,12 +12,36 @@ if [ -z "$O3" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm_generated_files()
|
||||
{
|
||||
svn status --no-ignore | perl -nle 's/\\/\//g; print "rm -rf '\''$1'\''" if /^[\?I]\s+([\S\t\x20]+)/;' | sh
|
||||
}
|
||||
TARGET=linux
|
||||
JINC="-I/usr/local/java/jdk1.7.0_55/include -I/usr/local/java/jdk1.7.0_55/include/linux"
|
||||
|
||||
rm_generated_files
|
||||
cd $O3/core/javacli
|
||||
git clean -q -fXd .
|
||||
git clean -q -fd .
|
||||
|
||||
if [ "$DEBUG_BUILD" = "1" ]; then
|
||||
. $O3/core/vars/vars-${TARGET}-dbg
|
||||
vis1=""
|
||||
vis2=""
|
||||
opt2="$pkg_id_def $LIB_OPT_LEVEL"
|
||||
else
|
||||
. $O3/core/vars/vars-${TARGET}
|
||||
vis1="-fvisibility=hidden"
|
||||
vis2='-DSWIGEXPORT=__attribute__((visibility("default")))'
|
||||
opt2="$pkg_id_def -Os"
|
||||
fi
|
||||
|
||||
if [ "$OPENSSL" = "1" ]; then
|
||||
ssl_def="-DUSE_OPENSSL"
|
||||
ssl_inc="-I$DEP_DIR/openssl/openssl-$PLATFORM/include"
|
||||
ssl_lib="-lssl -lcrypto"
|
||||
ssl_libdir="-L$DEP_DIR/openssl/openssl-$PLATFORM/lib"
|
||||
else
|
||||
ssl_def="-DUSE_POLARSSL"
|
||||
ssl_inc="-I$DEP_DIR/polarssl/polarssl-$PLATFORM/include"
|
||||
ssl_lib="-lpolarssl"
|
||||
ssl_libdir="-L$DEP_DIR/polarssl/polarssl-$PLATFORM/library"
|
||||
fi
|
||||
|
||||
echo SWIG
|
||||
swig -c++ -java -I$O3/core/client -I$O3/core ovpncli.i
|
||||
@ -20,36 +50,49 @@ echo JAVA
|
||||
javac *.java
|
||||
|
||||
echo CORE
|
||||
gcc -O3 -fPIC -pthread \
|
||||
g++ \
|
||||
$CXX_COMPILER_FLAGS \
|
||||
$PLATFORM_FLAGS \
|
||||
$LIB_OPT_LEVEL $LIB_FPIC \
|
||||
-Wall -Wno-sign-compare -Wno-unused-parameter \
|
||||
-fvisibility=hidden \
|
||||
-DUSE_OPENSSL \
|
||||
-Wno-unused-local-typedefs \
|
||||
$vis1 \
|
||||
$ssl_def \
|
||||
-DHAVE_SNAPPY \
|
||||
-DHAVE_LZ4 \
|
||||
-I$O3/core/client \
|
||||
-I$O3/core \
|
||||
-I$DEP_DIR/boost \
|
||||
-I$DEP_DIR/openssl/openssl-linux/include \
|
||||
-I$DEP_DIR/snappy/snappy-linux/include \
|
||||
$ssl_inc \
|
||||
-I$DEP_DIR/snappy/snappy-$PLATFORM/include \
|
||||
-I$DEP_DIR/lz4/lz4-$PLATFORM/include \
|
||||
-c $O3/core/client/ovpncli.cpp
|
||||
|
||||
echo WRAP
|
||||
gcc -Os -fPIC -pthread \
|
||||
g++ \
|
||||
$CXX_COMPILER_FLAGS \
|
||||
$PLATFORM_FLAGS \
|
||||
$opt2 $LIB_FPIC \
|
||||
-fno-strict-aliasing \
|
||||
-Wall \
|
||||
-fvisibility=hidden '-DSWIGEXPORT=__attribute__((visibility("default")))' \
|
||||
$vis1 $vis2 \
|
||||
-I$O3/core/client \
|
||||
-I$O3/core \
|
||||
-I/usr/lib/jvm/java-7-openjdk-amd64/include \
|
||||
-L$DEP_DIR/boost/stage-linux/lib \
|
||||
-L$DEP_DIR/openssl/openssl-linux/lib \
|
||||
-L$DEP_DIR/snappy/snappy-linux/lib \
|
||||
$JINC \
|
||||
-L$DEP_DIR/boost/stage-$PLATFORM/lib \
|
||||
$ssl_libdir \
|
||||
-L$DEP_DIR/snappy/snappy-$PLATFORM/lib \
|
||||
-L$DEP_DIR/lz4/lz4-$PLATFORM/lib \
|
||||
ovpncli_wrap.cxx \
|
||||
ovpncli.o \
|
||||
-o libovpncli.so \
|
||||
-shared -Wl,-soname,libovpncli.so \
|
||||
-lcrypto -lssl \
|
||||
$ssl_lib \
|
||||
-lboost_system -lboost_thread \
|
||||
-lsnappy
|
||||
-lsnappy \
|
||||
-llz4
|
||||
|
||||
echo STRIP
|
||||
strip libovpncli.so
|
||||
if [ "$DEBUG_BUILD" != "1" ]; then
|
||||
echo STRIP $ABI
|
||||
strip libovpncli.so
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user