Reland: [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9

Fixes Android build

Change-Id: Ifcdf492a636bd2c683be8f37bcad4a2af09fb822
Reviewed-on: https://dart-review.googlesource.com/c/85404
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
This commit is contained in:
Zach Anderson 2018-11-27 15:48:27 +00:00 committed by commit-bot@chromium.org
parent b505f0830a
commit 03ff950922
4 changed files with 30 additions and 19 deletions

2
DEPS
View file

@ -42,7 +42,7 @@ vars = {
# Fuchsia. This revision should be kept up to date with the revision pulled
# by the Flutter engine. If there are problems with the toolchain, contact
# fuchsia-toolchain@.
"buildtools_revision": "446d5b1019dcbe7835236dc85261e91cf29a9239",
"buildtools_revision": "9e69ccfa6c1d3d9d3d0498c2b73338c169ed4377",
# Scripts that make 'git cl format' work.
"clang_format_scripts_rev": "c09c8deeac31f05bd801995c475e7c8070f9ecda",

View file

@ -63,18 +63,18 @@ if (is_android) {
# Subdirectories inside android_ndk_root that contain the sysroot for the
# associated platform.
if (current_cpu == "x64" || current_cpu == "arm64") {
_android_api_level = 22
android_api_level = 22
} else {
_android_api_level = 16
android_api_level = 16
}
x86_android_sysroot_subdir =
"platforms/android-${_android_api_level}/arch-x86"
"platforms/android-${android_api_level}/arch-x86"
arm_android_sysroot_subdir =
"platforms/android-${_android_api_level}/arch-arm"
"platforms/android-${android_api_level}/arch-arm"
x86_64_android_sysroot_subdir =
"platforms/android-${_android_api_level}/arch-x86_64"
"platforms/android-${android_api_level}/arch-x86_64"
arm64_android_sysroot_subdir =
"platforms/android-${_android_api_level}/arch-arm64"
"platforms/android-${android_api_level}/arch-arm64"
# Toolchain root directory for each build. The actual binaries are inside
# a "bin" directory inside of these.
@ -90,25 +90,29 @@ if (is_android) {
# like the toolchain roots.
if (current_cpu == "x86") {
android_prebuilt_arch = "android-x86"
_binary_prefix = "i686-linux-android"
android_target_triple = "i686-linux-android"
android_toolchain_root = "$x86_android_toolchain_root"
android_sysroot_subdir = "$x86_android_sysroot_subdir"
} else if (current_cpu == "arm") {
android_prebuilt_arch = "android-arm"
_binary_prefix = "arm-linux-androideabi"
android_target_triple = "arm-linux-androideabi"
android_toolchain_root = "$arm_android_toolchain_root"
android_sysroot_subdir = "$arm_android_sysroot_subdir"
} else if (current_cpu == "x64") {
android_prebuilt_arch = "android-x86_64"
_binary_prefix = "x86_64-linux-android"
android_target_triple = "x86_64-linux-android"
android_toolchain_root = "$x86_64_android_toolchain_root"
android_sysroot_subdir = "$x86_64_android_sysroot_subdir"
} else if (current_cpu == "arm64") {
android_prebuilt_arch = "android-arm64"
_binary_prefix = "aarch64-linux-android"
android_target_triple = "aarch64-linux-android"
android_toolchain_root = "$arm64_android_toolchain_root"
android_sysroot_subdir = "$arm64_android_sysroot_subdir"
} else {
assert(false, "Need android libgcc support for your target arch.")
}
android_tool_prefix = "$android_toolchain_root/bin/$_binary_prefix-"
android_tool_prefix = "$android_toolchain_root/bin/$android_target_triple-"
android_readelf = "${android_tool_prefix}readelf"
android_objcopy = "${android_tool_prefix}objcopy"
android_gdbserver =

View file

@ -246,11 +246,14 @@ config("compiler") {
ldflags += [ "-pthread" ]
if (is_clang) {
if (current_cpu == "arm") {
cflags += [ "--target=arm-linux-gnueabihf" ]
ldflags += [ "--target=arm-linux-gnueabihf" ]
cflags += [ "--target=armv7-linux-gnueabihf" ]
ldflags += [ "--target=armv7-linux-gnueabihf" ]
} else if (current_cpu == "arm64") {
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
} else if (current_cpu == "x86") {
cflags += [ "--target=i386-linux-gnu" ]
ldflags += [ "--target=i386-linux-gnu" ]
}
}
}
@ -278,6 +281,7 @@ config("compiler") {
"-ffunction-sections",
"-funwind-tables",
"-fno-short-enums",
"-nostdinc++",
]
if (!is_clang) {
# Clang doesn't support these flags.
@ -444,14 +448,17 @@ config("runtime_library") {
# strange errors. The include ordering here is important; change with
# caution.
cflags += [
"-isystem" +
rebase_path("$android_libcpp_root/libcxx/include", root_build_dir),
"-isystem" + rebase_path("$android_libcpp_root/include", root_build_dir),
"-isystem" + rebase_path(
"$android_ndk_root/sources/cxx-stl/llvm-libc++abi/libcxxabi/include",
"$android_ndk_root/sources/cxx-stl/llvm-libc++abi/include",
root_build_dir),
"-isystem" +
rebase_path("$android_ndk_root/sources/android/support/include",
root_build_dir),
"-isystem" + rebase_path(
"$android_ndk_root/sysroot/usr/include/$android_target_triple",
root_build_dir),
"-D__ANDROID_API__=$android_api_level",
]
lib_dirs += [ "$android_libcpp_root/libs/$android_app_abi" ]
@ -692,7 +699,7 @@ if (is_win) {
"-Wl,--gc-sections",
]
if (is_clang) {
if (is_clang && !using_sanitizer) {
# Identical code folding to reduce size.
# Warning: This changes C/C++ semantics of function pointer comparison.
common_optimize_on_ldflags += [ "-Wl,--icf=all" ]

View file

@ -24,7 +24,7 @@ DEPOT_PATH = find_depot_tools.add_depot_tools_to_path()
def Update():
path = os.path.join(BUILDTOOLS, 'update.sh')
command = ['/bin/bash', path, '--clang', '--gn']
command = ['/bin/bash', path, '--clang', '--gn', '--ninja']
return subprocess.call(command, cwd=DART_ROOT)