mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-17 14:25:49 +00:00
Bug 1820947 - Use "new style" sysroot when building Android compiler-rt. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D172073
This commit is contained in:
parent
f5844f16c5
commit
2cb3bbb9ce
@ -29,29 +29,11 @@ x86_64-apple-darwin)
|
||||
arch=x86_64
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.12
|
||||
;;
|
||||
armv7-linux-android)
|
||||
armv7-linux-android|i686-linux-android)
|
||||
api_level=16
|
||||
ndk_target=arm-linux-androideabi
|
||||
ndk_prefix=arm-linux-androideabi
|
||||
ndk_arch=arm
|
||||
;;
|
||||
aarch64-linux-android)
|
||||
aarch64-linux-android|x86_64-linux-android)
|
||||
api_level=21
|
||||
ndk_target=aarch64-linux-android
|
||||
ndk_prefix=aarch64-linux-android
|
||||
ndk_arch=arm64
|
||||
;;
|
||||
i686-linux-android)
|
||||
api_level=16
|
||||
ndk_target=i686-linux-android
|
||||
ndk_prefix=x86
|
||||
ndk_arch=x86
|
||||
;;
|
||||
x86_64-linux-android)
|
||||
api_level=21
|
||||
ndk_target=x86_64-linux-android
|
||||
ndk_prefix=x86_64
|
||||
ndk_arch=x86_64
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -85,25 +67,18 @@ case "$target" in
|
||||
PATH="$PATH:$PWD"
|
||||
;;
|
||||
*-linux-android)
|
||||
cflags="
|
||||
--gcc-toolchain=$MOZ_FETCHES_DIR/android-ndk/toolchains/$ndk_prefix-4.9/prebuilt/linux-x86_64
|
||||
-isystem $MOZ_FETCHES_DIR/android-ndk/sysroot/usr/include/$ndk_target
|
||||
-isystem $MOZ_FETCHES_DIR/android-ndk/sysroot/usr/include
|
||||
-D__ANDROID_API__=$api_level
|
||||
"
|
||||
# These flags are only necessary to pass the cmake tests.
|
||||
exe_linker_flags="
|
||||
--rtlib=libgcc
|
||||
-L$MOZ_FETCHES_DIR/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/$ndk_target/$api_level
|
||||
-L$MOZ_FETCHES_DIR/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/$ndk_target
|
||||
"
|
||||
target=$target$api_level
|
||||
# These flags are only necessary to pass the cmake tests. They don't end up
|
||||
# actually using libgcc, so use an empty library instead of trying to find
|
||||
# where it is in the NDK.
|
||||
if [ "$what" = "compiler-rt" ]; then
|
||||
exe_linker_flags="--rtlib=libgcc -L$PWD"
|
||||
touch libgcc.a
|
||||
fi
|
||||
EXTRA_CMAKE_FLAGS="
|
||||
$EXTRA_CMAKE_FLAGS
|
||||
-DCMAKE_SYSROOT=$MOZ_FETCHES_DIR/android-ndk/platforms/android-$api_level/arch-$ndk_arch
|
||||
-DCMAKE_SYSROOT=$MOZ_FETCHES_DIR/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot
|
||||
-DCMAKE_LINKER=$MOZ_FETCHES_DIR/clang/bin/ld.lld
|
||||
-DCMAKE_C_FLAGS='-fPIC $cflags'
|
||||
-DCMAKE_ASM_FLAGS='$cflags'
|
||||
-DCMAKE_CXX_FLAGS='-fPIC -Qunused-arguments $cflags'
|
||||
-DCMAKE_EXE_LINKER_FLAGS='-fuse-ld=lld $exe_linker_flags'
|
||||
-DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld
|
||||
-DANDROID=1
|
||||
|
Loading…
x
Reference in New Issue
Block a user