Merge commit '82fea30fcce1d169de7ec42be84d079e0899519c' into feature/update-dependenies

This commit is contained in:
Sergey Abramchuk
2018-01-08 11:44:56 +03:00
437 changed files with 7377 additions and 2864 deletions
@@ -1,12 +1,36 @@
#!/usr/bin/env bash
# Build Android dependencies (run after build-toolchain)
# Build the entire core package as required by Android App
set -e
if [ -z "$O3" ]; then
echo O3 var must point to ovpn3 tree ; exit 1
echo O3 var must point to ovpn3 tree
exit 1
fi
export DEP_DIR=${DEP_DIR:-$HOME/src/android}
[ -z "$ECHO" ] && ECHO=0
if [ "$ECHO" -eq 0 ]; then
exec > $O3/android_build.log
exec 2>&1
fi
[ -z "$DEP_DIR" ] && export DEP_DIR=${O3}/deps
[ -z "$DL" ] && export DL=~/dl
mkdir -p $DEP_DIR
mkdir -p $DL
export NO_MOD_PATH=1
. $O3/core/vars/android-sdk-path
echo BUILD ANDROID SDK
$O3/core/scripts/android/build-sdk
echo BUILD TOOLCHAIN
$O3/core/scripts/android/build-toolchain
echo BUILD DEPS
cd $DEP_DIR
rm -rf asio* boost* lz4* lzo* minicrypto openssl* polarssl* snappy* mbedtls*
rm -rf asio* lz4* mbedtls* #lzo* boost* minicrypto openssl* polarssl* snappy*
echo "******* ASIO"
$O3/core/deps/asio/build-asio
echo "******* MBEDTLS"
@@ -24,3 +48,8 @@ $O3/core/scripts/android/build-lz4
#$O3/core/scripts/android/build-lzo
#echo "******* SNAPPY"
#$O3/core/scripts/android/build-snappy
echo BUILD CORE LIBRARY
$O3/core/javacli/build-android
echo DONE.
@@ -2,20 +2,23 @@
set -e
if [ -z "$O3" ]; then
echo O3 var must point to ovpn3 tree ; exit 1
fi
if [ -z "$DEP_DIR" ]; then
echo DEP_DIR var must point to ovpn3 dependency tree
echo O3 var must point to ovpn3 tree
exit 1
fi
if [ -z "$DEP_DIR" ]; then
echo DEP_DIR var must point to the dependency build directory
exit 1
fi
cd $DEP_DIR
. $O3/core/vars/android-sdk-path
cd $DEP_DIR
rm -rf lz4
mkdir lz4
for target in android-a8a android-a8a-dbg android-a7a android-a7a-dbg android android-dbg ; do
TARGETS=${TARGETS:-android-a7a android-a8a android-x86}
for target in $TARGETS; do
echo '***************' TARGET $target
TARGET=$target $O3/core/deps/lz4/build-lz4
done
@@ -2,22 +2,27 @@
set -e
if [ -z "$O3" ]; then
echo O3 var must point to ovpn3 tree ; exit 1
fi
if [ -z "$DEP_DIR" ]; then
echo DEP_DIR var must point to ovpn3 dependency tree
echo O3 var must point to ovpn3 tree
exit 1
fi
if [ -z "$DEP_DIR" ]; then
echo DEP_DIR var must point to the dependency build directory
exit 1
fi
cd $DEP_DIR
. $O3/core/vars/android-sdk-path
cd $DEP_DIR
rm -rf mbedtls
mkdir -p mbedtls
# disable minicrypto for now
mini=0
rm -rf mbedtls
TARGETS=${TARGETS:-android-a7a android-a8a android-x86}
for target in android-a8a android-a8a-dbg android-a7a android-a7a-dbg android android-dbg ; do
for target in $TARGETS; do
echo '***************' TARGET $target
VERBOSE=1 TARGET=$target CMAKE_TARGET=android USE_MINICRYPTO=$mini MINICRYPTO_DIR=$(pwd)/minicrypto/minicrypto-$target $O3/core/deps/mbedtls/build-mbedtls
[ "$ANDROID_DBG_ONLY" = "1" ] && exit
+50
View File
@@ -0,0 +1,50 @@
#!/usr/bin/env bash
set -e
if [ -z "$O3" ]; then
echo O3 var must point to ovpn3 tree
exit 1
fi
if [ -z "$DEP_DIR" ]; then
echo DEP_DIR var must point to the dependency build directory
exit 1
fi
[ -z "$SDK" ] && export SDK=$DEP_DIR/android-sdk
if [ -d "$SDK" ]; then
echo "Android SDK already exists at $SDK. Doing only update"
yes | $SDK/tools/bin/sdkmanager --licenses
$SDK/tools/bin/sdkmanager --update
exit 0
fi
. $O3/core/deps/functions.sh
FNAME=sdk-tools-linux-3859397.zip
URL=https://dl.google.com/android/repository/${FNAME}
CSUM=444e22ce8ca0f67353bda4b85175ed3731cae3ffa695ca18119cbacef1c1bea0
download
cd $DEP_DIR
rm -rf android-sdk
mkdir android-sdk
. $O3/core/vars/android-sdk-path
cd $SDK
unzip $DL/$FNAME
yes | $SDK/tools/bin/sdkmanager --licenses
$SDK/tools/bin/sdkmanager --update
$SDK/tools/bin/sdkmanager 'build-tools;26.0.2' \
'ndk-bundle' \
'extras;android;m2repository' \
'patcher;v4' \
'platform-tools' \
'platforms;android-26' \
'tools'
exit 0
@@ -13,10 +13,10 @@ cd $DEP_DIR
DEST=$(pwd)/tc-arm64
rm -rf $DEST
ABI=aarch64-linux-android
ABI_VER=4.9
$NDK/build/tools/make-standalone-toolchain.sh \
--verbose \
--ndk-dir=$NDK \
--toolchain=$ABI-4.9 \
--toolchain=$ABI-$ABI_VER \
--stl=gnustl \
--arch=arm64 \
--platform=android-21 \
@@ -25,19 +25,42 @@ cd $DEST/$ABI/bin
ln -s ../../bin/$ABI-gcc cc
ln -s ../../bin/$ABI-gcc gcc
ln -s ../../bin/$ABI-g++ g++
ln -s ../../libexec/gcc/$ABI/$ABI_VER.x/cc1 cc1
ln -s ../../libexec/gcc/$ABI/$ABI_VER.x/cc1plus cc1plus
# 32 bit
cd $DEP_DIR
DEST=$(pwd)/tc-arm
rm -rf $DEST
ABI=arm-linux-androideabi
ABI_VER=4.9
$NDK/build/tools/make-standalone-toolchain.sh \
--verbose \
--ndk-dir=$NDK \
--toolchain=$ABI-4.8 \
--toolchain=$ABI-$ABI_VER \
--stl=gnustl \
--arch=arm \
--platform=android-14 \
--install-dir=$DEST
cd $DEST/$ABI/bin
ln -s ../../bin/$ABI-gcc cc
ln -s ../../libexec/gcc/$ABI/$ABI_VER.x/cc1 cc1
ln -s ../../libexec/gcc/$ABI/$ABI_VER.x/cc1plus cc1plus
# 32 bit x86 for Android emulator
cd $DEP_DIR
DEST=$(pwd)/tc-x86
rm -rf $DEST
ABI=x86-linux-android
SUB=i686-linux-android
ABI_VER=4.9
$NDK/build/tools/make-standalone-toolchain.sh \
--verbose \
--toolchain=$ABI-$ABI_VER \
--stl=gnustl \
--arch=x86 \
--platform=android-14 \
--install-dir=$DEST
cd $DEST/$SUB/bin
ln -s ../../bin/$SUB-gcc cc
ln -s ../../libexec/gcc/$SUB/$ABI_VER.x/cc1 cc1
ln -s ../../libexec/gcc/$SUB/$ABI_VER.x/cc1plus cc1plus
+37 -4
View File
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e
if [ -z "$O3" ]; then
echo O3 var must point to ovpn3 tree
exit 1
@@ -14,6 +16,7 @@ if [ -z "$1" ]; then
echo "usage: ./build target"
echo "options:"
echo " PROF=<platform> -- source vars/vars-<platform> before running"
echo " DPROF=1 -- when PROF is specified, use the debugging variant"
echo " CLANG=1 -- use clang instead of gcc"
echo " DEBUG=1 -- enable debug symbols"
echo " CO=1 -- compile only"
@@ -30,6 +33,8 @@ if [ -z "$1" ]; then
echo " ASIO_DIR=<dir> -- specify ASIO tree"
echo " MTLS=1 -- include mbedTLS"
echo " MTLS_SYS=1 -- use system mbedTLS"
echo " MTLS_PATH=path -- use user specified mbedTLS source folder"
echo " MTLS_LIBS=ldflags -- user specific mbedTLS LDFLAGS"
echo " MA_HYBRID=1 -- use mbedTLS/AppleCrypto hybrid"
echo " NOSSL=1 -- don't include OpenSSL"
echo " OPENSSL_SYS=1 -- include system OpenSSL"
@@ -42,8 +47,11 @@ if [ -z "$1" ]; then
echo " LZ4=1 -- build with LZ4 compression library"
echo " LZ4_SYS=1 -- build with system LZ4 compression library"
echo " SNAP=1 -- build with Snappy compression library"
echo " CITY=1 -- build with Cityhash hash library"
echo " VAL=1 -- build with valgrind run-time extensions"
echo " JAVA=1 -- build with JVM"
echo ' EXTRA_CPP="foo1.cpp foo2.cpp" -- add extra .cpp files'
echo " GTEST_DIR=<dir> -- specify googletest tree, required for building unit tests"
for s in $(enum_build_extras) ; do
. $s args
done
@@ -52,7 +60,9 @@ fi
# source vars file
if [ "$PROF" ]; then
pfn="$O3/core/vars/vars-$PROF"
suffix=""
[ "$DPROF" = "1" ] && suffix="-dbg"
pfn="$O3/core/vars/vars-$PROF$suffix"
if ! [ -f "$pfn" ]; then
pfn="$PROF"
fi
@@ -111,14 +121,19 @@ if [ "$MTLS_SYS" = "1" ]; then
CPPFLAGS="$CPPFLAGS -DUSE_MBEDTLS"
LIBS="$LIBS -lmbedtls -lmbedx509 -lmbedcrypto"
elif [ "$MTLS" = "1" ]; then
LIBS="$LIBS -lmbedtls"
LIBS="$LIBS -lmbedtls $MTLS_LIBS"
if [ "$MA_HYBRID" = "1" ]; then
CPPFLAGS="$CPPFLAGS -DUSE_MBEDTLS_APPLE_HYBRID"
else
CPPFLAGS="$CPPFLAGS -DUSE_MBEDTLS"
fi
CPPFLAGS="$CPPFLAGS -I$DEP_DIR/mbedtls/mbedtls-$PLATFORM/include"
LIBDIRS="$LIBDIRS -L$DEP_DIR/mbedtls/mbedtls-$PLATFORM/library"
if [ -n "$MTLS_PATH" ]; then
CPPFLAGS="$CPPFLAGS -I$MTLS_PATH/include"
LIBDIRS="$LIBDIRS -L$MTLS_PATH/library"
else
CPPFLAGS="$CPPFLAGS -I$DEP_DIR/mbedtls/mbedtls-$PLATFORM/include"
LIBDIRS="$LIBDIRS -L$DEP_DIR/mbedtls/mbedtls-$PLATFORM/library"
fi
if [ "$MINI" = "1" ]; then
LIBS="$LIBS -lminicrypto"
LIBDIRS="$LIBDIRS -L$DEP_DIR/minicrypto/minicrypto-$PLATFORM"
@@ -188,6 +203,13 @@ if [ "$ASIO" = "1" ] || [ "$ASIO_DIR" ]; then
CPPFLAGS="$CPPFLAGS -DUSE_ASIO -DASIO_STANDALONE -DASIO_NO_DEPRECATED -I$ASIO_DIR/asio/include"
fi
# gtest
if [ "$GTEST_DIR" ]; then
CPPFLAGS="$CPPFLAGS -I$GTEST_DIR/googletest/include"
LIBDIRS="$LIBDIRS -L$GTEST_DIR/googlemock/gtest"
LIBS="$LIBS -lgtest"
fi
# LZO compression
if [ "$LZO" = "1" ]; then
LIBDIRS="$LIBDIRS -L$DEP_DIR/lzo/lzo-$PLATFORM/lib"
@@ -213,6 +235,17 @@ if [ "$SNAP" = "1" ]; then
CPPFLAGS="$CPPFLAGS -DHAVE_SNAPPY"
fi
# Cityhash
if [ "$CITY" = "1" ]; then
LIBS="$LIBS -lcityhash"
CPPFLAGS="$CPPFLAGS -DHAVE_CITYHASH"
fi
# Valgrind
if [ "$VAL" = "1" ]; then
CPPFLAGS="$CPPFLAGS -DHAVE_VALGRIND"
fi
# JVM
if [ "$JAVA" = "1" ]; then
if [ -z "$JAVA_HOME" ]; then