# 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 = 22 fuchsia_arch_root = "${fuchsia_sdk}/obj/${target_cpu}-api-${fuchsia_target_api_level}"