diff --git a/mk/install.mk b/mk/install.mk index 60c0a6bb4c7..24a5c575bfb 100644 --- a/mk/install.mk +++ b/mk/install.mk @@ -65,7 +65,7 @@ CFG_ADB_DEVICE_STATUS=$(1) endef $(foreach target,$(CFG_TARGET), \ - $(if $(findstring $(target),"arm-linux-androideabi"), \ + $(if $(or $(findstring $(target),"arm-linux-androideabi"),$(findstring $(target),"aarch64-linux-android")), \ $(if $(findstring adb,$(CFG_ADB)), \ $(if $(findstring device,$(shell $(CFG_ADB) devices 2>/dev/null | grep -E '^[_A-Za-z0-9-]+[[:blank:]]+device')), \ $(info install: install-runtime-target for $(target) enabled \ @@ -117,8 +117,11 @@ install-runtime-target-$(1)-cleanup: $$(call ADB_SHELL,rm,$$(CFG_RUNTIME_PUSH_DIR)/$$(call CFG_LIB_GLOB_$(1),$$(crate)));) endef -$(eval $(call INSTALL_RUNTIME_TARGET_N,arm-linux-androideabi,$(CFG_BUILD))) -$(eval $(call INSTALL_RUNTIME_TARGET_CLEANUP_N,arm-linux-androideabi)) +$(foreach target,$(CFG_TARGET), \ + $(if $(findstring $(CFG_ADB_DEVICE_STATUS),"true"), \ + $(eval $(call INSTALL_RUNTIME_TARGET_N,$(taget),$(CFG_BUILD))) \ + $(eval $(call INSTALL_RUNTIME_TARGET_CLEANUP_N,arm-linux-$(target))) \ + )) install-runtime-target: \ install-runtime-target-arm-linux-androideabi-cleanup \ diff --git a/mk/tests.mk b/mk/tests.mk index d8d77db1e02..3e4bae02427 100644 --- a/mk/tests.mk +++ b/mk/tests.mk @@ -111,14 +111,15 @@ $(foreach target,$(CFG_TARGET), \ # for arm-linux-androidabi define DEF_ADB_DEVICE_STATUS CFG_ADB_DEVICE_STATUS=$(1) +CFG_ANDROID_TARGET_TRIPLE=$(2) endef $(foreach target,$(CFG_TARGET), \ - $(if $(findstring $(target),"arm-linux-androideabi"), \ + $(if $(or $(findstring $(target),"arm-linux-androideabi"),$(findstring $(target),"aarch64-linux-android")), \ $(if $(findstring adb,$(CFG_ADB)), \ $(if $(findstring device,$(shell $(CFG_ADB) devices 2>/dev/null | grep -E '^[:_A-Za-z0-9-]+[[:blank:]]+device')), \ $(info check: android device attached) \ - $(eval $(call DEF_ADB_DEVICE_STATUS, true)), \ + $(eval $(call DEF_ADB_DEVICE_STATUS, true, $(target))), \ $(info check: android device not attached) \ $(eval $(call DEF_ADB_DEVICE_STATUS, false)) \ ), \ @@ -138,7 +139,7 @@ $(info check: android device test dir $(CFG_ADB_TEST_DIR) ready \ $(shell $(CFG_ADB) shell mkdir $(CFG_ADB_TEST_DIR)/tmp) \ $(shell $(CFG_ADB) push $(S)src/etc/adb_run_wrapper.sh $(CFG_ADB_TEST_DIR) 1>/dev/null) \ $(foreach crate,$(TARGET_CRATES), \ - $(shell $(CFG_ADB) push $(TLIB2_T_arm-linux-androideabi_H_$(CFG_BUILD))/$(call CFG_LIB_GLOB_arm-linux-androideabi,$(crate)) \ + $(shell $(CFG_ADB) push $(TLIB2_T_$(CFG_ANDROID_TARGET_TRIPLE)_H_$(CFG_BUILD))/$(call CFG_LIB_GLOB_$(CFG_ANDROID_TARGET_TRIPLE),$(crate)) \ $(CFG_ADB_TEST_DIR))) \ ) else @@ -393,7 +394,7 @@ $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \ && touch $$@ endef -define DEF_TEST_CRATE_RULES_arm-linux-androideabi +define DEF_TEST_CRATE_RULES_android check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)) $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \ @@ -434,9 +435,9 @@ $(foreach host,$(CFG_HOST), \ $(foreach crate, $(TEST_CRATES), \ $(if $(findstring $(target),$(CFG_BUILD)), \ $(eval $(call DEF_TEST_CRATE_RULES,$(stage),$(target),$(host),$(crate))), \ - $(if $(findstring $(target),"arm-linux-androideabi"), \ + $(if $(or $(findstring $(target),"arm-linux-androideabi"), $(findstring $(target),"aarch64-linux-android")), \ $(if $(findstring $(CFG_ADB_DEVICE_STATUS),"true"), \ - $(eval $(call DEF_TEST_CRATE_RULES_arm-linux-androideabi,$(stage),$(target),$(host),$(crate))), \ + $(eval $(call DEF_TEST_CRATE_RULES_android,$(stage),$(target),$(host),$(crate))), \ $(eval $(call DEF_TEST_CRATE_RULES_null,$(stage),$(target),$(host),$(crate))) \ ), \ $(eval $(call DEF_TEST_CRATE_RULES,$(stage),$(target),$(host),$(crate))) \ diff --git a/src/compiletest/compiletest.rs b/src/compiletest/compiletest.rs index e6d2a691cf5..1e9f843db34 100644 --- a/src/compiletest/compiletest.rs +++ b/src/compiletest/compiletest.rs @@ -158,10 +158,8 @@ pub fn parse_config(args: Vec ) -> Config { adb_path: opt_str2(matches.opt_str("adb-path")), adb_test_dir: opt_str2(matches.opt_str("adb-test-dir")), adb_device_status: - "arm-linux-androideabi" == - opt_str2(matches.opt_str("target")) && - "(none)" != - opt_str2(matches.opt_str("adb-test-dir")) && + opt_str2(matches.opt_str("target")).contains("android") && + "(none)" != opt_str2(matches.opt_str("adb-test-dir")) && !opt_str2(matches.opt_str("adb-test-dir")).is_empty(), lldb_python_dir: matches.opt_str("lldb-python-dir"), verbose: matches.opt_present("verbose"), @@ -216,17 +214,17 @@ pub fn opt_str2(maybestr: Option) -> String { } pub fn run_tests(config: &Config) { - if config.target == "arm-linux-androideabi" { + if config.target.contains("android") { match config.mode { DebugInfoGdb => { - println!("arm-linux-androideabi debug-info \ - test uses tcp 5039 port. please reserve it"); + println!("{} debug-info test uses tcp 5039 port.\ + please reserve it", config.target); } _ =>{} } - //arm-linux-androideabi debug-info test uses remote debugger - //so, we test 1 task at once. + // android debug-info test uses remote debugger + // so, we test 1 task at once. // also trying to isolate problems with adb_run_wrapper.sh ilooping env::set_var("RUST_TEST_TASKS","1"); } diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs index 5a372fd7cdc..047d84f1eca 100644 --- a/src/compiletest/runtest.rs +++ b/src/compiletest/runtest.rs @@ -42,7 +42,7 @@ use test::MetricMap; pub fn run(config: Config, testfile: String) { match &*config.target { - "arm-linux-androideabi" => { + "arm-linux-androideabi" | "aarch64-linux-android" => { if !config.adb_device_status { panic!("android device not available"); } @@ -382,7 +382,7 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) { let debugger_run_result; match &*config.target { - "arm-linux-androideabi" => { + "arm-linux-androideabi" | "aarch64-linux-android" => { cmds = cmds.replace("run", "continue").to_string(); @@ -470,7 +470,7 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) { format!("-command={}", debugger_script.as_str().unwrap())); let mut gdb_path = tool_path; - gdb_path.push_str("/bin/arm-linux-androideabi-gdb"); + gdb_path.push_str(&format!("/bin/{}-gdb", config.target)); let procsrv::Result { out, err, @@ -484,7 +484,7 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) { .expect(&format!("failed to exec `{:?}`", gdb_path)); let cmdline = { let cmdline = make_cmdline("", - "arm-linux-androideabi-gdb", + &format!("{}-gdb", config.target), &debugger_opts); logv(config, format!("executing {}", cmdline)); cmdline @@ -1135,7 +1135,7 @@ fn exec_compiled_test(config: &Config, props: &TestProps, match &*config.target { - "arm-linux-androideabi" => { + "arm-linux-androideabi" | "aarch64-linux-android" => { _arm_exec_compiled_test(config, props, testfile, env) } @@ -1200,7 +1200,7 @@ fn compose_and_run_compiler( } match &*config.target { - "arm-linux-androideabi" => { + "arm-linux-androideabi" | "aarch64-linux-android" => { _arm_push_aux_shared_library(config, testfile); } _ => {} diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs index afb5c948f18..c15e18168e5 100644 --- a/src/librustc_back/target/mod.rs +++ b/src/librustc_back/target/mod.rs @@ -345,11 +345,13 @@ impl Target { mips_unknown_linux_gnu, mipsel_unknown_linux_gnu, powerpc_unknown_linux_gnu, - arm_linux_androideabi, arm_unknown_linux_gnueabi, arm_unknown_linux_gnueabihf, aarch64_unknown_linux_gnu, + arm_linux_androideabi, + aarch64_linux_android, + x86_64_unknown_freebsd, i686_unknown_dragonfly, @@ -363,7 +365,6 @@ impl Target { i386_apple_ios, x86_64_apple_ios, aarch64_apple_ios, - aarch64_linux_android, armv7_apple_ios, armv7s_apple_ios,