| # Copyright 2022 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # This was moved here from //bundles:build_infra and //tools:test_infra |
| group("test") { |
| testonly = true |
| |
| # Tools that are only needed on the type of host that does the build. |
| public_deps = [ |
| "//tools/integration/testsharder($host_toolchain)", |
| |
| # The symbolizer should only be needed on Linux x64, but cross-compilation |
| # doesn't work for this tool and the Mac builders don't use it, so just |
| # build it for the host toolchain. |
| "//tools/symbolizer($host_toolchain)", |
| |
| # The Linux x64 tools needed regardless of target_arch and host_os |
| ":linux_x64_tools", |
| |
| # All host tools (these are built using multiple toolchains depending on the |
| # exactly host/target os & arch pair) |
| ":host_tools", |
| ] |
| } |
| |
| group("linux_x64_tools") { |
| testonly = true |
| visibility = [ ":test" ] |
| |
| # Tools that are needed on Linux x64, regardless of the current host. |
| _linux_x64_only_tools = [ |
| "//src/diagnostics/triage:triage_bin", |
| "//tools/debug/covargs", |
| "//tools/testing/resultdb", |
| "//tools/testing/tefmocheck", |
| ] |
| |
| public_deps = [] |
| foreach(tool, _linux_x64_only_tools) { |
| if (host_os == "linux") { |
| public_deps += [ "$tool($host_x64_toolchain)" ] |
| } else { |
| public_deps += [ "$tool($linux_x64_toolchain)" ] |
| } |
| } |
| } |
| |
| group("host_tools") { |
| testonly = true |
| visibility = [ ":test" ] |
| |
| # Tools needed on all possible hosts. |
| # Anything that runs on ARM64 hosts during testing should be here, |
| # since in that case the build happens on an X64 host. |
| _all_host_tools = [ |
| "//src/developer/ffx:ffx_bin", |
| "//src/developer/ffx/tools:bins", |
| "//src/storage/bin/fvm", |
| "//tools/bootserver", |
| "//tools/botanist", |
| "//zircon/tools/zbi", |
| ] |
| |
| # Which toolchains are needed when: |
| # |
| # target_cpu |
| # | host_os | x64 | arm64 | |
| # |---------|-----------|-----------------------| |
| # | linux | host_x64 | host_x64 & host_arm64 | |
| # | mac | host | host | |
| # |
| _all_host_toolchains = [] |
| if (host_os == "linux") { |
| _all_host_toolchains += [ host_x64_toolchain ] |
| |
| # The infrastructure never uses an arm64 host for x64 target tests. The only |
| # time we need arm64 host tools is when running arm64 target tests. Note |
| # that the inverse is not true; the infrastructure may use an x64 host for |
| # arm64 target tests. |
| if (target_cpu == "arm64") { |
| _all_host_toolchains += [ host_arm64_toolchain ] |
| } |
| } else if (host_os == "mac") { |
| _all_host_toolchains += [ host_toolchain ] |
| } |
| |
| public_deps = [] |
| foreach(tool, _all_host_tools) { |
| foreach(toolchain, _all_host_toolchains) { |
| public_deps += [ "$tool($toolchain)" ] |
| } |
| } |
| } |