Bug 1518630 - Build compiler-rt profiling library for android x86 and aarch64. r=froydnj

Differential Revision: https://phabricator.services.mozilla.com/D16911

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Chris Manchester 2019-01-18 01:55:41 +00:00
parent bd6c7faafc
commit 1df3f2bb45
2 changed files with 25 additions and 4 deletions

View File

@ -269,10 +269,11 @@ def build_one_stage(cc, cxx, asm, ld, ar, ranlib, libtool,
sysroot_dir = cfg["ndk_sysroot"]
android_gcc_dir = cfg["ndk_toolchain"]
android_include_dirs = cfg["ndk_includes"]
api_level = cfg["api_level"]
android_flags = ["-isystem %s" % d for d in android_include_dirs]
android_flags += ["--gcc-toolchain=%s" % android_gcc_dir]
android_flags += ["-D__ANDROID_API__=16"]
android_flags += ["-D__ANDROID_API__=%s" % api_level]
rt_c_flags = " ".join(android_flags + cc[1:])
rt_cxx_flags = " ".join(android_flags + cxx[1:])
rt_asm_flags = " ".join(android_flags + asm[1:])
@ -293,10 +294,11 @@ def build_one_stage(cc, cxx, asm, ld, ar, ranlib, libtool,
"-DRUNTIMES_%s_CMAKE_SYSROOT=%s" % (target, sysroot_dir),
"-DRUNTIMES_%s_COMPILER_RT_BUILD_PROFILE=ON" % target,
"-DRUNTIMES_%s_COMPILER_RT_BUILD_SANITIZERS=OFF" % target,
"-DRUNTIMES_%s_COMPILER_RT_BUILD_LIBFUZZER=OFF" % target,
"-DRUNTIMES_%s_COMPILER_RT_INCLUDE_TESTS=OFF" % target,
"-DRUNTIMES_%s_LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" % target,
"-DRUNTIMES_%s_LLVM_INCLUDE_TESTS=OFF" % target,
"-DRUNTIMES_%s_ANDROID_NATIVE_API_LEVEL=16" % target,
"-DRUNTIMES_%s_ANDROID_NATIVE_API_LEVEL=%s" % (target, api_level),
]
cmake_args += cmake_base_args(
@ -586,7 +588,7 @@ if __name__ == "__main__":
android_targets = None
if "android_targets" in config:
android_targets = config["android_targets"]
for attr in ("ndk_toolchain", "ndk_sysroot", "ndk_includes"):
for attr in ("ndk_toolchain", "ndk_sysroot", "ndk_includes", "api_level"):
for target, cfg in android_targets.iteritems():
if attr not in cfg:
raise ValueError("must specify '%s' as a key for android target: %s" %

View File

@ -22,7 +22,26 @@
"ndk_includes": [
"/builds/worker/workspace/build/src/android-ndk/sysroot/usr/include/arm-linux-androideabi",
"/builds/worker/workspace/build/src/android-ndk/sysroot/usr/include"
]
],
"api_level": 16
},
"i686-linux-android": {
"ndk_toolchain": "/builds/worker/workspace/build/src/android-ndk/toolchains/x86-4.9/prebuilt/linux-x86_64",
"ndk_sysroot": "/builds/worker/workspace/build/src/android-ndk/platforms/android-16/arch-x86",
"ndk_includes": [
"/builds/worker/workspace/build/src/android-ndk/sysroot/usr/include/i686-linux-android",
"/builds/worker/workspace/build/src/android-ndk/sysroot/usr/include"
],
"api_level": 16
},
"aarch64-linux-android": {
"ndk_toolchain": "/builds/worker/workspace/build/src/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64",
"ndk_sysroot": "/builds/worker/workspace/build/src/android-ndk/platforms/android-21/arch-arm64",
"ndk_includes": [
"/builds/worker/workspace/build/src/android-ndk/sysroot/usr/include/aarch64-linux-android",
"/builds/worker/workspace/build/src/android-ndk/sysroot/usr/include"
],
"api_level": 21
}
},
"patches": [