| # Copyright 2023 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| assert(is_fuchsia) |
| |
| # TODO(crbug.com/359657446): Remove the duplicate arguments in favor of |
| # using the ones in third_party/fuchsia-gn-sdk/. Some of them are needed |
| # by repos like webrtc which may not update to use the |
| # third_party/fuchsia-gn-sdk/src/gn_configs.gni. |
| declare_args() { |
| # Path to the fuchsia SDK. This is intended for use in other templates & |
| # rules to reference the contents of the fuchsia SDK. |
| fuchsia_sdk = "//third_party/fuchsia-sdk/sdk" |
| |
| # ID uniquely identifying the Fuchsia IDK build. This is exposed as a |
| # property so it can be used to locate images and packages on GCS and |
| # as a marker to indicate the "version" of the IDK. |
| # Defaults to the id found in the manifest.json file of the SDK. |
| fuchsia_sdk_id = "" |
| } |
| |
| # The SDK manifest file. This is useful to include as a dependency |
| # for some targets in order to cause a rebuild when the version of the |
| # SDK is changed. |
| fuchsia_sdk_manifest_file = "${fuchsia_sdk}/meta/manifest.json" |
| |
| # fuchsia_tool_dir is used to specify the directory in the SDK to locate |
| # tools for the host cpu architecture. If the host_cpu is not recognized, |
| # then tool dir defaults to x64. |
| fuchsia_tool_dir = "${fuchsia_sdk}/tools/${host_cpu}" |
| |
| if (fuchsia_sdk_id == "") { |
| # Note: If we need to expose more than just the id in the future, |
| # we should consider exposing the entire json object for the metadata vs. |
| # adding a bunch of variables. |
| _meta = read_file(fuchsia_sdk_manifest_file, "json") |
| fuchsia_sdk_id = _meta.id |
| } |
| |
| declare_args() { |
| # Specify a readelf_exec path to use. If not specified, the host's system |
| # executable will be used. Passed to populate_build_id_dir.py and |
| # prepare_package_inputs.py via the --readelf-exec flag. |
| # Must be a GN path (not an absolute path) since it is adjusted with |
| # rebase_path(). |
| if (!defined(fuchsia_sdk_readelf_exec)) { |
| fuchsia_sdk_readelf_exec = "" |
| } |
| } |
| |
| # Copy from third_party/fuchsia-gn-sdk/src/gn_configs.gni to avoid importing |
| # files from //third_party/ in //build/. |
| # Note, `current_cpu` should always exist in the //build/ tree, so the |
| # `target_cpu` fallback has been removed. |
| fuchsia_target_api_level = 26 |
| fuchsia_arch_root = |
| "${fuchsia_sdk}/obj/${target_cpu}-api-${fuchsia_target_api_level}" |
| |
| # Write Fuchsia arch root paths to gn_logs.txt, so that Siso can reference |
| # these GN variables. |
| _fuchsia_arch_root = rebase_path(fuchsia_arch_root, "//") |
| |
| # The legacy directory is still used. But, will be removed soon. |
| _fuchsia_legacy_arch_root = |
| rebase_path("${fuchsia_sdk}/arch/${target_cpu}", "//") |
| |
| fuchsia_gn_logs = [ |
| "fuchsia_arch_root=${_fuchsia_arch_root}", |
| "fuchsia_legacy_arch_root=${_fuchsia_legacy_arch_root}", |
| ] |