| # Copyright 2018 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. |
| |
| import("//build/rust/toolchain.gni") |
| import("//build/toolchain/basic_toolchain.gni") |
| |
| group("disable_strict_sources_check_allowlist") { |
| # ________ _________ ________ ________ |
| # |\ ____\|\___ ___\\ __ \|\ __ \ |
| # \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \ |
| # \ \_____ \ \ \ \ \ \ \\\ \ \ ____\ |
| # \|____|\ \ \ \ \ \ \ \\\ \ \ \___| |
| # ____\_\ \ \ \__\ \ \_______\ \__\ |
| # |\_________\ \|__| \|_______|\|__| |
| # \|_________| |
| # This is an allowlist of packages that do not enforce that the source files |
| # are listed in `source`. This is only intended to be used as a temporary |
| # allowlist during soft migrations. |
| visibility = [] |
| } |
| |
| cargo_toml_gen_desc_out = "$target_out_dir/cargo_toml_gen_desc.json" |
| action("cargo_toml_gen_desc") { |
| visibility = [ ":cargo_toml_gen" ] |
| script = "//scripts/generate_cargo_desc.py" |
| sources = [] |
| inputs = [] |
| outputs = [ cargo_toml_gen_desc_out ] |
| depfile = "$cargo_toml_gen_desc_out.d" |
| args = [ |
| "--root_build_dir", |
| ".", |
| "--fuchsia_dir", |
| rebase_path("//", root_build_dir), |
| "--gn_binary", |
| rebase_path("//prebuilt/third_party/gn/${host_platform}/gn", |
| root_build_dir), |
| "--output", |
| rebase_path(cargo_toml_gen_desc_out, root_build_dir), |
| "--depfile", |
| rebase_path("$cargo_toml_gen_desc_out.d", root_build_dir), |
| ] |
| } |
| |
| # NOTE: This target is used by "fx set --cargo-toml-gen ..." which |
| # will do the following: |
| # |
| # 1) Ensure that "fx gen" (and "fx build") will pass `--ide-json` |
| # to `gn gen`, which generates an up-to-date |
| # `$root_build_dir/project.json` file, used here as input. |
| # |
| # 2) Add this target to the base packages list to ensure its |
| # action script is run by "fx build". |
| # |
| # For more details, see docs/development/language/rust/README.md |
| # |
| action("cargo_toml_gen") { |
| # Nothing in-tree should depend on Cargo files. |
| # TODO(bwb) remove base_packages visibility when auto-generation is disabled |
| visibility = [ |
| "//:additional_base_packages", |
| "//:additional_cache_packages", |
| "//:additional_universe_packages", |
| ] |
| script = "//scripts/generate_cargo.py" |
| sources = [] |
| inputs = [ cargo_toml_gen_desc_out ] |
| |
| outputs = [ "$root_build_dir/cargo/generate_cargo.stamp" ] |
| depfile = "$root_build_dir/cargo/generate_cargo.stamp.d" |
| args = [ |
| rebase_path(cargo_toml_gen_desc_out, root_build_dir), |
| "--root_build_dir", |
| ".", |
| "--fuchsia_dir", |
| rebase_path("//", root_build_dir), |
| ] |
| deps = [ ":cargo_toml_gen_desc" ] |
| } |