diff --git a/project/jni/Application.mk b/project/jni/Application.mk index 5d22f6f71..e78c7a5f2 100644 --- a/project/jni/Application.mk +++ b/project/jni/Application.mk @@ -2,7 +2,7 @@ APP_PROJECT_PATH := $(call my-dir)/.. include jni/Settings.mk -APP_STL := c++_static +APP_STL := c++_shared APP_CFLAGS := -g ifneq ($(NDK_DEBUG),1) APP_CFLAGS += -Oz -DNDEBUG # -Oz works best with clang diff --git a/project/jni/Makefile.prebuilt b/project/jni/Makefile.prebuilt index 45a92d930..2aab04f8f 100644 --- a/project/jni/Makefile.prebuilt +++ b/project/jni/Makefile.prebuilt @@ -39,17 +39,51 @@ $(ICONV) $(ICU): iconv/src/build.sh $(OPENSSL): openssl/compile.sh cd openssl && ./compile.sh -BOOST_LIBS := atomic chrono container context contract coroutine date_time exception filesystem graph iostreams log log_setup \ - math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l prg_exec_monitor program_options random regex \ - serialization signals stacktrace_basic stacktrace_noop system test_exec_monitor thread timer type_erasure \ - unit_test_framework wave wserialization +BOOST_LIBS := \ + atomic \ + chrono \ + container \ + context \ + contract \ + coroutine \ + date_time \ + exception \ + fiber \ + filesystem \ + graph \ + iostreams \ + locale \ + log \ + log_setup \ + math_c99 \ + math_c99f \ + math_c99l \ + math_tr1 \ + math_tr1f \ + math_tr1l \ + prg_exec_monitor \ + program_options \ + random \ + regex \ + serialization \ + stacktrace_basic \ + stacktrace_noop \ + system \ + test_exec_monitor \ + thread \ + timer \ + type_erasure \ + unit_test_framework \ + wave \ + wserialization \ + BOOST := $(foreach ARCH, $(ARCHES32) $(ARCHES64), $(foreach NAME, $(BOOST_LIBS), boost/lib/$(ARCH)/libboost_$(NAME).a)) $(BOOST): boost/src/build-android.sh rm -rf boost/include boost/lib ; \ cd boost/src && \ - ./build-android.sh --boost=1.68.0 --arch=$(shell echo $(foreach ARCH, $(ARCHES32) $(ARCHES64),$(ARCH),) | tr -d ' ') && \ + ./build-android.sh --boost=1.69.0 --with-iconv --arch=$(shell echo $(foreach ARCH, $(ARCHES32) $(ARCHES64),$(ARCH),) | tr -d ' ') && \ for ARCH in $(ARCHES32) $(ARCHES64); do \ mkdir -p ../lib/$$ARCH ../include ; \ $(foreach NAME, $(BOOST_LIBS), cp -f build/out/$$ARCH/lib/libboost_$(NAME)-clang-mt-*.a ../lib/$$ARCH/libboost_$(NAME).a || exit 1 ;) \ @@ -61,3 +95,4 @@ boost: $(BOOST) iconv/src/build.sh boost/src/build-android.sh: git submodule update --init --recursive + diff --git a/project/jni/SettingsTemplate.mk b/project/jni/SettingsTemplate.mk index 5a9f2f167..4effe7014 100644 --- a/project/jni/SettingsTemplate.mk +++ b/project/jni/SettingsTemplate.mk @@ -2,7 +2,7 @@ # To filter out static libs from all libs in makefile APP_AVAILABLE_STATIC_LIBS := jpeg png freetype fontconfig xerces ogg vorbis flac \ boost_atomic boost_chrono boost_container boost_context boost_coroutine boost_date_time boost_exception boost_filesystem \ - boost_graph boost_iostreams boost_log boost_log_setup boost_prg_exec_monitor boost_program_options boost_random \ + boost_graph boost_iostreams boost_locale boost_log boost_log_setup boost_prg_exec_monitor boost_program_options boost_random \ boost_regex boost_serialization boost_signals boost_stacktrace_basic boost_stacktrace_noop \ boost_system boost_test_exec_monitor boost_thread boost_timer boost_type_erasure boost_unit_test_framework boost_wave boost_wserialization \ glu icudata icutest icui18n icuio icule iculx icutu icuuc icu-le-hb harfbuzz sdl_savepng android_support \ diff --git a/project/jni/boost/src b/project/jni/boost/src index 1bd9aa134..1356b87fe 160000 --- a/project/jni/boost/src +++ b/project/jni/boost/src @@ -1 +1 @@ -Subproject commit 1bd9aa13463be4553b1146d6a5916566c2fba69c +Subproject commit 1356b87fed389b4abf1ff671adec0b899877174b diff --git a/project/jni/iconv/src b/project/jni/iconv/src index 77c9e6c31..4eb666719 160000 --- a/project/jni/iconv/src +++ b/project/jni/iconv/src @@ -1 +1 @@ -Subproject commit 77c9e6c31e2dc1c5273dfc4b09903957caaf53ca +Subproject commit 4eb666719e71e719574610ea4ff9601ff57cf3b1 diff --git a/project/jni/openssl/setCrossEnvironment-arm64-v8a.sh b/project/jni/openssl/setCrossEnvironment-arm64-v8a.sh index 2aee71fba..e7d79fa46 100755 --- a/project/jni/openssl/setCrossEnvironment-arm64-v8a.sh +++ b/project/jni/openssl/setCrossEnvironment-arm64-v8a.sh @@ -16,7 +16,6 @@ elif uname -s | grep -i "windows" > /dev/null ; then fi #echo NDK $NDK -GCCPREFIX=aarch64-linux-android [ -z "$NDK_TOOLCHAIN_VERSION" ] && NDK_TOOLCHAIN_VERSION=4.9 LOCAL_PATH=`dirname $0` if which realpath > /dev/null ; then @@ -25,28 +24,20 @@ else LOCAL_PATH=`cd $LOCAL_PATH && pwd` fi ARCH=arm64-v8a +GCCPREFIX=aarch64-linux-android +APILEVEL=21 CFLAGS=" ---target=aarch64-none-linux-android21 ---gcc-toolchain=$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 ---sysroot=$NDK/sysroot --isystem -$NDK/sources/cxx-stl/llvm-libc++/include --isystem -$NDK/sources/cxx-stl/llvm-libc++abi/include --isystem -$NDK/sysroot/usr/include/aarch64-linux-android -g --DANDROID -ffunction-sections +-fdata-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes --Wa,--noexecstack -Wformat -Werror=format-security --O2 +-Oz -DNDEBUG -fPIC $CFLAGS" @@ -54,32 +45,18 @@ $CFLAGS" CFLAGS="`echo $CFLAGS | tr '\n' ' '`" LDFLAGS=" ---target=aarch64-none-linux-android21 ---gcc-toolchain=$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 ---sysroot=$NDK/sysroot -fPIC --isystem -$NDK/sysroot/usr/include/aarch64-linux-android -g --DANDROID -ffunction-sections +-fdata-sections +-Wl,--gc-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes --Wa,--noexecstack --Wformat --Werror=format-security --O2 --DNDEBUG --Wl,--exclude-libs,libgcc.a --Wl,--exclude-libs,libatomic.a --nostdlib++ ---sysroot -$NDK/platforms/android-21/arch-arm64 +-Oz -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings --L$NDK/sources/cxx-stl/llvm-libc++/libs/arm64-v8a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments @@ -90,27 +67,25 @@ $NDK/platforms/android-21/arch-arm64 -llog -latomic -lm -$NDK/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a -$NDK/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a $LDFLAGS" LDFLAGS="`echo $LDFLAGS | tr '\n' ' '`" -CC="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/clang" -CXX="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/clang++" +CC="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX$APILEVEL-clang" +CXX="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX$APILEVEL-clang++" CPP="$CC -E $CFLAGS" -env PATH=$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin:$LOCAL_PATH:$PATH \ +env \ CFLAGS="$CFLAGS" \ CXXFLAGS="$CXXFLAGS $CFLAGS -frtti -fexceptions" \ LDFLAGS="$LDFLAGS" \ CC="$CC" \ CXX="$CXX" \ -RANLIB="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-ranlib" \ -LD="$CC" \ -AR="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-ar" \ +RANLIB="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-ranlib" \ +LD="$CXX" \ +AR="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-ar" \ CPP="$CPP" \ -NM="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-nm" \ -AS="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-as" \ -STRIP="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-strip" \ +NM="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-nm" \ +AS="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-as" \ +STRIP="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-strip" \ "$@" diff --git a/project/jni/openssl/setCrossEnvironment-armeabi-v7a.sh b/project/jni/openssl/setCrossEnvironment-armeabi-v7a.sh index 6f077321f..f68926eef 100755 --- a/project/jni/openssl/setCrossEnvironment-armeabi-v7a.sh +++ b/project/jni/openssl/setCrossEnvironment-armeabi-v7a.sh @@ -16,7 +16,6 @@ elif uname -s | grep -i "windows" > /dev/null ; then fi #echo NDK $NDK -GCCPREFIX=arm-linux-androideabi [ -z "$NDK_TOOLCHAIN_VERSION" ] && NDK_TOOLCHAIN_VERSION=4.9 LOCAL_PATH=`dirname $0` if which realpath > /dev/null ; then @@ -25,31 +24,19 @@ else LOCAL_PATH=`cd $LOCAL_PATH && pwd` fi ARCH=armeabi-v7a +GCCPREFIX=armv7a-linux-androideabi +BINUTILSPREFIX=arm-linux-androideabi +APILEVEL=16 CFLAGS=" ---target=armv7-none-linux-androideabi16 ---gcc-toolchain=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 ---sysroot=$NDK/sysroot --isystem -$NDK/sources/cxx-stl/llvm-libc++/include --isystem -$NDK/sources/android/support/include --isystem -$NDK/sources/cxx-stl/llvm-libc++abi/include --isystem -$NDK/sysroot/usr/include/arm-linux-androideabi -g --DANDROID -ffunction-sections +-fdata-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes --march=armv7-a --mfloat-abi=softfp --mfpu=vfpv3-d16 -mthumb --Wa,--noexecstack -Wformat -Werror=format-security -Oz @@ -60,38 +47,22 @@ $CFLAGS" CFLAGS="`echo $CFLAGS | tr '\n' ' '`" LDFLAGS=" ---target=armv7-none-linux-androideabi16 ---gcc-toolchain=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 ---sysroot=$NDK/sysroot -fPIC --isystem -$NDK/sysroot/usr/include/arm-linux-androideabi -g --DANDROID -ffunction-sections +-fdata-sections +-Wl,--gc-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes --march=armv7-a --mfloat-abi=softfp --mfpu=vfpv3-d16 -mthumb --Wa,--noexecstack -Wformat -Werror=format-security -Oz -DNDEBUG --Wl,--exclude-libs,libgcc.a --Wl,--exclude-libs,libatomic.a --nostdlib++ ---sysroot -$NDK/platforms/android-16/arch-arm -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings --Wl,--fix-cortex-a8 --Wl,--exclude-libs,libunwind.a --L$NDK/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments @@ -102,30 +73,26 @@ $NDK/platforms/android-16/arch-arm -llog -latomic -lm -$NDK/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a -$NDK/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a -$NDK/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a -$NDK/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a -ldl $LDFLAGS" LDFLAGS="`echo $LDFLAGS | tr '\n' ' '`" -CC="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/clang" -CXX="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/clang++" +CC="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX$APILEVEL-clang" +CXX="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX$APILEVEL-clang++" CPP="$CC -E $CFLAGS" -env PATH=$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin:$LOCAL_PATH:$PATH \ +env \ CFLAGS="$CFLAGS" \ CXXFLAGS="$CXXFLAGS $CFLAGS -frtti -fexceptions" \ LDFLAGS="$LDFLAGS" \ CC="$CC" \ CXX="$CXX" \ -RANLIB="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-ranlib" \ -LD="$CC" \ -AR="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-ar" \ +RANLIB="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$BINUTILSPREFIX-ranlib" \ +LD="$CXX" \ +AR="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$BINUTILSPREFIX-ar" \ CPP="$CPP" \ -NM="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-nm" \ -AS="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-as" \ -STRIP="$NDK/toolchains/$GCCPREFIX-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-strip" \ +NM="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$BINUTILSPREFIX-nm" \ +AS="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$BINUTILSPREFIX-as" \ +STRIP="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$BINUTILSPREFIX-strip" \ "$@" diff --git a/project/jni/openssl/setCrossEnvironment-x86.sh b/project/jni/openssl/setCrossEnvironment-x86.sh index 393f285d9..cb6f91a14 100755 --- a/project/jni/openssl/setCrossEnvironment-x86.sh +++ b/project/jni/openssl/setCrossEnvironment-x86.sh @@ -16,7 +16,6 @@ elif uname -s | grep -i "windows" > /dev/null ; then fi #echo NDK $NDK -GCCPREFIX=i686-linux-android [ -z "$NDK_TOOLCHAIN_VERSION" ] && NDK_TOOLCHAIN_VERSION=4.9 LOCAL_PATH=`dirname $0` if which realpath > /dev/null ; then @@ -25,31 +24,20 @@ else LOCAL_PATH=`cd $LOCAL_PATH && pwd` fi ARCH=x86 +GCCPREFIX=i686-linux-android +APILEVEL=16 CFLAGS=" ---target=i686-none-linux-android16 ---gcc-toolchain=$NDK/toolchains/x86-4.9/prebuilt/linux-x86_64 ---sysroot=$NDK/sysroot --isystem -$NDK/sources/cxx-stl/llvm-libc++/include --isystem -$NDK/sources/android/support/include --isystem -$NDK/sources/cxx-stl/llvm-libc++abi/include --isystem -$NDK/sysroot/usr/include/i686-linux-android -g --DANDROID -ffunction-sections -funwind-tables +-fdata-sections -fstack-protector-strong -no-canonical-prefixes --mstackrealign --Wa,--noexecstack -Wformat -Werror=format-security --O2 +-Oz -DNDEBUG -fPIC $CFLAGS" @@ -57,33 +45,21 @@ $CFLAGS" CFLAGS="`echo $CFLAGS | tr '\n' ' '`" LDFLAGS=" ---target=i686-none-linux-android16 ---gcc-toolchain=$NDK/toolchains/x86-4.9/prebuilt/linux-x86_64 ---sysroot=$NDK/sysroot -fPIC --isystem -$NDK/sysroot/usr/include/i686-linux-android -g --DANDROID -ffunction-sections +-fdata-sections +-Wl,--gc-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes --mstackrealign --Wa,--noexecstack -Wformat -Werror=format-security --O2 +-Oz -DNDEBUG --Wl,--exclude-libs,libgcc.a --Wl,--exclude-libs,libatomic.a --nostdlib++ ---sysroot -$NDK/platforms/android-16/arch-x86 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings --L$NDK/sources/cxx-stl/llvm-libc++/libs/x86 -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments @@ -94,28 +70,26 @@ $NDK/platforms/android-16/arch-x86 -llog -latomic -lm -$NDK/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a -$NDK/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a -$NDK/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a -$LDFLAGS" +$LDFLAGS +" LDFLAGS="`echo $LDFLAGS | tr '\n' ' '`" -CC="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/clang" -CXX="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/clang++" +CC="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX$APILEVEL-clang" +CXX="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX$APILEVEL-clang++" CPP="$CC -E $CFLAGS" -env PATH=$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin:$LOCAL_PATH:$PATH \ +env \ CFLAGS="$CFLAGS" \ CXXFLAGS="$CXXFLAGS $CFLAGS -frtti -fexceptions" \ LDFLAGS="$LDFLAGS" \ CC="$CC" \ CXX="$CXX" \ -RANLIB="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-ranlib" \ -LD="$CC" \ -AR="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-ar" \ +RANLIB="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-ranlib" \ +LD="$CXX" \ +AR="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-ar" \ CPP="$CPP" \ -NM="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-nm" \ -AS="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-as" \ -STRIP="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-strip" \ +NM="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-nm" \ +AS="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-as" \ +STRIP="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-strip" \ "$@" diff --git a/project/jni/openssl/setCrossEnvironment-x86_64.sh b/project/jni/openssl/setCrossEnvironment-x86_64.sh index fb27903e8..a92e59027 100755 --- a/project/jni/openssl/setCrossEnvironment-x86_64.sh +++ b/project/jni/openssl/setCrossEnvironment-x86_64.sh @@ -16,7 +16,6 @@ elif uname -s | grep -i "windows" > /dev/null ; then fi #echo NDK $NDK -GCCPREFIX=x86_64-linux-android [ -z "$NDK_TOOLCHAIN_VERSION" ] && NDK_TOOLCHAIN_VERSION=4.9 LOCAL_PATH=`dirname $0` if which realpath > /dev/null ; then @@ -25,28 +24,20 @@ else LOCAL_PATH=`cd $LOCAL_PATH && pwd` fi ARCH=x86_64 +GCCPREFIX=x86_64-linux-android +APILEVEL=21 CFLAGS=" ---target=x86_64-none-linux-android21 ---gcc-toolchain=$NDK/toolchains/x86_64-4.9/prebuilt/linux-x86_64 ---sysroot=$NDK/sysroot --isystem -$NDK/sources/cxx-stl/llvm-libc++/include --isystem -$NDK/sources/cxx-stl/llvm-libc++abi/include --isystem -$NDK/sysroot/usr/include/x86_64-linux-android -g --DANDROID -ffunction-sections +-fdata-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes --Wa,--noexecstack -Wformat -Werror=format-security --O2 +-Oz -DNDEBUG -fPIC $CFLAGS" @@ -54,32 +45,21 @@ $CFLAGS" CFLAGS="`echo $CFLAGS | tr '\n' ' '`" LDFLAGS=" ---target=x86_64-none-linux-android21 ---gcc-toolchain=$NDK/toolchains/x86_64-4.9/prebuilt/linux-x86_64 ---sysroot=$NDK/sysroot -fPIC --isystem -$NDK/sysroot/usr/include/x86_64-linux-android -g --DANDROID -ffunction-sections +-fdata-sections +-Wl,--gc-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes --Wa,--noexecstack -Wformat -Werror=format-security --O2 +-Oz -DNDEBUG --Wl,--exclude-libs,libgcc.a --Wl,--exclude-libs,libatomic.a --nostdlib++ ---sysroot -$NDK/platforms/android-21/arch-x86_64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings --L$NDK/sources/cxx-stl/llvm-libc++/libs/x86_64 -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments @@ -90,27 +70,26 @@ $NDK/platforms/android-21/arch-x86_64 -llog -latomic -lm -$NDK/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a -$NDK/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a -$LDFLAGS" +$LDFLAGS +" LDFLAGS="`echo $LDFLAGS | tr '\n' ' '`" -CC="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/clang" -CXX="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/clang++" +CC="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX$APILEVEL-clang" +CXX="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX$APILEVEL-clang++" CPP="$CC -E $CFLAGS" -env PATH=$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin:$LOCAL_PATH:$PATH \ +env \ CFLAGS="$CFLAGS" \ CXXFLAGS="$CXXFLAGS $CFLAGS -frtti -fexceptions" \ LDFLAGS="$LDFLAGS" \ CC="$CC" \ CXX="$CXX" \ -RANLIB="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-ranlib" \ -LD="$CC" \ -AR="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-ar" \ +RANLIB="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-ranlib" \ +LD="$CXX" \ +AR="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-ar" \ CPP="$CPP" \ -NM="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-nm" \ -AS="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-as" \ -STRIP="$NDK/toolchains/$ARCH-$NDK_TOOLCHAIN_VERSION/prebuilt/$MYARCH/bin/$GCCPREFIX-strip" \ +NM="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-nm" \ +AS="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-as" \ +STRIP="$NDK/toolchains/llvm/prebuilt/$MYARCH/bin/$GCCPREFIX-strip" \ "$@"