From ed7620ad48aee84ea9235902089d87a92516736c Mon Sep 17 00:00:00 2001 From: Wenbo Yang Date: Tue, 7 Feb 2017 09:48:40 +0800 Subject: [PATCH] Build scripts use NDK_HOME env var. --- third_party/build-openblas.sh | 25 +++++++++++++++---------- third_party/build-protobuf-3.1.0.sh | 13 +++++++++++-- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/third_party/build-openblas.sh b/third_party/build-openblas.sh index 4790005..03b3f11 100755 --- a/third_party/build-openblas.sh +++ b/third_party/build-openblas.sh @@ -8,10 +8,9 @@ MAKE_FLAGS="$MAKE_FLAGS -j 4" BUILD_DIR=".cbuild" # Options for Android -ANDROID_NDK=/opt/android-ndk-r13b ANDROID_NATIVE_API_LEVEL=21 +# Options: "arm64-v8a" "armeabi-v7a with NEON" ANDROID_ABI="armeabi-v7a with NEON" -ANDROID_ABI="arm64-v8a" # Build Environment if [ "$(uname)" = "Darwin" ]; then @@ -61,14 +60,24 @@ function build-Android { echo "#####################" echo "$(tput sgr0)" + # Test ENV NDK_HOME + if [ ! -d "$NDK_HOME" ]; then + echo "$(tput setaf 2)" + echo "###########################################################" + echo " ERROR: Invalid NDK_HOME=\"$NDK_HOME\" env variable, exit. " + echo "###########################################################" + echo "$(tput sgr0)" + exit 1 + fi + if [ "${ANDROID_ABI}" = "armeabi-v7a with NEON" ]; then - CROSS_SUFFIX=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/${OS}-${BIT}/bin/arm-linux-androideabi- - SYSROOT=$ANDROID_NDK/platforms/android-$ANDROID_NATIVE_API_LEVEL/arch-arm + CROSS_SUFFIX=$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/${OS}-${BIT}/bin/arm-linux-androideabi- + SYSROOT=$NDK_HOME/platforms/android-$ANDROID_NATIVE_API_LEVEL/arch-arm TARGET=ARMV7 BINARY=32 elif [ "${ANDROID_ABI}" = "arm64-v8a" ]; then - CROSS_SUFFIX=$ANDROID_NDK/toolchains/aarch64-linux-android-4.9/prebuilt/${OS}-${BIT}/bin/aarch64-linux-android- - SYSROOT=$ANDROID_NDK/platforms/android-$ANDROID_NATIVE_API_LEVEL/arch-arm64 + CROSS_SUFFIX=$NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/${OS}-${BIT}/bin/aarch64-linux-android- + SYSROOT=$NDK_HOME/platforms/android-$ANDROID_NATIVE_API_LEVEL/arch-arm64 TARGET=ARMV8 BINARY=64 else @@ -106,9 +115,5 @@ function build-Android { cd .. } -ANDROID_ABI="armeabi-v7a with NEON" fetch-OpenBLAS build-$PLATFORM -#ANDROID_ABI="arm64-v8a" -#fetch-OpenBLAS -#build-$PLATFORM diff --git a/third_party/build-protobuf-3.1.0.sh b/third_party/build-protobuf-3.1.0.sh index fa53a90..caf9a84 100755 --- a/third_party/build-protobuf-3.1.0.sh +++ b/third_party/build-protobuf-3.1.0.sh @@ -13,7 +13,6 @@ MAKE_FLAGS="$MAKE_FLAGS -j 4" BUILD_DIR=".cbuild" # Options for Android -ANDROID_NDK=/opt/android-ndk-r13b ANDROID_ABI="armeabi-v7a with NEON" ANDROID_NATIVE_API_LEVEL=21 BUILD_PROTOC=OFF @@ -76,6 +75,16 @@ function build-Android { echo "#####################" echo "$(tput sgr0)" + # Test ENV NDK_HOME + if [ ! -d "$NDK_HOME" ]; then + echo "$(tput setaf 2)" + echo "###########################################################" + echo " ERROR: Invalid NDK_HOME=\"$NDK_HOME\" env variable, exit. " + echo "###########################################################" + echo "$(tput sgr0)" + exit 1 + fi + mkdir -p protobuf-$PB_VERSION/$BUILD_DIR rm -rf protobuf-$PB_VERSION/$BUILD_DIR/* cd protobuf-$PB_VERSION/$BUILD_DIR @@ -86,7 +95,7 @@ function build-Android { # fi cmake ../cmake -DCMAKE_INSTALL_PREFIX=../../protobuf-$TARGET\ -DCMAKE_TOOLCHAIN_FILE="../../android-cmake/android.toolchain.cmake" \ - -DANDROID_NDK="$ANDROID_NDK" \ + -DANDROID_NDK="$NDK_HOME" \ -DANDROID_ABI="$ANDROID_ABI" \ -DANDROID_NATIVE_API_LEVEL="$ANDROID_NATIVE_API_LEVEL" \ -Dprotobuf_BUILD_TESTS=OFF \