diff --git a/TMessagesProj/jni/build_ffmpeg_clang.sh b/TMessagesProj/jni/build_ffmpeg_clang.sh index e0aa26359ac..8fd1dd5d4e2 100755 --- a/TMessagesProj/jni/build_ffmpeg_clang.sh +++ b/TMessagesProj/jni/build_ffmpeg_clang.sh @@ -3,6 +3,9 @@ set -e function build_one { echo "Building ${ARCH}..." + LLVM_PREFIX="${NDK}/toolchains/llvm/prebuilt/${BUILD_PLATFORM}" + LLVM_BIN="${LLVM_PREFIX}/bin" + PREBUILT=${NDK}/toolchains/${PREBUILT_ARCH}${PREBUILT_MIDDLE}-${VERSION}/prebuilt/${BUILD_PLATFORM} PLATFORM=${NDK}/platforms/android-${ANDROID_API}/arch-${ARCH} @@ -153,8 +156,6 @@ checkPreRequisites cd ffmpeg ## common -LLVM_PREFIX="${NDK}/toolchains/llvm/prebuilt/linux-x86_64" -LLVM_BIN="${LLVM_PREFIX}/bin" VERSION="4.9" function build { diff --git a/TMessagesProj/jni/build_libvpx_clang.sh b/TMessagesProj/jni/build_libvpx_clang.sh index fa4933e011d..468427975ee 100755 --- a/TMessagesProj/jni/build_libvpx_clang.sh +++ b/TMessagesProj/jni/build_libvpx_clang.sh @@ -20,9 +20,15 @@ function build_one { export CXX=${CC_PREFIX}clang++ export AS=${CC_PREFIX}clang++ export CROSS_PREFIX=${PREBUILT}/bin/${ARCH_NAME}-linux-${BIN_MIDDLE}- - - + + export ISYSTEM="-isystem ${LLVM_PREFIX}/sysroot/usr/include/${ARCH_NAME}-linux-${BIN_MIDDLE} -isystem ${LLVM_PREFIX}/sysroot/usr/include" + export EXTRA_CFLAGS="--extra-cflags=\"${ISYSTEM}\"" + export CFLAGS="-DANDROID -fpic -fpie ${OPTIMIZE_CFLAGS}" + if [ "no" = ${SUPPORT_EXTRA_FLAGS} ]; then + export CFLAGS="-DANDROID -fpic -fpie ${OPTIMIZE_CFLAGS} ${ISYSTEM}" + export EXTRA_CFLAGS="" + fi export CPPFLAGS="${CFLAGS}" export CXXFLAGS="${CFLAGS} -std=c++11" export ASFLAGS="-D__ANDROID__" @@ -37,10 +43,16 @@ function build_one { echo "Configuring..." - + echo "CFLAGS=${CFLAGS}" + echo "CPPFLAGS=${CPPFLAGS}" + echo "CXXFLAGS=${CXXFLAGS}" + echo "LDFLAGS=${LDFLAGS}" + echo "ISYSTEM=${ISYSTEM}" + echo "SUPPORT_EXTRA_FLAGS=${SUPPORT_EXTRA_FLAGS}" + echo "EXTRA_CFLAGS=${EXTRA_CFLAGS}" ./configure \ - --extra-cflags="-isystem ${LLVM_PREFIX}/sysroot/usr/include/${ARCH_NAME}-linux-${BIN_MIDDLE} -isystem ${LLVM_PREFIX}/sysroot/usr/include" \ + ${EXTRA_CFLAGS} \ --libc="${LLVM_PREFIX}/sysroot" \ --prefix=${PREFIX} \ --target=${TARGET} \ @@ -83,15 +95,18 @@ function setCurrentPlatform { Darwin*) BUILD_PLATFORM=darwin-x86_64 COMPILATION_PROC_COUNT=`sysctl -n hw.physicalcpu` + SUPPORT_EXTRA_FLAGS=no ;; Linux*) BUILD_PLATFORM=linux-x86_64 COMPILATION_PROC_COUNT=$(nproc) + SUPPORT_EXTRA_FLAGS=yes ;; *) echo -e "\033[33mWarning! Unknown platform ${CURRENT_PLATFORM}! falling back to linux-x86_64\033[0m" BUILD_PLATFORM=linux-x86_64 COMPILATION_PROC_COUNT=1 + SUPPORT_EXTRA_FLAGS=yes ;; esac @@ -120,7 +135,7 @@ checkPreRequisites cd libvpx ## common -LLVM_PREFIX="${NDK}/toolchains/llvm/prebuilt/linux-x86_64" +LLVM_PREFIX="${NDK}/toolchains/llvm/prebuilt/${BUILD_PLATFORM}" LLVM_BIN="${LLVM_PREFIX}/bin" VERSION="4.9" ANDROID_API=21 diff --git a/TMessagesProj/jni/patch_ffmpeg.sh b/TMessagesProj/jni/patch_ffmpeg.sh index f2882690cac..0cf2bf5bebc 100755 --- a/TMessagesProj/jni/patch_ffmpeg.sh +++ b/TMessagesProj/jni/patch_ffmpeg.sh @@ -6,7 +6,13 @@ patch -d ffmpeg -p1 < patches/ffmpeg/0001-compilation-magic.patch patch -d ffmpeg -p1 < patches/ffmpeg/0002-compilation-magic-2.patch function cp { - install -D $@ + CURRENT_PLATFORM="$(uname -s)" + if [ "Darwin" = ${CURRENT_PLATFORM} ]; then + mkdir -p $(dirname $2) + install $@ + else + install -D $@ + fi } cp ffmpeg/libavformat/dv.h ffmpeg/build/arm64-v8a/include/libavformat/dv.h