diff --git a/AudioFilter/build.sh b/AudioFilter/build.sh index 36e6d300b7ea634318c0616eb29561fab440c586..e620f66659fb78146c20c8e5b712805a0c2c664a 100755 --- a/AudioFilter/build.sh +++ b/AudioFilter/build.sh @@ -214,39 +214,27 @@ then #========================================================= export HOST_TAG=linux-x86_64 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG + export AR=$TOOLCHAIN/bin/llvm-ar + export AS=$TOOLCHAIN/bin/llvm-as + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip + export ANDROID_SYSROOT=$TOOLCHAIN/sysroot if [ "$CURRENT_ABI" = armeabi-v7a ] then - export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar - export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++ - export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld - export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib - export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot elif [ "$CURRENT_ABI" = arm64-v8a ] then - export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar - export AS=$TOOLCHAIN/bin/aarch64-linux-android-as export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot elif [ "$CURRENT_ABI" = x86_64 ] then - export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar - export AS=$TOOLCHAIN/bin/x86_64-linux-android-as export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot else echo "ABI NOT OK" >&2 @@ -272,21 +260,6 @@ then #NDK SOURCES FOR cpufeatures NDK_SOURCES=${ANDROID_NDK}/sources/android - #========================================================= - # LD_FLAGS - #========================================================= - if [ "$CURRENT_ABI" = armeabi-v7a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21" - elif [ "$CURRENT_ABI" = arm64-v8a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21" - elif [ "$CURRENT_ABI" = x86_64 ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21" - fi - - if [ -f "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" ]; then rm "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" fi @@ -301,12 +274,10 @@ then #========================================================= # Create so destination folder - $CXX --std=c++17 -O3 -g -fPIC \ + $CXX --std=c++17 -O3 -fPIC \ -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \ -shared \ -Wall -Wextra \ - -Wno-unused-variable \ - -Wno-unused-function \ -Wno-unused-parameter \ -I"." \ -I"${DAEMON_SRC}" \ diff --git a/AutoAnswer/build.sh b/AutoAnswer/build.sh index 8b136ecebff0a086fe44959185ef5c0c7b4230e0..1bdfb947157936bf5ac4276aa4c0ddd6a35b3235 100755 --- a/AutoAnswer/build.sh +++ b/AutoAnswer/build.sh @@ -135,39 +135,27 @@ then #========================================================= export HOST_TAG=linux-x86_64 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG + export AR=$TOOLCHAIN/bin/llvm-ar + export AS=$TOOLCHAIN/bin/llvm-as + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip + export ANDROID_SYSROOT=$TOOLCHAIN/sysroot if [ "$CURRENT_ABI" = armeabi-v7a ] then - export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar - export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++ - export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld - export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib - export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot elif [ "$CURRENT_ABI" = arm64-v8a ] then - export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar - export AS=$TOOLCHAIN/bin/aarch64-linux-android-as export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot elif [ "$CURRENT_ABI" = x86_64 ] then - export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar - export AS=$TOOLCHAIN/bin/x86_64-linux-android-as export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot else echo "ABI NOT OK" >&2 @@ -190,29 +178,12 @@ then CONTRIB_PLATFORM=x86_64-linux-android fi - #NDK SOURCES FOR cpufeatures - NDK_SOURCES=${ANDROID_NDK}/sources/android - - #========================================================= - # LD_FLAGS - #========================================================= - if [ "$CURRENT_ABI" = armeabi-v7a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21" - elif [ "$CURRENT_ABI" = arm64-v8a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21" - elif [ "$CURRENT_ABI" = x86_64 ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21" - fi - #========================================================= # Compile the plugin #========================================================= # Create so destination folder - $CXX --std=c++17 -O3 -g -fPIC \ + $CXX --std=c++17 -O3 -fPIC \ -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \ -shared \ -Wall -Wextra \ diff --git a/GreenScreen/build.sh b/GreenScreen/build.sh index 725334de970fc57444b8ad7ff21681e78c3454e6..010b81f8854eb1344eed007b9deb6a55d37bff12 100755 --- a/GreenScreen/build.sh +++ b/GreenScreen/build.sh @@ -298,39 +298,27 @@ then #========================================================= export HOST_TAG=linux-x86_64 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG + export AR=$TOOLCHAIN/bin/llvm-ar + export AS=$TOOLCHAIN/bin/llvm-as + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip + export ANDROID_SYSROOT=$TOOLCHAIN/sysroot if [ "$CURRENT_ABI" = armeabi-v7a ] then - export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar - export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++ - export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld - export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib - export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot elif [ "$CURRENT_ABI" = arm64-v8a ] then - export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar - export AS=$TOOLCHAIN/bin/aarch64-linux-android-as export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot elif [ "$CURRENT_ABI" = x86_64 ] then - export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar - export AS=$TOOLCHAIN/bin/x86_64-linux-android-as export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot else echo "ABI NOT OK" >&2 @@ -356,20 +344,6 @@ then #NDK SOURCES FOR cpufeatures NDK_SOURCES=${ANDROID_NDK}/sources/android - #========================================================= - # LD_FLAGS - #========================================================= - if [ "$CURRENT_ABI" = armeabi-v7a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21" - elif [ "$CURRENT_ABI" = arm64-v8a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21" - elif [ "$CURRENT_ABI" = x86_64 ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21" - fi - if [ -f "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" ]; then rm "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" fi @@ -396,12 +370,10 @@ then fi # Create so destination folder - $CXX --std=c++17 -O3 -g -fPIC \ + $CXX --std=c++17 -O3 -fPIC \ -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \ -shared \ -Wall -Wextra \ - -Wno-unused-variable \ - -Wno-unused-function \ -Wno-unused-parameter \ -DANDROID \ -I"." \ diff --git a/GreenScreen/ffmpeg/rules.mak b/GreenScreen/ffmpeg/rules.mak index 372c048683b146b97428892d426332cabd3f344a..86b58a80952106f0a278e330d9b9bfda6b5bc659 100644 --- a/GreenScreen/ffmpeg/rules.mak +++ b/GreenScreen/ffmpeg/rules.mak @@ -201,6 +201,7 @@ FFMPEGCONF += \ --target-os=android \ --enable-jni \ --enable-mediacodec \ + --disable-vulkan \ --enable-decoder=vp8_mediacodec \ --enable-decoder=h264_mediacodec \ --enable-decoder=mpeg4_mediacodec \ diff --git a/HelloWorld/build.sh b/HelloWorld/build.sh index 75f14c11d4ccd85d102a9be9499fc3f8e307932f..f1a89e0bbaaa9575438c76be173cacf8c273315b 100755 --- a/HelloWorld/build.sh +++ b/HelloWorld/build.sh @@ -161,39 +161,27 @@ then #========================================================= export HOST_TAG=linux-x86_64 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG + export AR=$TOOLCHAIN/bin/llvm-ar + export AS=$TOOLCHAIN/bin/llvm-as + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip + export ANDROID_SYSROOT=$TOOLCHAIN/sysroot if [ "$CURRENT_ABI" = armeabi-v7a ] then - export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar - export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++ - export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld - export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib - export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot elif [ "$CURRENT_ABI" = arm64-v8a ] then - export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar - export AS=$TOOLCHAIN/bin/aarch64-linux-android-as export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot elif [ "$CURRENT_ABI" = x86_64 ] then - export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar - export AS=$TOOLCHAIN/bin/x86_64-linux-android-as export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot else echo "ABI NOT OK" >&2 @@ -216,34 +204,15 @@ then CONTRIB_PLATFORM=x86_64-linux-android fi - #NDK SOURCES FOR cpufeatures - NDK_SOURCES=${ANDROID_NDK}/sources/android - - #========================================================= - # LD_FLAGS - #========================================================= - if [ "$CURRENT_ABI" = armeabi-v7a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21" - elif [ "$CURRENT_ABI" = arm64-v8a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21" - elif [ "$CURRENT_ABI" = x86_64 ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21" - fi - #========================================================= # Compile the plugin #========================================================= # Create so destination folder - $CXX --std=c++17 -O3 -g -fPIC \ + $CXX --std=c++17 -O3 -fPIC \ -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \ -shared \ -Wall -Wextra \ - -Wno-unused-variable \ - -Wno-unused-function \ -Wno-unused-parameter \ -I"." \ -I"${DAEMON_SRC}" \ diff --git a/README_ASSEMBLE.md b/README_ASSEMBLE.md index a1c96b28982fc0c4e2c0de626164972382359fc2..d83c45db6f3a940feeb9d86595d570a3de05b0e8 100644 --- a/README_ASSEMBLE.md +++ b/README_ASSEMBLE.md @@ -16,10 +16,11 @@ For Android: export TARGET=aarch64-linux-android export CC=$TOOLCHAIN/bin/$TARGET$ANDROID_API-clang export CXX=$TOOLCHAIN/bin/$TARGET$ANDROID_API-clang++ - export AR=$TOOLCHAIN/bin/$TARGET-ar - export LD=$TOOLCHAIN/bin/$TARGET-ld - export RANLIB=$TOOLCHAIN/bin/$TARGET-ranlib - export STRIP=$TOOLCHAIN/bin/$TARGET-strip + export AR=$TOOLCHAIN/bin/llvm-ar + export AS=$TOOLCHAIN/bin/llvm-as + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip export PATH=$PATH:$TOOLCHAIN/bin cd contrib mkdir native diff --git a/SDK/Templates/build.sh b/SDK/Templates/build.sh index 5f47c01ea3e29a11a2606adc45dc9e64c195456a..6c23c1605d0e4c587c990ae6ab3197333254838a 100644 --- a/SDK/Templates/build.sh +++ b/SDK/Templates/build.sh @@ -97,39 +97,27 @@ then #========================================================= export HOST_TAG=linux-x86_64 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG + export AR=$TOOLCHAIN/bin/llvm-ar + export AS=$TOOLCHAIN/bin/llvm-as + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip + export ANDROID_SYSROOT=$TOOLCHAIN/sysroot if [ "$CURRENT_ABI" = armeabi-v7a ] then - export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar - export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++ - export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld - export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib - export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot elif [ "$CURRENT_ABI" = arm64-v8a ] then - export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar - export AS=$TOOLCHAIN/bin/aarch64-linux-android-as export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot elif [ "$CURRENT_ABI" = x86_64 ] then - export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar - export AS=$TOOLCHAIN/bin/x86_64-linux-android-as export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot else echo "ABI NOT OK" >&2 @@ -152,34 +140,15 @@ then CONTRIB_PLATFORM=x86_64-linux-android fi - #NDK SOURCES FOR cpufeatures - NDK_SOURCES=${ANDROID_NDK}/sources/android - - #========================================================= - # LD_FLAGS - #========================================================= - if [ "$CURRENT_ABI" = armeabi-v7a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21" - elif [ "$CURRENT_ABI" = arm64-v8a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21" - elif [ "$CURRENT_ABI" = x86_64 ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21" - fi - #========================================================= # Compile the plugin #========================================================= # Create so destination folder - $CXX --std=c++17 -O3 -g -fPIC \ + $CXX --std=c++17 -O3 -fPIC \ -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \ -shared \ -Wall -Wextra \ - -Wno-unused-variable \ - -Wno-unused-function \ -Wno-unused-parameter \ -I"." \ -I"${DAEMON_SRC}" \ diff --git a/TensorflowSegmentation/build.sh b/TensorflowSegmentation/build.sh index b2c3a13b7713b3f2de3e8ceb33146f96ce80cd86..ddeb35462d757f82aec322678242f9ecd5803961 100755 --- a/TensorflowSegmentation/build.sh +++ b/TensorflowSegmentation/build.sh @@ -205,39 +205,27 @@ then #========================================================= export HOST_TAG=linux-x86_64 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG + export AR=$TOOLCHAIN/bin/llvm-ar + export AS=$TOOLCHAIN/bin/llvm-as + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip + export ANDROID_SYSROOT=$TOOLCHAIN/sysroot if [ "$CURRENT_ABI" = armeabi-v7a ] then - export AR=$TOOLCHAIN/bin/arm-linux-android-ar - export AS=$TOOLCHAIN/bin/arm-linux-android-as export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++ - export LD=$TOOLCHAIN/bin/arm-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/arm-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot elif [ "$CURRENT_ABI" = arm64-v8a ] then - export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar - export AS=$TOOLCHAIN/bin/aarch64-linux-android-as export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot elif [ "$CURRENT_ABI" = x86_64 ] then - export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar - export AS=$TOOLCHAIN/bin/x86_64-linux-android-as export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot else echo "ABI NOT OK" >&2 @@ -263,20 +251,6 @@ then #NDK SOURCES FOR cpufeatures NDK_SOURCES=${ANDROID_NDK}/sources/android - #========================================================= - # LD_FLAGS - #========================================================= - if [ "$CURRENT_ABI" = armeabi-v7a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21" - elif [ "$CURRENT_ABI" = arm64-v8a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21" - elif [ "$CURRENT_ABI" = x86_64 ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21" - fi - #========================================================= # Compile CPU FEATURES, NEEDED FOR OPENCV #========================================================= @@ -287,12 +261,10 @@ then #========================================================= # Create so destination folder - $CXX --std=c++17 -O3 -g -fPIC \ + $CXX --std=c++17 -O3 -fPIC \ -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \ -shared \ -Wall -Wextra \ - -Wno-unused-variable \ - -Wno-unused-function \ -Wno-unused-parameter \ -DTFLITE \ -I"." \ diff --git a/WaterMark/build.sh b/WaterMark/build.sh index f2a3e37e9cf7e0eb4a2798ccfc92fb378595faaf..7df63f2b9928ee300a0ff0e7fbbb9b2647ad7336 100755 --- a/WaterMark/build.sh +++ b/WaterMark/build.sh @@ -221,39 +221,27 @@ then #========================================================= export HOST_TAG=linux-x86_64 export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG + export AR=$TOOLCHAIN/bin/llvm-ar + export AS=$TOOLCHAIN/bin/llvm-as + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip + export ANDROID_SYSROOT=$TOOLCHAIN/sysroot if [ "$CURRENT_ABI" = armeabi-v7a ] then - export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar - export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++ - export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld - export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib - export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot elif [ "$CURRENT_ABI" = arm64-v8a ] then - export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar - export AS=$TOOLCHAIN/bin/aarch64-linux-android-as export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot elif [ "$CURRENT_ABI" = x86_64 ] then - export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar - export AS=$TOOLCHAIN/bin/x86_64-linux-android-as export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++ - export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld - export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib - export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip - export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot else echo "ABI NOT OK" >&2 @@ -276,23 +264,6 @@ then CONTRIB_PLATFORM=x86_64-linux-android fi - #NDK SOURCES FOR cpufeatures - NDK_SOURCES=${ANDROID_NDK}/sources/android - - #========================================================= - # LD_FLAGS - #========================================================= - if [ "$CURRENT_ABI" = armeabi-v7a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21" - elif [ "$CURRENT_ABI" = arm64-v8a ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21" - elif [ "$CURRENT_ABI" = x86_64 ] - then - export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21" - fi - if [ -f "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" ]; then rm "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" fi diff --git a/contrib/build-dependencies.sh b/contrib/build-dependencies.sh index aeb88b45669cd591378b8725770b7ffc7ceecca3..24f3f4a9c15b8a8912963f25c08eb1774c798345 100755 --- a/contrib/build-dependencies.sh +++ b/contrib/build-dependencies.sh @@ -14,68 +14,46 @@ if [ -z "$ANDROID_ABI" ]; then exit 1 fi -HAVE_ARM=0 -HAVE_X86=0 -HAVE_64=0 +platform=$(echo "`uname`" | tr '[:upper:]' '[:lower:]') +arch=`uname -m` # Set up ABI variables if [ ${ANDROID_ABI} = "x86" ] ; then - TARGET_TUPLE="i686-linux-android" - PJ_TARGET_TUPLE="i686-pc-linux-android" - PATH_HOST="x86" - HAVE_X86=1 + TARGET="i686-linux-android" + PJ_TARGET="i686-pc-linux-android" PLATFORM_SHORT_ARCH="x86" elif [ ${ANDROID_ABI} = "x86_64" ] ; then - TARGET_TUPLE="x86_64-linux-android" - PJ_TARGET_TUPLE="x86_64-pc-linux-android" - PATH_HOST="x86_64" - HAVE_X86=1 - HAVE_64=1 + TARGET="x86_64-linux-android" + PJ_TARGET="x86_64-pc-linux-android" PLATFORM_SHORT_ARCH="x86_64" elif [ ${ANDROID_ABI} = "arm64-v8a" ] ; then - TARGET_TUPLE="aarch64-linux-android" - PJ_TARGET_TUPLE="aarch64-unknown-linux-android" - PATH_HOST=$TARGET_TUPLE - HAVE_ARM=1 - HAVE_64=1 + TARGET="aarch64-linux-android" + PJ_TARGET="aarch64-unknown-linux-android" PLATFORM_SHORT_ARCH="arm64" -else - TARGET_TUPLE="arm-linux-androideabi" - PJ_TARGET_TUPLE="arm-unknown-linux-androideabi" - PATH_HOST=$TARGET_TUPLE - HAVE_ARM=1 +elif [ ${ANDROID_ABI} = "armeabi-v7a" ] ; then + TARGET_CC="armv7a-linux-androideabi" + TARGET="arm-linux-androideabi" + PJ_TARGET="arm-unknown-linux-androideabi" PLATFORM_SHORT_ARCH="arm" -fi - -if [ "${HAVE_64}" = 1 ];then - LIBDIR=lib64 else - LIBDIR=lib -fi -ANDROID_API_VERS=21 -ANDROID_API=android-$ANDROID_API_VERS - -export ANDROID_TOOLCHAIN="`pwd`/../../client-android/android-toolchain-$ANDROID_API_VERS-$PLATFORM_SHORT_ARCH" -if [ ! -d "$ANDROID_TOOLCHAIN" ]; then - $ANDROID_NDK/build/tools/make_standalone_toolchain.py \ - --arch=$PLATFORM_SHORT_ARCH \ - --api $ANDROID_API_VERS \ - --stl libc++ \ - --install-dir=$ANDROID_TOOLCHAIN + echo "ABI not supported" + exit 1 fi -export ANDROID_API -export TARGET_TUPLE -export HAVE_ARM -export HAVE_X86 -export HAVE_64 +TARGET_CC=${TARGET_CC:-$TARGET} + +export API=21 +export ANDROID_API=android-$API +export ANDROID_TOOLCHAIN="${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64" +export TARGET # Add the NDK toolchain to the PATH, needed both for contribs and for building # stub libraries NDK_TOOLCHAIN_PATH="${ANDROID_TOOLCHAIN}/bin" -CROSS_COMPILE=${NDK_TOOLCHAIN_PATH}/${TARGET_TUPLE}- export PATH=${NDK_TOOLCHAIN_PATH}:${PATH} -export CROSS_COMPILE="${CROSS_COMPILE}" +export SYSROOT=$ANDROID_TOOLCHAIN/sysroot + +export CROSS_COMPILE="${NDK_TOOLCHAIN_PATH}/${TARGET_TUPLE}-" export SYSROOT=$ANDROID_TOOLCHAIN/sysroot if [ -z "$DAEMON_DIR" ]; then @@ -93,32 +71,10 @@ if [ ! -d "$DAEMON_DIR" ]; then fi export DAEMON_DIR -# Setup LDFLAGS -if [ ${ANDROID_ABI} = "armeabi-v7a" ] ; then - EXTRA_CFLAGS="${EXTRA_CFLAGS} -march=armv7-a -mthumb -mfpu=vfpv3-d16" - EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -march=armv7-a -mthumb -mfpu=vfpv3-d16" -elif [ ${ANDROID_ABI} = "arm64-v8a" ] ; then - EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${SYSROOT}/usr/lib -L${ANDROID_TOOLCHAIN}/${TARGET_TUPLE}/lib" -fi -EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_TOOLCHAIN}/${TARGET_TUPLE}/${LIBDIR}/${ANDROID_ABI} -L${ANDROID_TOOLCHAIN}/${TARGET_TUPLE}/${LIBDIR}" -EXTRA_CFLAGS="${EXTRA_CFLAGS} -fPIC" -EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS} -fPIC" -EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${SYSROOT}/usr/${LIBDIR}" -echo "EXTRA_CFLAGS= ${EXTRA_CFLAGS}" >> config.mak -echo "EXTRA_CXXFLAGS= ${EXTRA_CXXFLAGS}" >> config.mak -echo "EXTRA_LDFLAGS= ${EXTRA_LDFLAGS}" >> config.mak - -echo "Daemon in debug mode." - # Make in // -UNAMES=$(uname -s) MAKEFLAGS= -if which nproc >/dev/null -then -MAKEFLAGS=-j`nproc` -elif [ "$UNAMES" == "Darwin" ] && which sysctl >/dev/null -then -MAKEFLAGS=-j`sysctl -n machdep.cpu.thread_count` +if which nproc >/dev/null; then + MAKEFLAGS=-j`nproc` fi # Build buildsystem tools @@ -130,12 +86,26 @@ make $MAKEFLAGS make .pkg-config make .gas +# Setup cross-compilation build environemnt +export AR=$NDK_TOOLCHAIN_PATH/llvm-ar +export AS=$NDK_TOOLCHAIN_PATH/${TARGET}-as +export CC=$NDK_TOOLCHAIN_PATH/$TARGET_CC$API-clang +export CXX=$NDK_TOOLCHAIN_PATH/$TARGET_CC$API-clang++ +export LD=$NDK_TOOLCHAIN_PATH/ld +export RANLIB=$NDK_TOOLCHAIN_PATH/llvm-ranlib +export STRIP=$NDK_TOOLCHAIN_PATH/llvm-strip + +FLAGS_COMMON="-fPIC" +EXTRA_CFLAGS="${EXTRA_CFLAGS} ${FLAGS_COMMON}" +EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS} ${FLAGS_COMMON}" +EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -llog" + ############ # Contribs # ############ echo "Building the contribs" -CONTRIB_DIR=${DAEMON_DIR}/contrib/native-${TARGET_TUPLE} -CONTRIB_SYSROOT=${DAEMON_DIR}/contrib/${TARGET_TUPLE} +CONTRIB_DIR=${DAEMON_DIR}/contrib/native-${TARGET} +CONTRIB_SYSROOT=${DAEMON_DIR}/contrib/${TARGET} mkdir -p ${CONTRIB_DIR} mkdir -p ${CONTRIB_SYSROOT}/lib/pkgconfig @@ -143,7 +113,17 @@ echo "copying files" cp -r ${CURRENTDIR}/freetype ${DAEMON_DIR}/contrib/src cd ${CONTRIB_DIR} -../bootstrap --host=${TARGET_TUPLE} --enable-freetype --enable-ffmpeg --disable-webrtc-audio-processing --disable-argon2 --disable-asio --enable-fmt --disable-gcrypt --disable-gmp --disable-gnutls --disable-gpg-error --disable-gsm --disable-http_parser --disable-jack --disable-jsoncpp --disable-libarchive --disable-libressl --disable-msgpack --disable-natpmp --disable-nettle --enable-opencv --disable-opendht --disable-pjproject --disable-portaudio --disable-restinio --disable-secp256k1 --disable-speexdsp --disable-upnp --disable-uuid --disable-yaml-cpp + +../bootstrap --host=${TARGET} --enable-freetype --enable-x264 --enable-ffmpeg \ + --disable-webrtc-audio-processing --disable-argon2 \ + --disable-asio --enable-fmt --disable-gcrypt --disable-gmp \ + --disable-gnutls --disable-gpg-error --disable-gsm \ + --disable-http_parser --disable-jack --disable-jsoncpp \ + --disable-libarchive --disable-libressl --disable-msgpack \ + --disable-natpmp --disable-nettle --enable-opencv --disable-opendht \ + --disable-pjproject --disable-portaudio --disable-restinio \ + --disable-secp256k1 --disable-speexdsp --disable-upnp \ + --disable-uuid --disable-yaml-cpp make list make fetch diff --git a/docker/Dockerfile_android_onnxruntime b/docker/Dockerfile_android_onnxruntime index 5ea23e5094950981684b0a77d500ce7735d2829e..d57ef33935724038746589b438f4ae490ac15f28 100644 --- a/docker/Dockerfile_android_onnxruntime +++ b/docker/Dockerfile_android_onnxruntime @@ -31,6 +31,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config \ software-properties-common \ python-is-python3 \ + pip \ ssh \ unzip \ wget \ @@ -45,32 +46,32 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && locale-gen $LANG $LC_ALL && update-locale $LANG $LC_ALL # Android SDK tools -ENV ANDROID_HOME /opt/android-sdk -ENV ANDROID_SDK_ROOT ${ANDROID_HOME} -RUN wget -O /tmp/android-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip && \ +RUN echo "prefer-family = IPv6" >> /etc/wgetrc +ENV ANDROID_HOME=/opt/android-sdk +ENV ANDROID_SDK_ROOT=${ANDROID_HOME} +RUN wget -O /tmp/android-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip && \ mkdir -p ${ANDROID_HOME} && \ unzip -q -d ${ANDROID_HOME} /tmp/android-tools.zip && \ rm -f /tmp/android-tools.zip && \ chown -R root:root ${ANDROID_HOME} -ENV PATH=${PATH}:${ANDROID_HOME}/tools/bin +ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/bin -# Swig 4.0.1 -RUN wget -O /tmp/swig.tar.gz https://github.com/swig/swig/archive/rel-4.0.1.tar.gz && \ +# Swig 4.0.2 +RUN wget -O /tmp/swig.tar.gz https://github.com/swig/swig/archive/rel-4.0.2.tar.gz && \ tar xzf /tmp/swig.tar.gz -C /opt && \ - cd /opt/swig-rel-4.0.1/ && ./autogen.sh && ./configure && make && make install && \ - cd .. && rm -rf /opt/swig-rel-4.0.1 /tmp/swig.tar.gz + cd /opt/swig-rel-4.0.2/ && ./autogen.sh && ./configure && make && make install && \ + cd .. && rm -rf /opt/swig-rel-4.0.2 /tmp/swig.tar.gz # Android SDK libraries, NDK RUN sdkmanager --sdk_root=${ANDROID_HOME} --update -RUN (while sleep 1; do echo "y"; done) | sdkmanager --sdk_root=${ANDROID_HOME} 'build-tools;30.0.2' \ - 'platforms;android-30'\ +RUN (while sleep 1; do echo "y"; done) | sdkmanager --channel=1 --sdk_root=${ANDROID_HOME} 'build-tools;32.0.0' \ + 'platforms;android-32'\ 'extras;android;m2repository'\ 'extras;google;m2repository'\ - 'ndk;21.3.6528147' -ENV ANDROID_SDK ${ANDROID_HOME} -ENV ANDROID_NDK ${ANDROID_HOME}/ndk/21.3.6528147 + 'ndk;25.0.8775105' +ENV ANDROID_SDK=${ANDROID_HOME} +ENV ANDROID_NDK=${ANDROID_HOME}/ndk/25.0.8775105 # Fastlane RUN gem install fastlane -NV ENV HOME=/tmp -