diff --git a/deps/boost/build-boost b/deps/boost/build-boost index ea7e06c3..fcd10e56 100755 --- a/deps/boost/build-boost +++ b/deps/boost/build-boost @@ -29,6 +29,9 @@ if [ "$NO_WIPE" != "1" ]; then #patch -p1 <$DL/asio-engine.patch #patch -p0 <$O3/core/deps/boost/atomic-1.55.0.patch patch -p1 <$O3/core/deps/boost/intrusive_ptr.patch + patch -p1 <$O3/core/deps/boost/page_size.patch + + ./bootstrap.sh for T in $TARGETS ; do TS="${T//-/}" @@ -43,7 +46,6 @@ EOF echo '********** BOOST CONFIG' tail -30 $BCONF/user-config.jam echo '********** END BOOST CONFIG' - ./bootstrap.sh else echo RETAIN existing source cd $BOOST_VERSION diff --git a/deps/boost/page_size.patch b/deps/boost/page_size.patch new file mode 100644 index 00000000..077015fd --- /dev/null +++ b/deps/boost/page_size.patch @@ -0,0 +1,16 @@ +diff -ur boost_1_57_0/boost/thread/pthread/thread_data.hpp boost_1_57_0.new/boost/thread/pthread/thread_data.hpp +--- boost_1_57_0/boost/thread/pthread/thread_data.hpp 2014-10-24 10:43:26.000000000 -0600 ++++ boost_1_57_0.new/boost/thread/pthread/thread_data.hpp 2015-02-26 00:43:26.000000000 -0700 +@@ -24,8 +24,10 @@ + #include + #include + +-#if defined(__ANDROID__) +-#include // http://code.google.com/p/android/issues/detail?id=39983 ++// JY modified ++#if defined(__ANDROID__) && !defined(PAGE_SIZE) ++#define PAGE_SIZE 4096 ++//#include // http://code.google.com/p/android/issues/detail?id=39983 + #endif + + #include diff --git a/javacli/build-android b/javacli/build-android index 84a96e59..1d75bf98 100755 --- a/javacli/build-android +++ b/javacli/build-android @@ -31,7 +31,7 @@ fi echo SWIG swig -c++ -java -package $pkg -I$O3/core/client -I$O3/core ovpncli.i -for TARGET in android android-a7a ; do +for TARGET in android-a8a android-a7a android ; do if [ "$DEBUG_BUILD" = "1" ]; then . ../vars/vars-${TARGET}-dbg diff --git a/scripts/android/build-all b/scripts/android/build-all index 8f160717..715b4a3e 100755 --- a/scripts/android/build-all +++ b/scripts/android/build-all @@ -9,15 +9,16 @@ cd $DEP_DIR rm -rf boost* lz4* lzo* minicrypto openssl* polarssl* snappy* echo "******* BOOST" $O3/core/scripts/android/build-boost -#echo "******* MINICRYPTO" -#$O3/core/scripts/android/build-minicrypto echo "******* POLARSSL" $O3/core/scripts/android/build-polarssl +echo "******* LZ4" +$O3/core/scripts/android/build-lz4 +echo "******* SNAPPY" +$O3/core/scripts/android/build-snappy + +#echo "******* MINICRYPTO" +#$O3/core/scripts/android/build-minicrypto #echo "******* OpenSSL" #$O3/core/scripts/android/build-openssl-small #echo "******* LZO" #$O3/core/scripts/android/build-lzo -echo "******* SNAPPY" -$O3/core/scripts/android/build-snappy -echo "******* LZ4" -$O3/core/scripts/android/build-lz4 diff --git a/scripts/android/build-boost b/scripts/android/build-boost index aa565bbf..eaa89e43 100755 --- a/scripts/android/build-boost +++ b/scripts/android/build-boost @@ -17,7 +17,7 @@ cd $DEP_DIR rm -rf boost mkdir boost export LINK_MODE=static -export TARGETS="android android-dbg android-a7a android-a7a-dbg" +export TARGETS="android-a8a android-a8a-dbg android-a7a android-a7a-dbg android android-dbg" export SDK_PATH_SCRIPT=$O3/core/vars/android-sdk-path $O3/core/deps/boost/build-boost exit 0 diff --git a/scripts/android/build-lz4 b/scripts/android/build-lz4 index 2d1ba00c..a14c8627 100755 --- a/scripts/android/build-lz4 +++ b/scripts/android/build-lz4 @@ -15,7 +15,7 @@ cd $DEP_DIR rm -rf lz4 mkdir lz4 -for target in android android-dbg android-a7a android-a7a-dbg ; do +for target in android-a8a android-a8a-dbg android-a7a android-a7a-dbg android android-dbg ; do echo '***************' TARGET $target TARGET=$target $O3/core/deps/lz4/build-lz4 done diff --git a/scripts/android/build-lzo b/scripts/android/build-lzo index 68f739c9..7fedc435 100755 --- a/scripts/android/build-lzo +++ b/scripts/android/build-lzo @@ -15,7 +15,7 @@ cd $DEP_DIR rm -rf lzo mkdir lzo -for target in android android-dbg android-a7a android-a7a-dbg ; do +for target in android-a8a android-a8a-dbg android-a7a android-a7a-dbg android android-dbg ; do echo '***************' TARGET $target TARGET=$target $O3/core/deps/lzo/build-lzo done diff --git a/scripts/android/build-openssl-small b/scripts/android/build-openssl-small index a9091d54..5fdbcce3 100755 --- a/scripts/android/build-openssl-small +++ b/scripts/android/build-openssl-small @@ -13,7 +13,7 @@ cd $DEP_DIR [ -z "$DL" ] && DL=~/Downloads rm -rf openssl mkdir openssl -for TARGET in android android-dbg android-a7a android-a7a-dbg ; do +for TARGET in android-a8a android-a8a-dbg android-a7a android-a7a-dbg android-dbg android ; do . $O3/core/vars/vars-$TARGET export OPENSSL=$OPENSSL_VERSION export DIST=$(pwd)/openssl-$PLATFORM diff --git a/scripts/android/build-polarssl b/scripts/android/build-polarssl index 10e24552..e04e51c3 100755 --- a/scripts/android/build-polarssl +++ b/scripts/android/build-polarssl @@ -18,7 +18,7 @@ mini=0 rm -rf polarssl mkdir polarssl -for target in android-dbg android android-a7a android-a7a-dbg ; do +for target in android-a8a android-a8a-dbg android-a7a android-a7a-dbg android android-dbg ; do echo '***************' TARGET $target VERBOSE=1 TARGET=$target CMAKE_TARGET=android USE_MINICRYPTO=$mini MINICRYPTO_DIR=$(pwd)/minicrypto/minicrypto-$target $O3/core/deps/polarssl/build-polarssl mv polarssl-$target polarssl/ diff --git a/scripts/android/build-snappy b/scripts/android/build-snappy index fd0232ff..a94e4392 100755 --- a/scripts/android/build-snappy +++ b/scripts/android/build-snappy @@ -15,7 +15,7 @@ cd $DEP_DIR rm -rf snappy mkdir snappy -for target in android android-dbg android-a7a android-a7a-dbg ; do +for target in android-a8a android-a8a-dbg android-a7a android-a7a-dbg android android-dbg ; do echo '***************' TARGET $target TARGET=$target $O3/core/deps/snappy/build-snappy done diff --git a/scripts/android/build-toolchain b/scripts/android/build-toolchain index 56267ca9..fcc8332c 100755 --- a/scripts/android/build-toolchain +++ b/scripts/android/build-toolchain @@ -5,19 +5,39 @@ if [ -z "$O3" ]; then echo O3 var must point to ovpn3 tree ; exit 1 fi export DEP_DIR=${DEP_DIR:-$HOME/src/android} -cd $DEP_DIR export NO_MOD_PATH=1 . $O3/core/vars/android-sdk-path -DEST=$(pwd)/tc + +# 64 bit +cd $DEP_DIR +DEST=$(pwd)/tc-arm64 rm -rf $DEST +ABI=aarch64-linux-android $NDK/build/tools/make-standalone-toolchain.sh \ --verbose \ --ndk-dir=$NDK \ - --toolchain=arm-linux-androideabi-4.8 \ + --toolchain=$ABI-4.9 \ + --stl=gnustl \ + --arch=arm64 \ + --platform=android-21 \ + --install-dir=$DEST +cd $DEST/$ABI/bin +ln -s ../../bin/$ABI-gcc cc +ln -s ../../bin/$ABI-gcc gcc +ln -s ../../bin/$ABI-g++ g++ + +# 32 bit +cd $DEP_DIR +DEST=$(pwd)/tc-arm +rm -rf $DEST +ABI=arm-linux-androideabi +$NDK/build/tools/make-standalone-toolchain.sh \ + --verbose \ + --ndk-dir=$NDK \ + --toolchain=$ABI-4.8 \ --stl=gnustl \ --arch=arm \ --platform=android-14 \ --install-dir=$DEST -cd $DEST/arm-linux-androideabi/bin -ln -s ../../bin/arm-linux-androideabi-gcc cc -exit 0 +cd $DEST/$ABI/bin +ln -s ../../bin/$ABI-gcc cc diff --git a/vars/android-sdk-path b/vars/android-sdk-path index e98e9b22..dc3ec5b4 100644 --- a/vars/android-sdk-path +++ b/vars/android-sdk-path @@ -1,5 +1,7 @@ # setup PATH for Android SDK and NDK AD=$HOME/src/android -export SDK=$AD/adt-bundle-mac-x86_64-20131030/sdk -export NDK=$AD/android-ndk-r9c -[ "$NO_MOD_PATH" != "1" ] && export PATH="$SDK/tools:$SDK/platform-tools:$AD/tc/bin:$AD/tc/arm-linux-androideabi/bin:$PATH" +export SDK=$AD/android-sdk-macosx +export NDK=$AD/android-ndk-r10d +if [ "$NO_MOD_PATH" != "1" ]; then + export PATH="$SDK/tools:$SDK/platform-tools:$PATH" +fi diff --git a/vars/vars-android b/vars/vars-android index 40d44a1a..db7cb3ff 100644 --- a/vars/vars-android +++ b/vars/vars-android @@ -6,4 +6,8 @@ export OTHER_COMPILER_FLAGS="" export CXX_COMPILER_FLAGS="-std=c++11" export LIB_OPT_LEVEL="-O3" export LIB_FPIC="-fPIC" -export PLATFORM_FLAGS="--sysroot=$DEP_DIR/tc/sysroot" +export TC=$DEP_DIR/tc-arm +export PLATFORM_FLAGS="--sysroot=$TC/sysroot" + +[ -z "$VARS_SAVE_PATH" ] && VARS_SAVE_PATH="$PATH" +export PATH="$TC/bin:$TC/arm-linux-androideabi/bin:$VARS_SAVE_PATH" diff --git a/vars/vars-android-a7a b/vars/vars-android-a7a index f12c6f25..684084fe 100644 --- a/vars/vars-android-a7a +++ b/vars/vars-android-a7a @@ -6,4 +6,8 @@ export OTHER_COMPILER_FLAGS="" export CXX_COMPILER_FLAGS="-std=c++11" export LIB_OPT_LEVEL="-O3" export LIB_FPIC="-fPIC" -export PLATFORM_FLAGS="-march=armv7-a -mthumb -fomit-frame-pointer --sysroot=$DEP_DIR/tc/sysroot" +export TC=$DEP_DIR/tc-arm +export PLATFORM_FLAGS="-march=armv7-a -mthumb -fomit-frame-pointer --sysroot=$TC/sysroot" + +[ -z "$VARS_SAVE_PATH" ] && VARS_SAVE_PATH="$PATH" +export PATH="$TC/bin:$TC/arm-linux-androideabi/bin:$VARS_SAVE_PATH" diff --git a/vars/vars-android-a7a-dbg b/vars/vars-android-a7a-dbg index 0da2fd33..6fb757cb 100644 --- a/vars/vars-android-a7a-dbg +++ b/vars/vars-android-a7a-dbg @@ -6,4 +6,8 @@ export OTHER_COMPILER_FLAGS="-g" export CXX_COMPILER_FLAGS="-std=c++11" export LIB_OPT_LEVEL="-O0" export LIB_FPIC="-fPIC" -export PLATFORM_FLAGS="-march=armv7-a -mthumb -fomit-frame-pointer --sysroot=$DEP_DIR/tc/sysroot" +export TC=$DEP_DIR/tc-arm +export PLATFORM_FLAGS="-march=armv7-a -mthumb -fomit-frame-pointer --sysroot=$TC/sysroot" + +[ -z "$VARS_SAVE_PATH" ] && VARS_SAVE_PATH="$PATH" +export PATH="$TC/bin:$TC/arm-linux-androideabi/bin:$VARS_SAVE_PATH" diff --git a/vars/vars-android-a8a b/vars/vars-android-a8a new file mode 100644 index 00000000..460f5e7b --- /dev/null +++ b/vars/vars-android-a8a @@ -0,0 +1,13 @@ +export DEP_DIR=$HOME/src/android +export PLATFORM=android-a8a +export ABI=arm64-v8a +export DEBUG_BUILD=0 +export OTHER_COMPILER_FLAGS="" +export CXX_COMPILER_FLAGS="-std=c++11" +export LIB_OPT_LEVEL="-O3" +export LIB_FPIC="-fPIC" +export TC=$DEP_DIR/tc-arm64 +export PLATFORM_FLAGS="-march=armv8-a -fomit-frame-pointer --sysroot=$TC/sysroot" + +[ -z "$VARS_SAVE_PATH" ] && VARS_SAVE_PATH="$PATH" +export PATH="$TC/bin:$TC/aarch64-linux-android/bin:$VARS_SAVE_PATH" diff --git a/vars/vars-android-a8a-dbg b/vars/vars-android-a8a-dbg new file mode 100644 index 00000000..46742148 --- /dev/null +++ b/vars/vars-android-a8a-dbg @@ -0,0 +1,13 @@ +export DEP_DIR=$HOME/src/android +export PLATFORM=android-a8a-dbg +export ABI=arm64-v8a +export DEBUG_BUILD=1 +export OTHER_COMPILER_FLAGS="-g" +export CXX_COMPILER_FLAGS="-std=c++11" +export LIB_OPT_LEVEL="-O0" +export LIB_FPIC="-fPIC" +export TC=$DEP_DIR/tc-arm64 +export PLATFORM_FLAGS="-march=armv8-a -fomit-frame-pointer --sysroot=$TC/sysroot" + +[ -z "$VARS_SAVE_PATH" ] && VARS_SAVE_PATH="$PATH" +export PATH="$TC/bin:$TC/aarch64-linux-android/bin:$VARS_SAVE_PATH" diff --git a/vars/vars-android-dbg b/vars/vars-android-dbg index 2a2d6839..84b43798 100644 --- a/vars/vars-android-dbg +++ b/vars/vars-android-dbg @@ -6,4 +6,8 @@ export OTHER_COMPILER_FLAGS="-g" export CXX_COMPILER_FLAGS="-std=c++11" export LIB_OPT_LEVEL="-O0" export LIB_FPIC="-fPIC" -export PLATFORM_FLAGS="--sysroot=$DEP_DIR/tc/sysroot" +export TC=$DEP_DIR/tc-arm +export PLATFORM_FLAGS="--sysroot=$TC/sysroot" + +[ -z "$VARS_SAVE_PATH" ] && VARS_SAVE_PATH="$PATH" +export PATH="$TC/bin:$TC/arm-linux-androideabi/bin:$VARS_SAVE_PATH"