mirror of
https://github.com/dart-lang/sdk
synced 2024-07-05 09:20:04 +00:00
[build, test_runner] Update to NDK 27.
Notably, this carries us across the gcc->llvm transition. Change-Id: I46203749c64c7ef0f52de40abcd4a073517cb06f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330949 Commit-Queue: Ryan Macnak <rmacnak@google.com> Reviewed-by: Zach Anderson <zra@google.com> Reviewed-by: Siva Annamalai <asiva@google.com>
This commit is contained in:
parent
5a0ff4ceb1
commit
99bb8aa4a5
9
DEPS
9
DEPS
|
@ -605,7 +605,7 @@ Var("dart_root") + "/third_party/pkg/tar":
|
|||
"dep_type": "cipd",
|
||||
},
|
||||
|
||||
Var("dart_root") + "/third_party/canary_ndk": {
|
||||
Var("dart_root") + "/third_party/android_tools/ndk": {
|
||||
"packages": [
|
||||
{
|
||||
"package": "flutter/android/ndk/${{os}}-amd64",
|
||||
|
@ -615,12 +615,11 @@ Var("dart_root") + "/third_party/pkg/tar":
|
|||
"condition": "download_android_deps",
|
||||
"dep_type": "cipd",
|
||||
},
|
||||
|
||||
Var("dart_root") + "/third_party/android_tools": {
|
||||
Var("dart_root") + "/third_party/android_tools/sdk/platform-tools": {
|
||||
"packages": [
|
||||
{
|
||||
"package": "flutter/android/sdk/all/${{os}}-amd64",
|
||||
"version": "version:33v6"
|
||||
"package": "flutter/android/sdk/platform-tools/linux-amd64",
|
||||
"version": "1tZc4sOxZS6FQIvT5i0wwdycmM8AO7QZY32FC9_HfR4C"
|
||||
}
|
||||
],
|
||||
"condition": "download_android_deps",
|
||||
|
|
|
@ -222,7 +222,7 @@ if (!is_clang && (is_asan || is_lsan || is_msan || is_tsan || is_ubsan)) {
|
|||
is_clang = true
|
||||
}
|
||||
|
||||
use_flutter_cxx = is_msan || is_tsan || is_android
|
||||
use_flutter_cxx = is_msan || is_tsan
|
||||
|
||||
# =============================================================================
|
||||
# TARGET DEFAULTS
|
||||
|
|
|
@ -8,16 +8,15 @@ import("//build/config/sysroot.gni")
|
|||
config("sdk") {
|
||||
if (sysroot != "") {
|
||||
cflags = [ "--sysroot=" + sysroot ]
|
||||
ldflags = [ "-L" + rebase_path("$android_lib") ]
|
||||
|
||||
# Need to get some linker flags out of the sysroot.
|
||||
sysroot_ld_path = rebase_path("//build/config/linux/sysroot_ld_path.py")
|
||||
ldflags += [ exec_script(sysroot_ld_path,
|
||||
[
|
||||
rebase_path("//build/linux/sysroot_ld_path.sh"),
|
||||
sysroot,
|
||||
],
|
||||
"value") ]
|
||||
ldflags = [ exec_script(sysroot_ld_path,
|
||||
[
|
||||
rebase_path("//build/linux/sysroot_ld_path.sh"),
|
||||
sysroot,
|
||||
],
|
||||
"value") ]
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -55,9 +55,6 @@ if (is_android) {
|
|||
|
||||
# Path to the Android NDK and SDK.
|
||||
android_ndk_root = "//third_party/android_tools/ndk"
|
||||
if (current_cpu == "riscv64") {
|
||||
android_ndk_root = "//third_party/canary_ndk"
|
||||
}
|
||||
android_ndk_include_dir = "$android_ndk_root/usr/include"
|
||||
|
||||
android_sdk = "${android_sdk_root}/platforms/android-${android_sdk_version}"
|
||||
|
@ -75,77 +72,17 @@ if (is_android) {
|
|||
# associated platform.
|
||||
if (current_cpu == "riscv64") {
|
||||
android_api_level = 35
|
||||
} else if (current_cpu == "x64" || current_cpu == "arm64") {
|
||||
android_api_level = 22
|
||||
} else {
|
||||
android_api_level = 19
|
||||
android_api_level = 21
|
||||
}
|
||||
|
||||
# Toolchain root directory for each build. The actual binaries are inside
|
||||
# a "bin" directory inside of these.
|
||||
_android_toolchain_version = "4.9"
|
||||
|
||||
llvm_android_toolchain_root = "$android_ndk_root/toolchains/llvm/prebuilt/${android_host_os}-${android_host_arch}"
|
||||
|
||||
x86_android_toolchain_root = "$android_ndk_root/toolchains/x86-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch}"
|
||||
arm_android_toolchain_root = "$android_ndk_root/toolchains/arm-linux-androideabi-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch}"
|
||||
x86_64_android_toolchain_root = "$android_ndk_root/toolchains/x86_64-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch}"
|
||||
arm64_android_toolchain_root = "$android_ndk_root/toolchains/aarch64-linux-android-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch}"
|
||||
riscv64_android_toolchain_root = "$android_ndk_root/toolchains/llvm/prebuilt/${android_host_os}-${android_host_arch}"
|
||||
|
||||
x86_android_lib = "$llvm_android_toolchain_root/sysroot/usr/lib/i686-linux-android/${android_api_level}"
|
||||
arm_android_lib = "$llvm_android_toolchain_root/sysroot/usr/lib/arm-linux-androideabi/${android_api_level}"
|
||||
x86_64_android_lib = "$llvm_android_toolchain_root/sysroot/usr/lib/x86_64-linux-android/${android_api_level}"
|
||||
arm64_android_lib = "$llvm_android_toolchain_root/sysroot/usr/lib/aarch64-linux-android/${android_api_level}"
|
||||
riscv64_android_lib = "$llvm_android_toolchain_root/sysroot/usr/lib/riscv64-linux-android/${android_api_level}"
|
||||
|
||||
# Location of libgcc. This is only needed for the current GN toolchain, so we
|
||||
# only need to define the current one, rather than one for every platform
|
||||
# like the toolchain roots.
|
||||
if (current_cpu == "x86") {
|
||||
android_prebuilt_arch = "android-x86"
|
||||
android_target_triple = "i686-linux-android"
|
||||
android_toolchain_root = "$x86_android_toolchain_root"
|
||||
android_lib = "$x86_android_lib"
|
||||
} else if (current_cpu == "arm") {
|
||||
android_prebuilt_arch = "android-arm"
|
||||
android_target_triple = "arm-linux-androideabi"
|
||||
android_toolchain_root = "$arm_android_toolchain_root"
|
||||
android_lib = "$arm_android_lib"
|
||||
} else if (current_cpu == "x64") {
|
||||
android_prebuilt_arch = "android-x86_64"
|
||||
android_target_triple = "x86_64-linux-android"
|
||||
android_toolchain_root = "$x86_64_android_toolchain_root"
|
||||
android_lib = "$x86_64_android_lib"
|
||||
} else if (current_cpu == "arm64") {
|
||||
android_prebuilt_arch = "android-arm64"
|
||||
android_target_triple = "aarch64-linux-android"
|
||||
android_toolchain_root = "$arm64_android_toolchain_root"
|
||||
android_lib = "$arm64_android_lib"
|
||||
} else if (current_cpu == "riscv64") {
|
||||
android_prebuilt_arch = "android-riscv64"
|
||||
android_target_triple = "riscv64-linux-android"
|
||||
android_toolchain_root = "$riscv64_android_toolchain_root"
|
||||
android_lib = "$riscv64_android_lib"
|
||||
} else {
|
||||
assert(false, "Need android libgcc support for your target arch.")
|
||||
}
|
||||
|
||||
android_tool_prefix = "$android_toolchain_root/bin/$android_target_triple-"
|
||||
android_readelf = "${android_tool_prefix}readelf"
|
||||
android_objcopy = "${android_tool_prefix}objcopy"
|
||||
android_gdbserver =
|
||||
"$android_ndk_root/prebuilt/$android_prebuilt_arch/gdbserver/gdbserver"
|
||||
android_toolchain_root = "$android_ndk_root/toolchains/llvm/prebuilt/${android_host_os}-${android_host_arch}"
|
||||
|
||||
# Toolchain stuff ------------------------------------------------------------
|
||||
|
||||
android_libcpp_root = "$android_ndk_root/sources/cxx-stl/llvm-libc++"
|
||||
if (component_mode == "shared_library") {
|
||||
android_libcpp_library = "c++_shared"
|
||||
} else {
|
||||
android_libcpp_library = "c++_static"
|
||||
}
|
||||
|
||||
if (component_mode == "shared_library") {
|
||||
# By appending .cr, we prevent name collisions with libraries already
|
||||
# loaded by the Android zygote.
|
||||
|
@ -159,12 +96,7 @@ if (is_android) {
|
|||
if (current_cpu == "x86") {
|
||||
android_app_abi = "x86"
|
||||
} else if (current_cpu == "arm") {
|
||||
import("//build/config/arm.gni")
|
||||
if (arm_version < 7) {
|
||||
android_app_abi = "armeabi"
|
||||
} else {
|
||||
android_app_abi = "armeabi-v7a"
|
||||
}
|
||||
android_app_abi = "armeabi-v7a"
|
||||
} else if (current_cpu == "x64") {
|
||||
android_app_abi = "x86_64"
|
||||
} else if (current_cpu == "arm64") {
|
||||
|
|
|
@ -360,14 +360,6 @@ config("compiler") {
|
|||
"-funwind-tables",
|
||||
"-fno-short-enums",
|
||||
]
|
||||
if (!is_clang) {
|
||||
# Clang doesn't support these flags.
|
||||
cflags += [ "-finline-limit=64" ]
|
||||
}
|
||||
if (current_cpu == "arm64") {
|
||||
# TODO (https://github.com/flutter/flutter/issues/75348).
|
||||
cflags += [ "-mno-outline-atomics" ]
|
||||
}
|
||||
if (is_asan) {
|
||||
# Android build relies on -Wl,--gc-sections removing unreachable code.
|
||||
# ASan instrumentation for globals inhibits this and results in a library
|
||||
|
@ -382,21 +374,11 @@ config("compiler") {
|
|||
# to say that it does. Define them here instead.
|
||||
defines += [ "HAVE_SYS_UIO_H" ]
|
||||
|
||||
# Use gold for Android for most CPU architectures.
|
||||
if (is_clang) {
|
||||
# Let clang find the ld.gold in the NDK.
|
||||
toolchain_root = rebase_path(android_toolchain_root, root_build_dir)
|
||||
ldflags += [ "--gcc-toolchain=$toolchain_root" ]
|
||||
}
|
||||
|
||||
ldflags += [
|
||||
# Don't allow visible symbols from libgcc or libc++ to be
|
||||
# re-exported.
|
||||
"-Wl,--exclude-libs=libgcc.a",
|
||||
"-Wl,--exclude-libs=libc++_static.a",
|
||||
|
||||
"-fuse-ld=lld",
|
||||
|
||||
# Currently defaults to 4k, but Android will be moving to 16k page size,
|
||||
# and for future-proofing, 64k boundaries will be required.
|
||||
"-Wl,-z,max-page-size=65536",
|
||||
|
@ -404,20 +386,20 @@ config("compiler") {
|
|||
|
||||
if (is_clang) {
|
||||
if (current_cpu == "arm") {
|
||||
cflags += [ "--target=arm-linux-androideabi" ]
|
||||
ldflags += [ "--target=arm-linux-androideabi" ]
|
||||
cflags += [ "--target=arm-linux-androideabi${android_api_level}" ]
|
||||
ldflags += [ "--target=arm-linux-androideabi${android_api_level}" ]
|
||||
} else if (current_cpu == "arm64") {
|
||||
cflags += [ "--target=aarch64-linux-android" ]
|
||||
ldflags += [ "--target=aarch64-linux-android" ]
|
||||
cflags += [ "--target=aarch64-linux-android${android_api_level}" ]
|
||||
ldflags += [ "--target=aarch64-linux-android${android_api_level}" ]
|
||||
} else if (current_cpu == "x86") {
|
||||
cflags += [ "--target=i686-linux-androideabi" ]
|
||||
ldflags += [ "--target=i686-linux-androideabi" ]
|
||||
cflags += [ "--target=i686-linux-androideabi${android_api_level}" ]
|
||||
ldflags += [ "--target=i686-linux-androideabi${android_api_level}" ]
|
||||
} else if (current_cpu == "x64") {
|
||||
cflags += [ "--target=x86_64-linux-androideabi" ]
|
||||
ldflags += [ "--target=x86_64-linux-androideabi" ]
|
||||
cflags += [ "--target=x86_64-linux-androideabi${android_api_level}" ]
|
||||
ldflags += [ "--target=x86_64-linux-androideabi${android_api_level}" ]
|
||||
} else if (current_cpu == "riscv64") {
|
||||
cflags += [ "--target=riscv64-linux-android" ]
|
||||
ldflags += [ "--target=riscv64-linux-android" ]
|
||||
cflags += [ "--target=riscv64-linux-android${android_api_level}" ]
|
||||
ldflags += [ "--target=riscv64-linux-android${android_api_level}" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -587,46 +569,17 @@ config("runtime_library") {
|
|||
]
|
||||
} else if (is_android) {
|
||||
# Android standard library setup.
|
||||
if (is_clang) {
|
||||
# Work around incompatibilities between bionic and clang headers.
|
||||
defines += [ "__compiler_offsetof=__builtin_offsetof" ]
|
||||
}
|
||||
|
||||
defines += [ "__GNU_SOURCE=1" ] # Necessary for clone().
|
||||
|
||||
ldflags += [
|
||||
"-Wl,--warn-shared-textrel",
|
||||
"-nostdlib",
|
||||
"-static-libstdc++",
|
||||
]
|
||||
|
||||
cflags += [ "-D__ANDROID_API__=$android_api_level" ]
|
||||
|
||||
lib_dirs += [ "$android_libcpp_root/libs/$android_app_abi" ]
|
||||
|
||||
if (android_api_level < 21) {
|
||||
libs += [ "android_support" ]
|
||||
}
|
||||
|
||||
if (current_cpu == "arm") {
|
||||
libs += [ "unwind" ]
|
||||
}
|
||||
|
||||
libs += [
|
||||
"gcc",
|
||||
"c",
|
||||
"dl",
|
||||
"m",
|
||||
]
|
||||
if (current_cpu == "riscv64") {
|
||||
libs -= [ "gcc" ]
|
||||
lib_dirs += [ "//third_party/canary_ndk/toolchains/llvm/prebuilt/${android_host_os}-${android_host_arch}/lib/clang/17/lib/linux/" ]
|
||||
libs += [ "clang_rt.builtins-riscv64-android" ]
|
||||
}
|
||||
|
||||
# Clang with libc++ does not require an explicit atomic library reference.
|
||||
if (!is_clang) {
|
||||
libs += [ "atomic" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ if ((current_toolchain == host_toolchain ||
|
|||
sysroot = target_sysroot
|
||||
} else if (is_android) {
|
||||
import("//build/config/android/config.gni")
|
||||
sysroot = rebase_path("$llvm_android_toolchain_root/sysroot")
|
||||
sysroot = rebase_path("$android_toolchain_root/sysroot")
|
||||
} else if (is_mac) {
|
||||
import("//build/config/mac/mac_sdk.gni")
|
||||
sysroot = mac_sdk_path
|
||||
|
|
|
@ -17,20 +17,8 @@ import("//build/toolchain/goma.gni")
|
|||
# Prefix to be added to the tool names.
|
||||
# - toolchain_cpu
|
||||
# Same as gcc_toolchain
|
||||
template("android_gcc_toolchain") {
|
||||
template("android_toolchain") {
|
||||
gcc_toolchain(target_name) {
|
||||
# Make our manually injected libs relative to the build dir.
|
||||
android_ndk_lib = rebase_path(invoker.android_ndk_lib_dir, root_build_dir)
|
||||
|
||||
libs_section_prefix = "$android_ndk_lib/crtbegin_dynamic.o"
|
||||
libs_section_postfix = "$android_ndk_lib/crtend_android.o"
|
||||
|
||||
solink_libs_section_prefix = "$android_ndk_lib/crtbegin_so.o"
|
||||
solink_libs_section_postfix = "$android_ndk_lib/crtend_so.o"
|
||||
|
||||
# The tools should be run relative to the build dir.
|
||||
tool_prefix = rebase_path(invoker.tool_prefix, root_build_dir)
|
||||
|
||||
if (use_goma) {
|
||||
assert(!use_ccache, "Goma and ccache can't be used together.")
|
||||
compiler_prefix = "$goma_dir/gomacc "
|
||||
|
@ -40,33 +28,18 @@ template("android_gcc_toolchain") {
|
|||
compiler_prefix = ""
|
||||
}
|
||||
|
||||
is_clang = invoker.is_clang
|
||||
if (is_clang) {
|
||||
not_needed([ "tool_prefix" ])
|
||||
prefix =
|
||||
rebase_path("//buildtools/${host_os}-x64/clang/bin", root_build_dir)
|
||||
if (current_cpu == "riscv64") {
|
||||
prefix = rebase_path(
|
||||
"//third_party/canary_ndk/toolchains/llvm/prebuilt/${android_host_os}-${android_host_arch}/bin",
|
||||
root_build_dir)
|
||||
}
|
||||
is_clang = true
|
||||
prefix = rebase_path(
|
||||
"${android_ndk_root}/toolchains/llvm/prebuilt/${android_host_os}-${android_host_arch}/bin",
|
||||
root_build_dir)
|
||||
|
||||
cc = compiler_prefix + prefix + "/clang"
|
||||
cxx = compiler_prefix + prefix + "/clang++"
|
||||
ar = prefix + "/llvm-ar"
|
||||
ld = cxx
|
||||
readelf = prefix + "/llvm-readelf"
|
||||
nm = prefix + "/llvm-nm"
|
||||
android_strip = prefix + "/llvm-strip"
|
||||
} else {
|
||||
cc = compiler_prefix + tool_prefix + "gcc"
|
||||
cxx = compiler_prefix + tool_prefix + "g++"
|
||||
ar = tool_prefix + "ar"
|
||||
ld = cxx
|
||||
readelf = tool_prefix + "readelf"
|
||||
nm = tool_prefix + "nm"
|
||||
android_strip = tool_prefix + "strip"
|
||||
}
|
||||
cc = compiler_prefix + prefix + "/clang"
|
||||
cxx = compiler_prefix + prefix + "/clang++"
|
||||
ar = prefix + "/llvm-ar"
|
||||
ld = cxx
|
||||
readelf = prefix + "/llvm-readelf"
|
||||
nm = prefix + "/llvm-nm"
|
||||
android_strip = prefix + "/llvm-strip"
|
||||
|
||||
toolchain_os = "android"
|
||||
toolchain_cpu = invoker.toolchain_cpu
|
||||
|
@ -94,51 +67,22 @@ template("android_gcc_toolchain") {
|
|||
}
|
||||
}
|
||||
|
||||
template("android_gcc_toolchains_helper") {
|
||||
android_gcc_toolchain(target_name) {
|
||||
android_ndk_lib_dir = invoker.android_ndk_lib_dir
|
||||
tool_prefix = invoker.tool_prefix
|
||||
toolchain_cpu = invoker.toolchain_cpu
|
||||
}
|
||||
android_gcc_toolchain("clang_$target_name") {
|
||||
android_ndk_lib_dir = invoker.android_ndk_lib_dir
|
||||
tool_prefix = invoker.tool_prefix
|
||||
toolchain_cpu = invoker.toolchain_cpu
|
||||
is_clang = true
|
||||
}
|
||||
}
|
||||
|
||||
android_gcc_toolchains_helper("x86") {
|
||||
android_ndk_lib_dir = x86_android_lib
|
||||
|
||||
tool_prefix = "$llvm_android_toolchain_root/bin/i686-linux-android-"
|
||||
android_toolchain("clang_x86") {
|
||||
toolchain_cpu = "x86"
|
||||
}
|
||||
|
||||
android_gcc_toolchains_helper("arm") {
|
||||
android_ndk_lib_dir = arm_android_lib
|
||||
|
||||
tool_prefix = "$llvm_android_toolchain_root/bin/arm-linux-androideabi-"
|
||||
android_toolchain("clang_arm") {
|
||||
toolchain_cpu = "arm"
|
||||
}
|
||||
|
||||
android_gcc_toolchains_helper("x64") {
|
||||
android_ndk_lib_dir = x86_64_android_lib
|
||||
|
||||
tool_prefix = "$llvm_android_toolchain_root/bin/x86_64-linux-android-"
|
||||
android_toolchain("clang_x64") {
|
||||
toolchain_cpu = "x86_64"
|
||||
}
|
||||
|
||||
android_gcc_toolchains_helper("arm64") {
|
||||
android_ndk_lib_dir = arm64_android_lib
|
||||
|
||||
tool_prefix = "$llvm_android_toolchain_root/bin/aarch64-linux-android-"
|
||||
android_toolchain("clang_arm64") {
|
||||
toolchain_cpu = "aarch64"
|
||||
}
|
||||
|
||||
android_gcc_toolchains_helper("riscv64") {
|
||||
android_ndk_lib_dir = riscv64_android_lib
|
||||
|
||||
tool_prefix = "$llvm_android_toolchain_root/bin/riscv64-linux-android-"
|
||||
android_toolchain("clang_riscv64") {
|
||||
toolchain_cpu = "riscv64"
|
||||
}
|
||||
|
|
|
@ -950,7 +950,7 @@ class PrecompilerCompilerConfiguration extends CompilerConfiguration
|
|||
if (_isAndroid) {
|
||||
if (_isArm || _isIA32) {
|
||||
exec = "$buildDir/$clang32/gen_snapshot";
|
||||
} else if (_isArm64 || _isX64 || _isArmX64) {
|
||||
} else if (_isArm64 || _isX64 || _isArmX64 || _isRiscv64) {
|
||||
exec = "$buildDir/$clang64/gen_snapshot";
|
||||
} else {
|
||||
// Guaranteed by package:test_runner/src/configuration.dart's
|
||||
|
@ -1046,19 +1046,22 @@ class PrecompilerCompilerConfiguration extends CompilerConfiguration
|
|||
var ldFlags = <String>[];
|
||||
List<String>? target;
|
||||
if (_isAndroid) {
|
||||
if (_isArm || _isArmX64) {
|
||||
cc =
|
||||
'$ndkPath/toolchains/llvm/prebuilt/$host-x86_64/bin/armv7a-linux-androideabi21-clang';
|
||||
} else if (_isArm64) {
|
||||
cc =
|
||||
'$ndkPath/toolchains/llvm/prebuilt/$host-x86_64/bin/aarch64-linux-android21-clang';
|
||||
cc = '$ndkPath/toolchains/llvm/prebuilt/$host-x86_64/bin/clang';
|
||||
if (_isIA32) {
|
||||
ldFlags.add('--target=i686-linux-androideabi');
|
||||
} else if (_isX64) {
|
||||
cc =
|
||||
'$ndkPath/toolchains/llvm/prebuilt/$host-x86_64/bin/x86_64-linux-android21-clang';
|
||||
ldFlags.add('--target=x86_64-linux-androideabi');
|
||||
} else if (_isArm || _isArmX64) {
|
||||
ldFlags.add('--target=arm-linux-androideabi');
|
||||
} else if (_isArm64) {
|
||||
ldFlags.add('--target=aarch64-linux-android');
|
||||
} else if (_isRiscv64) {
|
||||
ldFlags.add('--target=riscv64-linux-android');
|
||||
} else {
|
||||
throw 'Unimplemented';
|
||||
}
|
||||
shared = '-shared';
|
||||
ldFlags.add('-nostdlib');
|
||||
ldFlags.add('-Wl,--no-undefined');
|
||||
ldFlags.add('-Wl,-z,max-page-size=65536');
|
||||
} else if (Platform.isLinux) {
|
||||
|
@ -1129,8 +1132,8 @@ class PrecompilerCompilerConfiguration extends CompilerConfiguration
|
|||
|
||||
Command computeStripCommand(
|
||||
String tempDir, Map<String, String> environmentOverrides) {
|
||||
var stripTool = "$ndkPath/toolchains/$abiTriple-4.9/prebuilt/"
|
||||
"$host-x86_64/bin/$abiTriple-strip";
|
||||
var stripTool = "$ndkPath/toolchains/llvm/prebuilt/"
|
||||
"$host-x86_64/bin/llvm-strip";
|
||||
var args = ['--strip-unneeded', "$tempDir/out.aotsnapshot"];
|
||||
return CompilationCommand('strip', tempDir, bootstrapDependencies(),
|
||||
stripTool, args, environmentOverrides,
|
||||
|
|
|
@ -459,9 +459,10 @@ class TestConfiguration {
|
|||
architecture == Architecture.arm ||
|
||||
architecture == Architecture.arm_x64 ||
|
||||
architecture == Architecture.arm64 ||
|
||||
architecture == Architecture.arm64c)) {
|
||||
print("Warning: Android only supports the following "
|
||||
"architectures: ia32/x64/arm/arm64/arm64c/arm_x64.");
|
||||
architecture == Architecture.arm64c ||
|
||||
architecture == Architecture.riscv64)) {
|
||||
print("Warning: Android only supports the following architectures: "
|
||||
"ia32/x64/x64c/arm/arm64/arm64c/arm_x64/riscv64.");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -645,8 +645,12 @@ class CommandExecutorImpl implements CommandExecutor {
|
|||
|
||||
steps.add(() => device.runAdbShellCommand(['rm', '-Rf', deviceTestDir]));
|
||||
steps.add(() => device.runAdbShellCommand(['mkdir', '-p', deviceTestDir]));
|
||||
steps.add(() => device.pushCachedData('$buildPath/dart_precompiled_runtime',
|
||||
steps.add(() => device.pushCachedData(
|
||||
'$buildPath/exe.stripped/dart_precompiled_runtime',
|
||||
'$devicedir/dart_precompiled_runtime'));
|
||||
steps.add(() => device.pushCachedData(
|
||||
'$buildPath/dart_precompiled_runtime.sym',
|
||||
'$devicedir/dart_precompiled_runtime.sym'));
|
||||
steps.add(
|
||||
() => device.pushCachedData(processTest, '$devicedir/process_test'));
|
||||
steps.add(() => device.pushCachedData(
|
||||
|
|
|
@ -239,8 +239,9 @@
|
|||
"buildtools/mac-x64/clang/bin/llvm-symbolizer",
|
||||
"buildtools/win-x64/clang/bin/llvm-symbolizer.exe",
|
||||
"third_party/android_tools/sdk/platform-tools/adb",
|
||||
"third_party/android_tools/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip",
|
||||
"third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip",
|
||||
"third_party/android_tools/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/x86_64-unknown-linux-gnu/libc++.so",
|
||||
"third_party/android_tools/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-objcopy",
|
||||
"third_party/android_tools/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip",
|
||||
"third_party/devtools/",
|
||||
"third_party/webdriver/",
|
||||
"third_party/pkg/",
|
||||
|
@ -574,7 +575,7 @@
|
|||
"use-elf": true
|
||||
}
|
||||
},
|
||||
"vm-aot-android-(debug|product|release)-(arm|arm64|arm64c)": {
|
||||
"vm-aot-android-(debug|product|release)-(ia32|x64|x64c|arm|arm64|arm64c|riscv64)": {
|
||||
"options": {
|
||||
"use-elf": true
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user