| declare_args() { |
| if (!defined(gn_configs_path)) { |
| gn_configs_path = "//build/config/fuchsia/gn_configs.gni" |
| } |
| } |
| |
| import(gn_configs_path) |
| |
| # Allows gn_configs_path above to explicitly override the following parameters. |
| |
| # The target API level for this repository. Embedders should override this value |
| # to specify the API level the packages produced from this repository should be |
| # targeting, e.g. in their top-level //.gn file or gn_configs.gni. |
| # Fuchsia-sdk decides the supported api-levels. |
| if (!defined(fuchsia_target_api_level)) { |
| fuchsia_target_api_level = 29 |
| } |
| |
| # 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. |
| if (!defined(fuchsia_sdk_manifest_file)) { |
| 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. |
| if (!defined(fuchsia_tool_dir)) { |
| fuchsia_tool_dir = "${fuchsia_sdk}/tools/${host_cpu}" |
| } |
| |
| # 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. |
| if (!defined(fuchsia_sdk_id)) { |
| _meta = read_file(fuchsia_sdk_manifest_file, "json") |
| fuchsia_sdk_id = _meta.id |
| } |
| |
| if (!defined(fuchsia_arch_root)) { |
| if (current_cpu != "") { |
| # According to |
| # https://gn.googlesource.com/gn/+/main/docs/cross_compiles.md#as-a-build_gn-author, |
| # current_cpu is preferred. |
| fuchsia_arch_root = current_cpu |
| } else { |
| fuchsia_arch_root = target_cpu |
| } |
| fuchsia_arch_root = |
| "${fuchsia_sdk}/obj/${fuchsia_arch_root}-api-${fuchsia_target_api_level}" |
| } |