GN build 实参

所有版本

acpica_debug_output

在 ACPI 库(由 ACPI 总线驱动程序使用)中启用调试输出。

当前值(来自默认值)false

来自 //zircon/system/ulib/acpica/acpica.gni:7

active_partition

当前值(来自默认值)""

来自 //build/images/args.gni:56

add_qemu_to_build_archives

是否在 build 归档中包含在 QEMU 中运行 Fuchsia 所需的映像。

当前值(来自默认值)false

来自 //build/images/args.gni:62

additional_bazel_sdk_labels

要包含在 bazel_sdk_info API 模块中的额外 generate_fuchsia_bazel_sdk 目标。这样就可以在主代码库之外定义 Bazel SDK。

当前值(来自默认值)[]

来自 //BUILD.gn:114

additional_bootserver_arguments

要添加到 pave.sh 的其他启动服务器实参。应谨慎添加此属性的新用途,最好先进行讨论。本用例旨在解决以下问题:由于驱动程序和硬件方面的挑战,当特定网卡与特定主板组合使用时,需要启用 netboot 节流。

当前值(来自默认值)""

来自 //build/images/args.gni:68

additional_default_targets

平台构建者可以将目标添加到此列表,以便使用 //:default 目标构建这些目标

当前值(来自默认值)[]

来自 //BUILD.gn:130

all_cpu_kernel_boot_tests

使 //zircon/kernel:boot_tests 为所有受支持的 CPU(而不仅仅是 $target_cpu)生成物理启动测试。

当前值(来自默认值)false

来自 //zircon/kernel/BUILD.gn:16

all_cpu_phys_boot_tests

使 //zircon/kernel/phys:boot_tests 为所有受支持的 CPU(而不仅仅是 $target_cpu)生成物理启动测试。

当前值(来自默认值)false

来自 //zircon/kernel/phys/BUILD.gn:24

all_font_file_paths

每个字体资源的路径列表。在 fonts.gni 中填充。

当前值(来自默认值)[]

来自 //src/fonts/build/font_args.gni:35

all_toolchain_variants

这些变量绝不应设置为 build 实参。 它将设置在下方,并通过 toolchain_args 传递给其他工具链(请参阅 variant_toolchain.gni)。

当前值(来自默认值)[]

来自 //build/config/BUILDCONFIG.gn:779

allowed_test_device_types

相应 build 允许运行测试的设备类型列表。如果设置,则仅将这些设备类型用于测试。

当前值(来自默认值)[]

来自 //build/testing/test_spec.gni:14

always_zedboot

构建优先选择 Zedboot 而非本地启动的启动映像(仅适用于 EFI)。

当前值(来自默认值)false

来自 //build/images/args.gni:77

amlogic_decoder_firmware_path

Amlogic 解码器固件文件的路径。替换 build 中的默认值。

当前值(来自默认值)""

来自 //src/media/drivers/amlogic_decoder/BUILD.gn:12

archivist_max_cached_logs_bytes

当前值(来自默认值)4194304

来自 //src/diagnostics/archivist/configs.gni:6

arm_sdk_tools

如果为 true,则 SDK 中包含 arm64 主机工具。

当前值(来自默认值)false

来自 //src/developer/ffx/plugins/emulator/emu_companion.gni:9

asan_default_options

默认 AddressSanitizer 选项(在运行时读取 ASAN_OPTIONS 环境变量之前)。此值可设置为 build 实参,以影响 $variants 中的大多数“asan”变体(请参阅),也可在其中一个变体的 $toolchain_args 中进行替换。可以是字符串列表,也可以是单个字符串。

请注意,即使此列表为空,相应 build 中的程序也无法定义自己的 __asan_default_options C 函数。相反,他们可以在 deps 中使用 sanitizer_extra_options() 目标,然后以这种方式注入的任何选项都可以替换此列表中的相应选项设置。

当前值(来自默认值)["detect_stack_use_after_return=1", "quarantine_size_mb=32"]

From //build/config/sanitizers/sanitizer_default_options.gni:18

assembly_board_configs

平台构建者应在其 product.gni 文件中填充此列表。结果将由基础架构构建并上传到 CIPD。

当前值(来自默认值)[]

来自 //BUILD.gn:118

assembly_generate_fvm_fastboot

目标 eMMC 设备上 FVM 分区的大小(以字节为单位)。 指定此参数将导致 build 生成适合通过 fastboot 刷写到 eMMC 设备上的 fvm.fastboot.blk。

当前值(来自默认值)false

来自 //build/images/args.gni:85

assembly_generate_fvm_nand

指定这些变量将生成适合通过 fastboot 直接刷写的 NAND FVM 映像。需要 NAND 特征才能正确初始化 OOB 区域中的 FTL 元数据。fvm_max_disk_size 也应为非零值,否则 minfs 将没有空间在启动时进行初始化。

当前值(来自默认值)false

来自 //build/images/args.gni:92

assembly_partitions_configs

平台构建者应在其 product.gni 文件中填充此列表。 结果将由基础架构构建并上传到 CIPD。

当前值(来自默认值)[]

来自 //BUILD.gn:126

assembly_product_configs

平台构建者应在其 product.gni 文件中填充此列表。 结果将由基础架构构建并上传到 CIPD。

当前值(来自默认值)[]

来自 //BUILD.gn:122

authorized_ssh_keys_label

已弃用,保留下来是为了触发警告

当前值(来自默认值)false

来自 //BUILD.gn:146

avb_atx_metadata

将用于验证公钥的 AVB 元数据

target_cpu = "arm64" 的当前值"//third_party/android/platform/external/avb/test/data/atx_metadata.bin"

来自 //boards/arm64.gni:35

已覆盖默认值""

来自 //build/images/vbmeta.gni:23

当前值(来自默认值)""

来自 //build/images/vbmeta.gni:23

avb_key

将用于为 AVB 签署 VBMETA 和映像的密钥

target_cpu = "arm64" 的当前值"//third_party/android/platform/external/avb/test/data/testkey_atx_psk.pem"

来自 //boards/arm64.gni:37

已覆盖默认值""

来自 //build/images/vbmeta.gni:20

当前值(来自默认值)""

来自 //build/images/vbmeta.gni:20

base_package_labels

这些变量仅用于允许使用开发者的本地 args.gn 文件进行软过渡。

当前值(来自默认值)false

来自 //BUILD.gn:33

basic_env_names

要包含在“basic_envs”中的环境名称列表。

当前值(来自默认值)["emu"]

来自 //build/testing/environments.gni:9

bazel_auto_refresh_compdb

在构建 bazel_actions 后自动刷新 compile_commands.json。

注意:启用此功能会使 build 增加几秒钟的开销。

当前值(来自默认值)false

来自 //build/bazel/bazel_action.gni:15

bazel_execution_logs

如果为 true,则发出额外的执行日志,其中包含有关远程执行及其操作摘要、缓存状态、远程输入等信息。

当前值(来自默认值)true

来自 //build/bazel/config/logging.gni:9

bazel_product_bundle_board

target_cpu = "arm64" 的当前值"arm64"

来自 //boards/arm64.gni:25

从默认值替换false

来自 //build/images/args.gni:140

target_cpu = "riscv64" 的当前值"riscv64"

来自 //boards/riscv64.gni:32

已覆盖默认值false

来自 //build/images/args.gni:140

target_cpu = "x64" 的当前值"x64"

来自 //boards/x64.gni:28

已覆盖默认值false

来自 //build/images/args.gni:140

bazel_product_bundle_full

bazel_productbundle[full|root|prefix|board] 共同标识了要在 Bazel 汇编中使用的 GN 目标中的 bazel_product_bundle 目标。实际使用的目标是:

${bazel_product_bundle_full}.${bazel_product_bundle_board} 如果定义了 ${bazel_product_bundle_full},否则 ${bazel_product_bundle_root}/${bazel_product_bundle_prefix}.${bazel_product_bundle_board}

注意:bazel_product_bundle_prefix 应包含目标的完全限定路径前缀。必须同时设置这两个实参,才能启用 Bazel 汇编。

例如,假设:

bazel_product_bundle_root = "//" bazel_product_bundle_prefix = "build/bazel/assembly:minimal" bazel_product_bundle_board = "x64"

用于 Bazel 组装的实际 bazel_product_bundle 为:

//build/bazel/assembly:minimal.x64

当前值(来自默认值)false

来自 //build/images/args.gni:137

bazel_product_bundle_prefix

target_cpu = "arm64" 的当前值"//products/core:product_bundle"

来自 //products/core.gni:26

已覆盖默认值false

来自 //build/images/args.gni:139

target_cpu = "riscv64" 的当前值"//products/minimal:product_bundle"

来自 //products/minimal.gni:33

已覆盖默认值false

来自 //build/images/args.gni:139

target_cpu = "x64" 的当前值"//products/core:product_bundle"

来自 //products/core.gni:26

从默认值替换false

来自 //build/images/args.gni:139

bazel_product_bundle_root

当前值(来自默认值)"//"

来自 //build/images/args.gni:138

bazel_rbe_download_outputs

控制下载哪些 Bazel 远程构建输出。 请参阅 https://bazel.build/reference/command-line-reference#flag--remote_download_outputs 有效选项:all、minimal、toplevel(自 Bazel 7.1 起为默认值) -“toplevel”和“minimal”可以显著节省下载带宽 -“all”有助于调试远程构建问题

当前值(来自默认值)"toplevel"

来自 //build/bazel/remote_services.gni:32

bazel_rbe_exec_strategy

当 Bazel 配置为使用 RBE 时,此标志用于控制所用的执行策略。

支持的选项: “remote”:在缓存未命中时,远程构建(默认) “local”:在缓存未命中时,本地构建 “nocache”:强制执行,如同缓存未命中。

当前值(来自默认值)"remote"

来自 //build/bazel/remote_services.gni:25

bazel_root_host_targets

一个类似的列表,用于在 args.gn 中扩展上述列表以实现自定义 build 配置。

当前值(来自默认值)[]

来自 //build/bazel/bazel_root_targets_list.gni:195

bazel_upload_build_events

配置 Bazel 以将 build 事件和结果流式传输到服务。 这有助于分享 build 结果和调用详细信息,以便重现和分诊问题。 此选项使用直接网络访问,需要进行身份验证。 _infra 变体旨在用于构建基础架构。 如需了解详情,请访问:https://bazel.build/remote/bep#build-event-service

有效选项: "":不进行流式传输(默认) "sponge":上传到 Sponge2(面向用户) "sponge_infra":上传到 Sponge2(面向基础设施) "resultstore":上传到 ResultStore(面向用户) "resultstore_infra":上传到 ResultStore(面向基础设施)

当前值(来自默认值)""

来自 //build/bazel/remote_services.gni:48

blobfs_num_pager_threads

要为 blobfs 生成的分页器线程数。

当前值(来自默认值)2

来自 //src/storage/blobfs/bin/BUILD.gn:20

blobfs_page_in_metrics_recording

在配置 GN 实参以启用 BlobFS 页面内指标记录时,请将此值设置为 true。这还会将 blobfs 的检查 VMO 大小增加到 2 MiB,以容纳大量指标条目。

当前值(来自默认值)false

来自 //src/storage/blobfs/BUILD.gn:12

board_configuration_label

与产品组装搭配使用的主板配置目标的标签

target_cpu = "arm64" 的当前值"//boards/arm64"

来自 //boards/arm64.gni:24

已覆盖默认值false

来自 //build/board.gni:32

target_cpu = "riscv64" 的当前值"//boards/riscv64"

来自 //boards/riscv64.gni:24

已覆盖默认值false

来自 //build/board.gni:32

target_cpu = "x64" 的当前值"//boards/x64"

来自 //boards/x64.gni:27

已覆盖默认值false

来自 //build/board.gni:32

board_description

与面板名称对应的人类可读面板说明。

target_cpu = "arm64" 的当前值"A generic emulated arm64 device."

来自 //boards/arm64.gni:28

已覆盖默认值""

来自 //build/board.gni:14

target_cpu = "riscv64" 的当前值"A generic emulated riscv64 device."

来自 //boards/riscv64.gni:27

从默认值替换""

来自 //build/board.gni:14

target_cpu = "x64" 的当前值"A generic x64 device"

来自 //boards/x64.gni:24

已覆盖默认值""

来自 //build/board.gni:14

board_fastboot_unlock_credentials

解锁相应主板的 fastboot 协议所需的解锁凭据文件的路径列表。

当前值(来自默认值)[]

来自 //build/board.gni:18

board_is_emu

相应主板是否支持模拟器设备。用于确定商品套装元数据应生成虚拟设备规格还是两者都生成。

target_cpu = "arm64" 的当前值true

来自 //boards/arm64.gni:31

已覆盖默认值false

来自 //build/board.gni:37

target_cpu = "riscv64" 的当前值true

来自 //boards/riscv64.gni:30

从默认值替换false

来自 //build/board.gni:37

target_cpu = "x64" 的当前值true

来自 //boards/x64.gni:31

已覆盖默认值false

来自 //build/board.gni:37

board_name

用于铺路和琥珀更新的主板名称。

target_cpu = "arm64" 的当前值"arm64"

From //boards/arm64.gni:27

已覆盖默认值""

来自 //build/board.gni:11

target_cpu = "riscv64" 的当前值"riscv64"

来自 //boards/riscv64.gni:26

已覆盖默认值""

来自 //build/board.gni:11

target_cpu = "x64" 的当前值"x64"

来自 //boards/x64.gni:23

已覆盖默认值""

来自 //build/board.gni:11

board_tools

要包含在 build 输出中的特定于主板的工具的路径列表。

大多数开发工具都可以在树内使用,无需在此处添加。此实参仅适用于可能需要与 build 文件一起分发的工具,例如从 SoC 恢复模式刷写的工具。

以这种方式包含的资源仅尽最大努力包含,不会为归档的用户形成任何类型的稳定合同。

当前值(来自默认值)[]

来自 //build/board.gni:29

bootfs_only

将“系统映像”软件包放入 BOOTFS 中。因此,运行时原本应为 /system/... 的内容现在变成了 /boot/…。

当前值(来自默认值)false

来自 //build/images/args.gni:12

build_all_vp9_file_decoder_conformance_tests

当前值(来自默认值)false

来自 //src/media/codec/examples/BUILD.gn:11

build_id_format

用于 Fuchsia 目标代码的 build ID 算法。这不适用于主机代码或嘉宾代码。该值是链接器的 --build-id=... 开关的实参。如果留空(默认),则使用链接器的默认格式。

当前值(来自默认值)""

来自 //build/config/build_id.gni:10

build_info_board

当前 build 的板级配置

target_cpu = "arm64" 的当前值"arm64"

来自 //out/not-default/args.gn:8

已覆盖默认值"arm64"

来自 //build/info/info.gni:13

target_cpu = "riscv64" 的当前值"riscv64"

来自 //out/not-default/args.gn:8

从默认值替换"riscv64"

来自 //build/info/info.gni:13

target_cpu = "x64" 的当前值"x64"

来自 //out/not-default/args.gn:8

从默认值替换"x64"

来自 //build/info/info.gni:13

build_info_product

LINT.IfChange 当前 build 的产品配置

target_cpu = "arm64" 的当前值"core"

来自 //out/not-default/args.gn:9

从默认值替换""

来自 //build/info/info.gni:10

target_cpu = "riscv64" 的当前值"minimal"

来自 //out/not-default/args.gn:9

已覆盖默认值""

来自 //build/info/info.gni:10

target_cpu = "x64" 的当前值"core"

来自 //out/not-default/args.gn:9

已覆盖默认值""

来自 //build/info/info.gni:10

build_info_version

当前 build 的逻辑版本。如果未设置,则默认为最近一次更新的时间戳。

当前值(来自默认值)""

来自 //build/info/info.gni:17

build_only_labels

这些标签通过“//:build_only”以传递方式添加为“//:default”的依赖项。这些用于添加需要构建但不是任何产品、主板等一部分的目标。

对于只想构建和定义树的一小部分内容的子 build,这些标记也可作为“//:default”的替代方案。

target_cpu = "arm64" 的当前值[]

来自 //out/not-default/args.gn:15

已覆盖默认值[]

来自 //BUILD.gn:138

target_cpu = "riscv64" 的当前值[]

来自 //out/not-default/args.gn:15

从默认值替换[]

来自 //BUILD.gn:138

target_cpu = "x64" 的当前值[]

来自 //out/not-default/args.gn:15

已覆盖默认值[]

来自 //BUILD.gn:138

build_should_trace_actions

如果启用,系统将跟踪操作的所有文件系统活动,并根据其声明的输入、输出和 depfile(如果存在)进行检查。如果某操作访问了未声明的输入或输出,则 build 将失败。

当前值(来自默认值)false

来自 //build/tracer/tracer.gni:12

cache_package_labels

当前值(来自默认值)false

来自 //BUILD.gn:34

call_graph_section

是否在输出文件中发出调用图部分 https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-fexperimental-call-graph-section TODO(https://issues.fuchsia.dev/497876388):在下一次工具链滚动后,默认启用调用图部分。

当前值(来自默认值)false

来自 //build/config/clang/call_graph_section.gni:9

camera_debug

当前值(来自默认值)false

来自 //src/camera/debug.gni:6

camera_gym_configuration_cycle_interval_ms

当前值(来自默认值)10000

来自 //src/camera/bin/camera-gym/BUILD.gn:13

carnelian_enable_vulkan_validation

在 Carnelian 示例中包含 Vulkan 验证层。

当前值(来自默认值)false

来自 //src/lib/ui/carnelian/BUILD.gn:13

carnelian_static_images_extras

将此指向要作为额外内容包含的外部图片文件的位置

当前值(来自默认值)[]

来自 //src/lib/ui/carnelian/BUILD.gn:16

carnelian_static_rives_extras

将此指向要作为额外资源包含的外部 Rive 文件所在的位置

当前值(来自默认值)[]

来自 //src/lib/ui/carnelian/BUILD.gn:19

carnelian_static_txts_extras

将此指向要作为 extras 包含的外部 txt 文件的位置

当前值(来自默认值)[]

来自 //src/lib/ui/carnelian/BUILD.gn:22

channel_message_body_tracing_enabled

在 IPC 轨迹中包含部分渠道消息正文。# 此功能旨在用于本地调试,不适用于生产环境。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:128

check_output_dir_leaks

如果已启用,请检查输出目录路径是否泄露到命令或其任何输出文件中。这对于远程 build 的一致性和缓存非常重要。

当前值(来自默认值)true

来自 //build/tracer/tracer.gni:21

check_repeatability

如果启用,则运行每个受影响的操作两次(一次使用重命名的输出),并比较输出的内容以确定是否可重现。

当前值(来自默认值)false

来自 //build/tracer/tracer.gni:16

check_vtables_in_rodata

检查 binaries.json 中列出的 Fuchsia 二进制文件中的所有 vtable 是否都位于只读数据部分。此检查将在完整 build 结束时运行。

此功能主要供 clang canary 构建器使用。

当前值(来自默认值)false

来自 //build/images/args.gni:37

chromium_build_dir

此变量指定一个完全限定的 Chromium build 输出目录(例如 /home/$USER/chrome/src/out/fuchsia),将从中获取 web_engine。 所有这些目标都必须存在于输出目录中。 如果未设置,则使用 CIPD 中的预构建软件包。

当前值(来自默认值)""

来自 //src/chromium/build_args.gni:11

cipd_assembly_artifact_targets

仅用于 GN 元数据的 //:cipd_assembly_artifacts 要遍历的目标。 这些目标应在元数据中设置“assembly_inputs”,其中可以包含一个 JSON 文件,用于描述要上传到 CPID 的制品。

注意:这些目标仅用于 GN 元数据遍历。如果需要构建制品,则应通过其他方式将其纳入构建图。

当前值(来自默认值)["//build/images:main_assembly"]

来自 //build/product.gni:25

clang_embed_bitcode

将 LLVM 位码作为 .llvmbc 部分嵌入到 ELF 文件中。此标志主要供使用位码进行分析的外部工具使用。

当前值(来自默认值)false

来自 //build/config/clang/clang.gni:12

clang_enable_error_reproducers

在出现错误时启用重现器。除了崩溃之外,还提供了编译器错误方面的类似崩溃的重现器。请注意,目前只有极少数人应使用此标志,因为它依赖于尚未在预构建的 clang 中的功能。它仅对 clang canary build 开发者和使用自定义 clang 的用户有用。

当前值(来自默认值)false

来自 //build/config/clang/clang.gni:20

clang_ml_inliner

控制是否在 Clang 中使用 ML 内联器来减小大小。

当前值(来自默认值)true

来自 //build/config/clang/clang.gni:23

clang_prefix

预构建提供的默认 clang 工具链。Go 工具链还会使用此变量。LINT.IfChange

当前值(来自默认值)"//prebuilt/third_party/clang/linux-x64/bin"

来自 //build/config/clang/clang_prefix.gni:11

clang_tool_dir

Clang 工具链二进制文件(“clang”“llvm-nm”等)所在的目录。如果此值为“”,则行为取决于 $clang_prefix。此工具链应同时支持 Fuchsia 目标平台和主机。

当前值(来自默认值)""

来自 //build/toolchain/zircon/clang.gni:11

clang_toolchain_info

包含有关当前 Clang 工具链的信息的范围。此变量不应作为 build 实参进行设置。

当前值(来自默认值)

{
  aarch64_unknown_fuchsia = {
  libclang_rt_profile_a = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.profile.a"
  libunwind_so = "lib/aarch64-unknown-fuchsia/libunwind.so.1.0"
  resource_dir = "lib/clang/23"
  variants = {
  asan = {
  shared = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.asan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.asan.a"
  clang_rt_cxx = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.asan_cxx.a"
}
}
  hwasan = {
  shared = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.hwasan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.hwasan.a"
  clang_rt_cxx = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.hwasan_cxx.a"
}
}
  lsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.lsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.lsan.a"
  clang_rt_cxx = ""
}
}
  tsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.tsan.so"
}
  static = {
  clang_rt = "../../../../out/not-default/libclang_rt.tsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.tsan_cxx.a"
}
}
  ubsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.ubsan_standalone.a"
  clang_rt_cxx = "lib/clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.ubsan_standalone_cxx.a"
}
}
}
}
  aarch64_unknown_linux_gnu = {
  libclang_rt_profile_a = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.profile.a"
  libunwind_so = "../../../../out/not-default/libunwind.so"
  resource_dir = "lib/clang/23"
  variants = {
  asan = {
  shared = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.asan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.asan.a"
  clang_rt_cxx = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.asan_cxx.a"
}
}
  hwasan = {
  shared = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.hwasan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.hwasan.a"
  clang_rt_cxx = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.hwasan_cxx.a"
}
}
  lsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.lsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.lsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.lsan_cxx.a"
}
}
  tsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.tsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.tsan.a"
  clang_rt_cxx = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.tsan_cxx.a"
}
}
  ubsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.ubsan_standalone.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.ubsan_standalone.a"
  clang_rt_cxx = "lib/clang/23/lib/aarch64-unknown-linux-gnu/libclang_rt.ubsan_standalone_cxx.a"
}
}
}
}
  armv7_unknown_linux_gnueabihf = {
  libclang_rt_profile_a = "lib/clang/23/lib/armv7-unknown-linux-gnueabihf/libclang_rt.profile.a"
  libunwind_so = "../../../../out/not-default/libunwind.so"
  resource_dir = "lib/clang/23"
  variants = {
  asan = {
  shared = {
  clang_rt = "lib/clang/23/lib/armv7-unknown-linux-gnueabihf/libclang_rt.asan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/armv7-unknown-linux-gnueabihf/libclang_rt.asan.a"
  clang_rt_cxx = "lib/clang/23/lib/armv7-unknown-linux-gnueabihf/libclang_rt.asan_cxx.a"
}
}
  hwasan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.hwasan.so"
}
  static = {
  clang_rt = "../../../../out/not-default/libclang_rt.hwasan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.hwasan_cxx.a"
}
}
  lsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.lsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/armv7-unknown-linux-gnueabihf/libclang_rt.lsan.a"
  clang_rt_cxx = ""
}
}
  tsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.tsan.so"
}
  static = {
  clang_rt = "../../../../out/not-default/libclang_rt.tsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.tsan_cxx.a"
}
}
  ubsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/armv7-unknown-linux-gnueabihf/libclang_rt.ubsan_standalone.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/armv7-unknown-linux-gnueabihf/libclang_rt.ubsan_standalone.a"
  clang_rt_cxx = "lib/clang/23/lib/armv7-unknown-linux-gnueabihf/libclang_rt.ubsan_standalone_cxx.a"
}
}
}
}
  fallback = {
  libclang_rt_profile_a = ""
  libunwind_so = "../../../../out/not-default/libunwind.so"
  resource_dir = "lib/clang/23"
  variants = { }
}
  riscv64_unknown_fuchsia = {
  libclang_rt_profile_a = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.profile.a"
  libunwind_so = "lib/riscv64-unknown-fuchsia/libunwind.so.1.0"
  resource_dir = "lib/clang/23"
  variants = {
  asan = {
  shared = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.asan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.asan.a"
  clang_rt_cxx = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.asan_cxx.a"
}
}
  hwasan = {
  shared = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.hwasan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.hwasan.a"
  clang_rt_cxx = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.hwasan_cxx.a"
}
}
  lsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.lsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.lsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.lsan_cxx.a"
}
}
  tsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.tsan.so"
}
  static = {
  clang_rt = "../../../../out/not-default/libclang_rt.tsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.tsan_cxx.a"
}
}
  ubsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.ubsan_standalone.a"
  clang_rt_cxx = "lib/clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.ubsan_standalone_cxx.a"
}
}
}
}
  riscv64_unknown_linux_gnu = {
  libclang_rt_profile_a = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.profile.a"
  libunwind_so = "../../../../out/not-default/libunwind.so"
  resource_dir = "lib/clang/23"
  variants = {
  asan = {
  shared = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.asan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.asan.a"
  clang_rt_cxx = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.asan_cxx.a"
}
}
  hwasan = {
  shared = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.hwasan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.hwasan.a"
  clang_rt_cxx = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.hwasan_cxx.a"
}
}
  lsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.lsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.lsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.lsan_cxx.a"
}
}
  tsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.tsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.tsan.a"
  clang_rt_cxx = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.tsan_cxx.a"
}
}
  ubsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.ubsan_standalone.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.ubsan_standalone.a"
  clang_rt_cxx = "lib/clang/23/lib/riscv64-unknown-linux-gnu/libclang_rt.ubsan_standalone_cxx.a"
}
}
}
}
  runtimes = [{
  cflags = []
  ldflags = []
  runtime = [{
  breakpad = "debug/.build-id/3e/0a1ddcf665509c4ba52b5bcd817d28f415d720.sym"
  debug = "debug/.build-id/3e/0a1ddcf665509c4ba52b5bcd817d28f415d720.debug"
  dist = "aarch64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/c4/33b29c7e1983940242f593fdc5629243e03fb3.sym"
  debug = "debug/.build-id/c4/33b29c7e1983940242f593fdc5629243e03fb3.debug"
  dist = "aarch64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/4c/f6c3e8468effae4321a8e1850780e6cc70a6df.sym"
  debug = "debug/.build-id/4c/f6c3e8468effae4321a8e1850780e6cc70a6df.debug"
  dist = "aarch64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["aarch64-unknown-fuchsia", "aarch64-fuchsia"]
}, {
  cflags = ["-fsanitize=address"]
  ldflags = []
  runtime = [{
  breakpad = "debug/.build-id/4c/669142256f094404c918b94162d72733ee3f5e.sym"
  debug = "debug/.build-id/4c/669142256f094404c918b94162d72733ee3f5e.debug"
  dist = "clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.asan.so"
  soname = "libclang_rt.asan.so"
}, {
  breakpad = "debug/.build-id/49/361bacf2b79cd644e6614c4287052d5da78adb.sym"
  debug = "debug/.build-id/49/361bacf2b79cd644e6614c4287052d5da78adb.debug"
  dist = "aarch64-unknown-fuchsia/asan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/b1/afb88024c3ff1a372a93828edad00129bc6e39.sym"
  debug = "debug/.build-id/b1/afb88024c3ff1a372a93828edad00129bc6e39.debug"
  dist = "aarch64-unknown-fuchsia/asan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/82/54d981157146d9411d1960945b881c28e0f18b.sym"
  debug = "debug/.build-id/82/54d981157146d9411d1960945b881c28e0f18b.debug"
  dist = "aarch64-unknown-fuchsia/asan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["aarch64-unknown-fuchsia", "aarch64-fuchsia"]
}, {
  cflags = ["-fsanitize=undefined"]
  ldflags = []
  runtime = [{
  breakpad = "debug/.build-id/93/bb131df0f8e798e675c14691f6414a3406b229.sym"
  debug = "debug/.build-id/93/bb131df0f8e798e675c14691f6414a3406b229.debug"
  dist = "clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
  soname = "libclang_rt.ubsan_standalone.so"
}, {
  breakpad = "debug/.build-id/3e/0a1ddcf665509c4ba52b5bcd817d28f415d720.sym"
  debug = "debug/.build-id/3e/0a1ddcf665509c4ba52b5bcd817d28f415d720.debug"
  dist = "aarch64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/c4/33b29c7e1983940242f593fdc5629243e03fb3.sym"
  debug = "debug/.build-id/c4/33b29c7e1983940242f593fdc5629243e03fb3.debug"
  dist = "aarch64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/4c/f6c3e8468effae4321a8e1850780e6cc70a6df.sym"
  debug = "debug/.build-id/4c/f6c3e8468effae4321a8e1850780e6cc70a6df.debug"
  dist = "aarch64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["aarch64-unknown-fuchsia", "aarch64-fuchsia"]
}, {
  cflags = ["-fsanitize=hwaddress"]
  ldflags = []
  runtime = [{
  breakpad = "debug/.build-id/c4/0300071465bee529c8b24132be7133dd13c4b0.sym"
  debug = "debug/.build-id/c4/0300071465bee529c8b24132be7133dd13c4b0.debug"
  dist = "clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.hwasan.so"
  soname = "libclang_rt.hwasan.so"
}, {
  breakpad = "debug/.build-id/f3/ea3f17d7b9bac70225d93a5ca77dccdb54fc27.sym"
  debug = "debug/.build-id/f3/ea3f17d7b9bac70225d93a5ca77dccdb54fc27.debug"
  dist = "aarch64-unknown-fuchsia/hwasan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/83/7ce0231b5da4d40378bcb2a8eaed37483da4df.sym"
  debug = "debug/.build-id/83/7ce0231b5da4d40378bcb2a8eaed37483da4df.debug"
  dist = "aarch64-unknown-fuchsia/hwasan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/f3/3db9d6917bf1faea754dd6d9956cd0e377ae9a.sym"
  debug = "debug/.build-id/f3/3db9d6917bf1faea754dd6d9956cd0e377ae9a.debug"
  dist = "aarch64-unknown-fuchsia/hwasan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["aarch64-unknown-fuchsia", "aarch64-fuchsia"]
}, {
  cflags = []
  ldflags = ["-static-libstdc++"]
  runtime = []
  target = ["aarch64-unknown-fuchsia", "aarch64-fuchsia"]
}, {
  cflags = ["-fsanitize=address"]
  ldflags = ["-static-libstdc++"]
  runtime = [{
  breakpad = "debug/.build-id/4c/669142256f094404c918b94162d72733ee3f5e.sym"
  debug = "debug/.build-id/4c/669142256f094404c918b94162d72733ee3f5e.debug"
  dist = "clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.asan.so"
  soname = "libclang_rt.asan.so"
}, {
  breakpad = "debug/.build-id/49/361bacf2b79cd644e6614c4287052d5da78adb.sym"
  debug = "debug/.build-id/49/361bacf2b79cd644e6614c4287052d5da78adb.debug"
  dist = "aarch64-unknown-fuchsia/asan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/b1/afb88024c3ff1a372a93828edad00129bc6e39.sym"
  debug = "debug/.build-id/b1/afb88024c3ff1a372a93828edad00129bc6e39.debug"
  dist = "aarch64-unknown-fuchsia/asan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/82/54d981157146d9411d1960945b881c28e0f18b.sym"
  debug = "debug/.build-id/82/54d981157146d9411d1960945b881c28e0f18b.debug"
  dist = "aarch64-unknown-fuchsia/asan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["aarch64-unknown-fuchsia", "aarch64-fuchsia"]
}, {
  cflags = ["-fsanitize=undefined"]
  ldflags = ["-static-libstdc++"]
  runtime = [{
  breakpad = "debug/.build-id/93/bb131df0f8e798e675c14691f6414a3406b229.sym"
  debug = "debug/.build-id/93/bb131df0f8e798e675c14691f6414a3406b229.debug"
  dist = "clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
  soname = "libclang_rt.ubsan_standalone.so"
}, {
  breakpad = "debug/.build-id/3e/0a1ddcf665509c4ba52b5bcd817d28f415d720.sym"
  debug = "debug/.build-id/3e/0a1ddcf665509c4ba52b5bcd817d28f415d720.debug"
  dist = "aarch64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/c4/33b29c7e1983940242f593fdc5629243e03fb3.sym"
  debug = "debug/.build-id/c4/33b29c7e1983940242f593fdc5629243e03fb3.debug"
  dist = "aarch64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/4c/f6c3e8468effae4321a8e1850780e6cc70a6df.sym"
  debug = "debug/.build-id/4c/f6c3e8468effae4321a8e1850780e6cc70a6df.debug"
  dist = "aarch64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["aarch64-unknown-fuchsia", "aarch64-fuchsia"]
}, {
  cflags = ["-fsanitize=hwaddress"]
  ldflags = ["-static-libstdc++"]
  runtime = [{
  breakpad = "debug/.build-id/c4/0300071465bee529c8b24132be7133dd13c4b0.sym"
  debug = "debug/.build-id/c4/0300071465bee529c8b24132be7133dd13c4b0.debug"
  dist = "clang/23/lib/aarch64-unknown-fuchsia/libclang_rt.hwasan.so"
  soname = "libclang_rt.hwasan.so"
}, {
  breakpad = "debug/.build-id/f3/ea3f17d7b9bac70225d93a5ca77dccdb54fc27.sym"
  debug = "debug/.build-id/f3/ea3f17d7b9bac70225d93a5ca77dccdb54fc27.debug"
  dist = "aarch64-unknown-fuchsia/hwasan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/83/7ce0231b5da4d40378bcb2a8eaed37483da4df.sym"
  debug = "debug/.build-id/83/7ce0231b5da4d40378bcb2a8eaed37483da4df.debug"
  dist = "aarch64-unknown-fuchsia/hwasan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/f3/3db9d6917bf1faea754dd6d9956cd0e377ae9a.sym"
  debug = "debug/.build-id/f3/3db9d6917bf1faea754dd6d9956cd0e377ae9a.debug"
  dist = "aarch64-unknown-fuchsia/hwasan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["aarch64-unknown-fuchsia", "aarch64-fuchsia"]
}, {
  cflags = []
  ldflags = []
  runtime = [{
  debug = "debug/.build-id/5f/be25087bfb0d6d15ba6877bb3f3c4be8a6369f.debug"
  dist = "riscv64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  debug = "debug/.build-id/3d/a39f5802000e937e6296e6df6aaffae37387d9.debug"
  dist = "riscv64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  debug = "debug/.build-id/4d/4253d021b652b07ab5200dad2c3e8c18246146.debug"
  dist = "riscv64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["riscv64-unknown-fuchsia", "riscv64-fuchsia"]
}, {
  cflags = ["-fsanitize=address"]
  ldflags = []
  runtime = [{
  debug = "debug/.build-id/b1/758b8f1fc07310a91733c42b59f5b4f6e7dbd3.debug"
  dist = "clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.asan.so"
  soname = "libclang_rt.asan.so"
}, {
  debug = "debug/.build-id/2d/21bd50ea3aba8e65de8198896cc741780fcca3.debug"
  dist = "riscv64-unknown-fuchsia/asan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  debug = "debug/.build-id/ea/10f5903e54fb70c3bf78ecf0c17d04fa6986ef.debug"
  dist = "riscv64-unknown-fuchsia/asan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  debug = "debug/.build-id/41/494e636f45df477ffddad038fb0b6d9e4b5a16.debug"
  dist = "riscv64-unknown-fuchsia/asan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["riscv64-unknown-fuchsia", "riscv64-fuchsia"]
}, {
  cflags = ["-fsanitize=undefined"]
  ldflags = []
  runtime = [{
  debug = "debug/.build-id/ed/1ced003614220623b5a5050c1ce9a6ccc2b9dc.debug"
  dist = "clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
  soname = "libclang_rt.ubsan_standalone.so"
}, {
  debug = "debug/.build-id/5f/be25087bfb0d6d15ba6877bb3f3c4be8a6369f.debug"
  dist = "riscv64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  debug = "debug/.build-id/3d/a39f5802000e937e6296e6df6aaffae37387d9.debug"
  dist = "riscv64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  debug = "debug/.build-id/4d/4253d021b652b07ab5200dad2c3e8c18246146.debug"
  dist = "riscv64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["riscv64-unknown-fuchsia", "riscv64-fuchsia"]
}, {
  cflags = ["-fsanitize=hwaddress"]
  ldflags = []
  runtime = [{
  debug = "debug/.build-id/0b/396a8392e25d36d65d98a57ae2dec6300bdb1f.debug"
  dist = "clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.hwasan.so"
  soname = "libclang_rt.hwasan.so"
}, {
  debug = "debug/.build-id/5f/be25087bfb0d6d15ba6877bb3f3c4be8a6369f.debug"
  dist = "riscv64-unknown-fuchsia/hwasan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  debug = "debug/.build-id/3d/a39f5802000e937e6296e6df6aaffae37387d9.debug"
  dist = "riscv64-unknown-fuchsia/hwasan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  debug = "debug/.build-id/bb/8f97dcbbe5a668fbe0e3cd1a451d20098d3a58.debug"
  dist = "riscv64-unknown-fuchsia/hwasan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["riscv64-unknown-fuchsia", "riscv64-fuchsia"]
}, {
  cflags = []
  ldflags = ["-static-libstdc++"]
  runtime = []
  target = ["riscv64-unknown-fuchsia", "riscv64-fuchsia"]
}, {
  cflags = ["-fsanitize=address"]
  ldflags = ["-static-libstdc++"]
  runtime = [{
  debug = "debug/.build-id/b1/758b8f1fc07310a91733c42b59f5b4f6e7dbd3.debug"
  dist = "clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.asan.so"
  soname = "libclang_rt.asan.so"
}, {
  debug = "debug/.build-id/2d/21bd50ea3aba8e65de8198896cc741780fcca3.debug"
  dist = "riscv64-unknown-fuchsia/asan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  debug = "debug/.build-id/ea/10f5903e54fb70c3bf78ecf0c17d04fa6986ef.debug"
  dist = "riscv64-unknown-fuchsia/asan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  debug = "debug/.build-id/41/494e636f45df477ffddad038fb0b6d9e4b5a16.debug"
  dist = "riscv64-unknown-fuchsia/asan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["riscv64-unknown-fuchsia", "riscv64-fuchsia"]
}, {
  cflags = ["-fsanitize=undefined"]
  ldflags = ["-static-libstdc++"]
  runtime = [{
  debug = "debug/.build-id/ed/1ced003614220623b5a5050c1ce9a6ccc2b9dc.debug"
  dist = "clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
  soname = "libclang_rt.ubsan_standalone.so"
}, {
  debug = "debug/.build-id/5f/be25087bfb0d6d15ba6877bb3f3c4be8a6369f.debug"
  dist = "riscv64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  debug = "debug/.build-id/3d/a39f5802000e937e6296e6df6aaffae37387d9.debug"
  dist = "riscv64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  debug = "debug/.build-id/4d/4253d021b652b07ab5200dad2c3e8c18246146.debug"
  dist = "riscv64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["riscv64-unknown-fuchsia", "riscv64-fuchsia"]
}, {
  cflags = ["-fsanitize=hwaddress"]
  ldflags = ["-static-libstdc++"]
  runtime = [{
  debug = "debug/.build-id/0b/396a8392e25d36d65d98a57ae2dec6300bdb1f.debug"
  dist = "clang/23/lib/riscv64-unknown-fuchsia/libclang_rt.hwasan.so"
  soname = "libclang_rt.hwasan.so"
}, {
  debug = "debug/.build-id/5f/be25087bfb0d6d15ba6877bb3f3c4be8a6369f.debug"
  dist = "riscv64-unknown-fuchsia/hwasan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  debug = "debug/.build-id/3d/a39f5802000e937e6296e6df6aaffae37387d9.debug"
  dist = "riscv64-unknown-fuchsia/hwasan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  debug = "debug/.build-id/bb/8f97dcbbe5a668fbe0e3cd1a451d20098d3a58.debug"
  dist = "riscv64-unknown-fuchsia/hwasan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["riscv64-unknown-fuchsia", "riscv64-fuchsia"]
}, {
  cflags = []
  ldflags = []
  runtime = [{
  breakpad = "debug/.build-id/3a/0349a835d6217b1d6265b5c8aae639183e81bf.sym"
  debug = "debug/.build-id/3a/0349a835d6217b1d6265b5c8aae639183e81bf.debug"
  dist = "x86_64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/e3/4df85b6d15b1703cef1788e62e71eab179806e.sym"
  debug = "debug/.build-id/e3/4df85b6d15b1703cef1788e62e71eab179806e.debug"
  dist = "x86_64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/e5/b41fe783eea5093bee5ceabd717eb823e2874d.sym"
  debug = "debug/.build-id/e5/b41fe783eea5093bee5ceabd717eb823e2874d.debug"
  dist = "x86_64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["x86_64-unknown-fuchsia", "x86_64-fuchsia"]
}, {
  cflags = ["-fsanitize=address"]
  ldflags = []
  runtime = [{
  breakpad = "debug/.build-id/07/d1737d36792f53f12313bede5f6554ed97183b.sym"
  debug = "debug/.build-id/07/d1737d36792f53f12313bede5f6554ed97183b.debug"
  dist = "clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.asan.so"
  soname = "libclang_rt.asan.so"
}, {
  breakpad = "debug/.build-id/4b/c0afb18fb2e575865db314a5d5075d3cca473b.sym"
  debug = "debug/.build-id/4b/c0afb18fb2e575865db314a5d5075d3cca473b.debug"
  dist = "x86_64-unknown-fuchsia/asan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/db/da58a4eafcbe78c356dba1b5785ea6257591eb.sym"
  debug = "debug/.build-id/db/da58a4eafcbe78c356dba1b5785ea6257591eb.debug"
  dist = "x86_64-unknown-fuchsia/asan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/62/8643b76065064571e7fe0410bcfaf13f7a6b50.sym"
  debug = "debug/.build-id/62/8643b76065064571e7fe0410bcfaf13f7a6b50.debug"
  dist = "x86_64-unknown-fuchsia/asan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["x86_64-unknown-fuchsia", "x86_64-fuchsia"]
}, {
  cflags = ["-fsanitize=undefined"]
  ldflags = []
  runtime = [{
  breakpad = "debug/.build-id/72/6d7aab1937dad76d7c6f056136e0ddcb5132d5.sym"
  debug = "debug/.build-id/72/6d7aab1937dad76d7c6f056136e0ddcb5132d5.debug"
  dist = "clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
  soname = "libclang_rt.ubsan_standalone.so"
}, {
  breakpad = "debug/.build-id/3a/0349a835d6217b1d6265b5c8aae639183e81bf.sym"
  debug = "debug/.build-id/3a/0349a835d6217b1d6265b5c8aae639183e81bf.debug"
  dist = "x86_64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/e3/4df85b6d15b1703cef1788e62e71eab179806e.sym"
  debug = "debug/.build-id/e3/4df85b6d15b1703cef1788e62e71eab179806e.debug"
  dist = "x86_64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/e5/b41fe783eea5093bee5ceabd717eb823e2874d.sym"
  debug = "debug/.build-id/e5/b41fe783eea5093bee5ceabd717eb823e2874d.debug"
  dist = "x86_64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["x86_64-unknown-fuchsia", "x86_64-fuchsia"]
}, {
  cflags = []
  ldflags = ["-static-libstdc++"]
  runtime = []
  target = ["x86_64-unknown-fuchsia", "x86_64-fuchsia"]
}, {
  cflags = ["-fsanitize=address"]
  ldflags = ["-static-libstdc++"]
  runtime = [{
  breakpad = "debug/.build-id/07/d1737d36792f53f12313bede5f6554ed97183b.sym"
  debug = "debug/.build-id/07/d1737d36792f53f12313bede5f6554ed97183b.debug"
  dist = "clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.asan.so"
  soname = "libclang_rt.asan.so"
}, {
  breakpad = "debug/.build-id/4b/c0afb18fb2e575865db314a5d5075d3cca473b.sym"
  debug = "debug/.build-id/4b/c0afb18fb2e575865db314a5d5075d3cca473b.debug"
  dist = "x86_64-unknown-fuchsia/asan/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/db/da58a4eafcbe78c356dba1b5785ea6257591eb.sym"
  debug = "debug/.build-id/db/da58a4eafcbe78c356dba1b5785ea6257591eb.debug"
  dist = "x86_64-unknown-fuchsia/asan/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/62/8643b76065064571e7fe0410bcfaf13f7a6b50.sym"
  debug = "debug/.build-id/62/8643b76065064571e7fe0410bcfaf13f7a6b50.debug"
  dist = "x86_64-unknown-fuchsia/asan/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["x86_64-unknown-fuchsia", "x86_64-fuchsia"]
}, {
  cflags = ["-fsanitize=undefined"]
  ldflags = ["-static-libstdc++"]
  runtime = [{
  breakpad = "debug/.build-id/72/6d7aab1937dad76d7c6f056136e0ddcb5132d5.sym"
  debug = "debug/.build-id/72/6d7aab1937dad76d7c6f056136e0ddcb5132d5.debug"
  dist = "clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
  soname = "libclang_rt.ubsan_standalone.so"
}, {
  breakpad = "debug/.build-id/3a/0349a835d6217b1d6265b5c8aae639183e81bf.sym"
  debug = "debug/.build-id/3a/0349a835d6217b1d6265b5c8aae639183e81bf.debug"
  dist = "x86_64-unknown-fuchsia/libc++.so.2"
  name = "libc++"
  soname = "libc++.so.2"
}, {
  breakpad = "debug/.build-id/e3/4df85b6d15b1703cef1788e62e71eab179806e.sym"
  debug = "debug/.build-id/e3/4df85b6d15b1703cef1788e62e71eab179806e.debug"
  dist = "x86_64-unknown-fuchsia/libc++abi.so.1"
  name = "libc++abi"
  soname = "libc++abi.so.1"
}, {
  breakpad = "debug/.build-id/e5/b41fe783eea5093bee5ceabd717eb823e2874d.sym"
  debug = "debug/.build-id/e5/b41fe783eea5093bee5ceabd717eb823e2874d.debug"
  dist = "x86_64-unknown-fuchsia/libunwind.so.1"
  name = "libunwind"
  soname = "libunwind.so.1"
}]
  target = ["x86_64-unknown-fuchsia", "x86_64-fuchsia"]
}]
  x86_64_pc_windows_msvc = {
  libclang_rt_profile_a = "../../../../out/not-default/libclang_rt.profile.lib"
  libunwind_so = "../../../../out/not-default/libunwind.dll"
  resource_dir = "lib/clang/23"
  variants = { }
}
  x86_64_unknown_fuchsia = {
  libclang_rt_profile_a = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.profile.a"
  libunwind_so = "lib/x86_64-unknown-fuchsia/libunwind.so.1.0"
  resource_dir = "lib/clang/23"
  variants = {
  asan = {
  shared = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.asan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.asan.a"
  clang_rt_cxx = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.asan_cxx.a"
}
}
  hwasan = {
  shared = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.hwasan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.hwasan.a"
  clang_rt_cxx = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.hwasan_cxx.a"
}
}
  lsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.lsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.lsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.lsan_cxx.a"
}
}
  tsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.tsan.so"
}
  static = {
  clang_rt = "../../../../out/not-default/libclang_rt.tsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.tsan_cxx.a"
}
}
  ubsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.ubsan_standalone.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.ubsan_standalone.a"
  clang_rt_cxx = "lib/clang/23/lib/x86_64-unknown-fuchsia/libclang_rt.ubsan_standalone_cxx.a"
}
}
}
}
  x86_64_unknown_linux_gnu = {
  libclang_rt_profile_a = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.profile.a"
  libunwind_so = "../../../../out/not-default/libunwind.so"
  resource_dir = "lib/clang/23"
  variants = {
  asan = {
  shared = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.asan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.asan.a"
  clang_rt_cxx = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.asan_cxx.a"
}
}
  hwasan = {
  shared = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.hwasan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.hwasan.a"
  clang_rt_cxx = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.hwasan_cxx.a"
}
}
  lsan = {
  shared = {
  clang_rt = "../../../../out/not-default/libclang_rt.lsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.lsan.a"
  clang_rt_cxx = "../../../../out/not-default/libclang_rt.lsan_cxx.a"
}
}
  tsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.tsan.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.tsan.a"
  clang_rt_cxx = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.tsan_cxx.a"
}
}
  ubsan = {
  shared = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_standalone.so"
}
  static = {
  clang_rt = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_standalone.a"
  clang_rt_cxx = "lib/clang/23/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_standalone_cxx.a"
}
}
}
}
}

来自 //build/config/clang/clang_toolchain_info.gni:42

clippy_cause_failure

在发现任何“拒绝”lint 时,使 clippy 目标构建失败

当前值(来自默认值)true

来自 //build/rust/config.gni:73

clippy_force_warn_all

强制将所有 clippy lint 的 lint 级别设置为“warn”。 注意:此属性会替换源属性和我们的默认 lint 级别,并且仅应用于收集有关我们源代码树中 clippy lint 的统计信息。

当前值(来自默认值)false

来自 //build/rust/config.gni:70

clippy_ignore_rustc

默认情况下,构建 clippy 目标会输出 lint 以及通过检查构建箱而发出的任何 rustc 诊断信息。此标志可使 build 中的输出仅包含 lint,以避免重复来自 rustc 的诊断信息(将在构建实际目标时发出)。请注意,fx clippy 仍会与 clippy lint 一起发出 rustc 诊断信息,只是不会显示在 ninja 的 stderr 中

当前值(来自默认值)false

来自 //build/rust/config.gni:90

clippy_warn_all

将所有 clippy lint 的 lint 级别设置为“warn”。 注意:在源代码中设置 lint 级别优先于此设置。

当前值(来自默认值)false

来自 //build/rust/config.gni:65

cobalt_environment

选择要向其发送数据的 Cobalt 环境。选项: “LOCAL” - 将日志数据本地记录到文件 “DEVEL” - 用于测试的非生产环境 “PROD” - 生产环境 false - 使用程序集提供的默认环境

当前值(来自默认值)false

来自 //src/cobalt/bin/app/BUILD.gn:16

comparison_diagnostics_dir

如果任何 {Rust,C++} {确定性,一致性} 检查失败,请将制品差异对复制到此目录,以便从基础架构 build 中导出,并供日后检查。

当前值(来自默认值)"//out/not-default/comparison-reports"

来自 //build/toolchain/rbe.gni:229

compilation_mode

要使用的总体编译模式。有效值包括: * debug:适用于启用调试功能的 build。 * balanced:一些优化,但优先考虑编译速度而非运行时性能。 * release:所有优化,用于产品发布。 LINT.IfChange

target_cpu = "arm64" 的当前值"release"

来自 //out/not-default/args.gn:5

已覆盖默认值"balanced"

来自 //build/config/compilation_modes.gni:19

target_cpu = "riscv64" 的当前值"release"

来自 //out/not-default/args.gn:5

已覆盖默认值"balanced"

来自 //build/config/compilation_modes.gni:19

target_cpu = "x64" 的当前值"release"

来自 //out/not-default/args.gn:5

已覆盖默认值"balanced"

来自 //build/config/compilation_modes.gni:19

compilation_settings_overrides

编译模式的替换设置。这是一组替换变量的值,这些变量的默认值由所选的编译模式(上文)设置。 * optimize:要使用的优化模式。有效值包括: * none:未经过优化,通常仅经过 build 测试,未运行 * debug:“针对调试进行了优化”,足够轻量,不会造成混淆 * moderate:中等优化级别(clang 的默认 -O2) * size:针对空间进行了优化,而非纯粹针对速度进行了优化 * size_thinlto:针对空间进行了优化,并使用 Thin LTO * size_lto:针对空间进行了优化,并使用 LTO * speed:纯粹针对速度进行了优化 * sanitizer:针对 Sanitizers(ASan 等)进行了优化 * profile:针对覆盖率/配置文件数据收集进行了优化 * coverage:针对覆盖率数据收集进行了优化

当前值(来自默认值){ }

来自 //build/config/compilation_modes.gni:38

compress_debuginfo

启用调试部分的压缩。

当前值(来自默认值)"zstd"

来自 //build/config/compiler.gni:117

config_example_cpp_greeting

在 args.gn 中设置此值可替换此示例发出的问候语。

当前值(来自默认值)"World"

来自 //examples/components/config/cpp/BUILD.gn:10

config_example_rust_greeting

在 args.gn 中设置此值可替换此示例发出的问候语。

当前值(来自默认值)"World"

From //examples/components/config/rust/BUILD.gn:11

config_have_heap

告知 OpenWeave 包含需要堆访问权限的文件。

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:32

crash_diagnostics_dir

Clang 崩溃报告目录路径。使用空路径可完全停用。

当前值(来自默认值)"//out/not-default/clang-crashreports"

来自 //build/config/clang/crash_diagnostics.gni:7

crashpad_dependencies

当前值(来自默认值)"fuchsia"

来自 //third_party/crashpad/src/build/crashpad_buildconfig.gni:22

crashpad_http_transport_impl

当前值(来自默认值)"socket"

来自 //third_party/crashpad/src/util/net/tls.gni:19

crashpad_use_boringssl_for_http_transport_socket

当前值(来自默认值)true

From //third_party/crashpad/src/util/net/tls.gni:30

ctf_api_level

当前值(来自默认值)"NEXT"

来自 //sdk/ctf/build/ctf_api_level.gni:6

ctf_output_directory

当前值(来自默认值)"frozen-ctf-artifacts-subbuild"

来自 //sdk/ctf/build/ctf_output_directory.gni:6

current_build_target_api_level

当前 build 的目标 API 级别。

对于默认平台 build,API 级别为“PLATFORM”。

如果此值设置为“PLATFORM”,则必须将其设置为“NEXT”“HEAD”或与当前受支持(未被弃用)的 API 级别对应的正整数。在这种情况下,build 将以指定的 API 级别为目标平台。

此标志旨在与 IDK 子 build 中包含的代码搭配使用。并非所有目标平台都支持非默认值,并且不支持其他用途。

当前值(来自默认值)"PLATFORM"

来自 //build/config/fuchsia/target_api_level.gni:16

current_cpu

当前值(来自默认值)""

current_os

当前值(来自默认值)""

custom_signing_script

如果非空,则会调用给定的脚本来生成已签名的 ZBI 映像。给定的脚本必须接受 -z 作为输入 zbi 路径,并接受 -o 作为输出签名 zbi 路径。路径必须采用 GN 标签语法(即以 // 开头)。

当前值(来自默认值)""

来自 //build/images/custom_signing.gni:10

custom_signing_script_deps

如果 custom_signing_script 不为空,则为脚本的依赖项列表。

当前值(来自默认值)[]

来自 //build/images/custom_signing.gni:13

custom_signing_script_inputs

如果 custom_signing_script 不为空,这些输入将列在程序集目标中,以便密封性检查器知道要预期读取这些文件。

当前值(来自默认值)[]

来自 //build/images/custom_signing.gni:18

custom_signing_script_tools

如果 custom signing script 不为空,则为脚本所依赖的宿主工具标签(不含工具链)的列表。之所以不在 custom_signing_script_deps 中,是因为这些定义通常位于特定于主板的 .gni 文件中,而 host_oshost_toolchain 尚未定义。因为这些是从 args.gn 导入的,而 BUILDCONFIG.gn 实际上是在之后解析的。

当前值(来自默认值)[]

来自 //build/images/custom_signing.gni:26

custom_vulkan_loader_library_name

当前值(来自默认值)""

来自 //third_party/Vulkan-Loader/src/BUILD.gn:20

cxx_rbe_check

运行一项更耗时的检查,适用于持续集成 (CI)。 所有这些都需要 cxx_rbe_enable=true。

以下权限之一:

  • “none”:不进行额外的检查。

  • “确定性”: 通过在本地运行两次并比较输出结果来检查 C++ 目标的确定性,如果发现任何差异,则失败。 虽然此检查不涉及 RBE,但它使用相同的封装脚本,该脚本知道要预期和比较哪些输出文件。

    不建议使用依赖于时间的 build 输出,因为它们会影响缓存。已知的不良预处理宏包括 DATETIME

  • “一致性”: 通过运行本地和远程 C++ 编译并比较结果,检查两者之间的一致性。

当前值(来自默认值)"none"

来自 //build/toolchain/rbe.gni:214

cxx_rbe_download_obj_files

控制是否下载中间 .o 文件。 如果下载功能处于停用状态,构建会生成桩,以便稍后使用 build/rbe/dlwrap.py 检索远程制品。TODO(b/284994230):此选项仅适用于开发者,不适用于缺乏直接网络访问权限的受限环境。

当前值(来自默认值)true

来自 //build/toolchain/rbe.gni:236

cxx_rbe_enable

设置为 true 可使用 RBE 启用 C++ 的分布式编译。 远程执行可提高构建并行性和缓存。

当前值(来自默认值)false

来自 //build/toolchain/rbe.gni:164

cxx_rbe_exec_strategy

以下权限之一:

  • “remote”:在缓存未命中时远程执行操作。系统始终会使用此结果更新远程缓存。

  • “local”:在远程缓存中查找操作,但如果缓存未命中,则在本地执行操作。本地生成的结果不会上传到远程缓存。

  • “remote_local_fallback”:先远程执行操作。 如果失败,请改为在本地运行。本地生成的结果不会上传到远程缓存。

  • “racing”:竞争本地执行与远程执行,取先完成者。

  • “nocache”:强制进行远程执行,而不使用缓存的结果。这对于基准化分析缓存未命中场景很有用。

    (还有其他未公开的重新封装器选项。)

当前值(来自默认值)"remote_local_fallback"

来自 //build/toolchain/rbe.gni:190

cxx_rbe_full_toolchain

reclient 拥有用于决定远程编译需要哪些输入的逻辑,但在某些情况下,它可能会落后于上游工具链开发。此选项会强制将整个工具链目录作为输入内容包含在内,这通常可以保证正常运行,因为它不会对工具链的工作方式做出任何假设,但会带来性能开销。此方法主要用于调试和作为紧急情况下的权宜解决方法。

当前值(来自默认值)false

来自 //build/toolchain/rbe.gni:224

cxx_rbe_minimalist_wrapper

设置为 true 可使用快速、极简的封装容器,该封装容器缺少基于 Python 的封装容器的功能,并且接近于对 rewrapper 的裸调用。仅当 cxx_rbe_enable 为 true 时,此标志才有意义。

当前值(来自默认值)true

来自 //build/toolchain/rbe.gni:169

data_filesystem_format

设置为“minfs”“fxfs”“f2fs”之一。 如果设置为“minfs”以外的任何值,则当 fshost 挂载任何现有的 minfs 分区时,该分区将就地迁移到指定格式。

当前值(来自默认值)"fxfs"

来自 //src/storage/fshost/generated_fshost_config.gni:12

debuginfo

  • none 表示没有调试信息
  • backtrace 表示有足够的调试信息来符号化回溯
  • debug 表示适合调试的调试信息

当前值(来自默认值)"debug"

来自 //build/config/compiler.gni:82

default_bazel_root_host_targets

一个范围列表,用于描述可直接使用 Bazel 构建(无需调用 Ninja)的 Bazel 主机目标。这些 不能依赖于任何 Ninja 制品。架构为:

bazel_label [字符串]:一个 Bazel 目标标签,必须以 @ 开头

bazel_name [字符串]:可选的 Bazel 制品文件名,以防其与标签不匹配。

ninja_name [GN 路径]:指向 Bazel 制品的 Ninja 硬链接的可选文件名,该文件将显示在 $NINJA_BUILD_DIR/bazel_artifacts/ 下,默认为 bazel_name。

install_host_tool [boolean]:可选,设置为 true 可供 fx host-tool <ninja_name> 命令使用。

当前值(来自默认值)

[{
  bazel_label = "//zircon/tools/merkleroot"
}, {
  bazel_label = "//build/beads/.agent/skills/migrating_host_tool_to_bazel/examples/go/after:go_example_bin_migrated"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/go_example_bin_migrated_/go_example_bin_migrated"
  ninja = "go_example_bin_migrated"
}]
  install_host_tool = true
}, {
  bazel_label = "//src/lib/testing/expectation/tool:list_test_expectations"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/list_test_expectations"
  ninja = "list_test_expectations"
}]
  install_host_tool = true
}, {
  bazel_label = "//tools/rust_test_parser:rust_test_parser"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/rust_test_parser_/rust_test_parser"
  ninja = "rust_test_parser"
}]
}, {
  bazel_label = "//tools/fidl/fidl_api_diff:fidl_api_diff"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/fidl_api_diff_/fidl_api_diff"
  ninja = "fidl_api_diff"
}]
  install_host_tool = true
}, {
  bazel_label = "//tools/go_test_parser:go_test_parser"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/go_test_parser_/go_test_parser"
  ninja = "go_test_parser"
}]
}, {
  bazel_label = "//tools/debug/covargs:covargs"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/covargs_/covargs"
  ninja = "covargs"
}]
}, {
  bazel_label = "//tools/debug/symbolize:symbolize"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/symbolize_/symbolize"
  ninja = "symbolize"
}]
}, {
  bazel_label = "//build/bazel/toolchains/tests:build"
  bazel_name = "build.stamp"
  ninja_name = "bazel_toolchains_tests_build.stamp"
}, {
  bazel_label = "//build/tools/json_validator:json_validator_valico"
  install_host_tool = true
}, {
  bazel_label = "//build/tools/formatjson5"
  install_host_tool = true
}, {
  bazel_label = "//build/tools/bazel2gn"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/bazel2gn_/bazel2gn"
  ninja = "bazel2gn"
}]
}, {
  bazel_label = "//tools/cargo-gnaw:cargo-gnaw-bin"
}, {
  bazel_label = "//tools/pretty_serial"
  install_host_tool = true
}, {
  bazel_label = "//tools/mdlint"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/mdlint_/mdlint"
  ninja = "mdlint"
}]
  install_host_tool = true
}, {
  bazel_label = "//tools/pkgstats/debugdump:debugdump"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/debugdump_/debugdump"
  ninja = "debugdump"
}]
  install_host_tool = true
}, {
  bazel_label = "//tools/debroot:debroot"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/debroot_/debroot"
  ninja = "debroot"
}]
}, {
  bazel_label = "//tools/whereiscl:whereiscl"
  copy_outputs = [{
  bazel = "{{BAZEL_TARGET_OUT_DIR}}/whereiscl_/whereiscl"
  ninja = "whereiscl"
}]
  install_host_tool = true
}, {
  bazel_label = "//tools/jq5:jq5"
  install_host_tool = true
}]

来自 //build/bazel/bazel_root_targets_list.gni:50

default_configs

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_build/gn_internal/defaults.gni:34

default_public_deps

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_build/gn_internal/defaults.gni:35

delegated_network_provisioning

请勿在产品定义中设置此属性!仅供开发者使用 TODO(https://fxbug.dev/42082693):在找到在运行时更改 netcfg 配置的解决方案后,移除此内容。 LINT.IfChange

当前值(来自默认值)false

来自 //src/connectivity/policy/netcfg/delegated_network_provisioning.gni:10

delivery_blob_type

控制 pkg-resolver 获取和 blobfs 接受的交付 blob 类型。 支持的类型可在 //src/storage/blobfs/delivery_blob.h 中找到 有效值为整数,例如:1 此实参仅供本地开发者使用,产品不应设置此实参。

当前值(来自默认值)1

来自 //build/images/args.gni:74

deny_warnings

控制是否将警告提升为错误。

当前值(来自默认值)true

来自 //build/config/BUILD.gn:28

developer_test_labels

一个仅供开发者使用的实参,用于将测试添加到 build 中,而无需通过测试类型验证上述测试集是否为。这些始终是主产品组件的依赖项。

target_cpu = "arm64" 的当前值[]

来自 //out/not-default/args.gn:24

已覆盖默认值[]

来自 //BUILD.gn:92

target_cpu = "riscv64" 的当前值[]

来自 //out/not-default/args.gn:24

已覆盖默认值[]

来自 //BUILD.gn:92

target_cpu = "x64" 的当前值[]

来自 //out/not-default/args.gn:24

已覆盖默认值[]

来自 //BUILD.gn:92

dir_docker

当前值(来自默认值)"//third_party/pigweed/src/docker"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:30

dir_pigweed

Pigweed 代码库的位置。

当前值(来自默认值)"//third_party/pigweed/src"

来自 //build_overrides/pigweed.gni:11

dir_pw_alignment

当前值(来自默认值)"//third_party/pigweed/src/pw_alignment"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:31

dir_pw_allocator

当前值(来自默认值)"//third_party/pigweed/src/pw_allocator"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:32

dir_pw_analog

当前值(来自默认值)"//third_party/pigweed/src/pw_analog"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:33

dir_pw_android_toolchain

当前值(来自默认值)"//third_party/pigweed/src/pw_android_toolchain"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:34

dir_pw_arduino_build

当前值(来自默认值)"//third_party/pigweed/src/pw_arduino_build"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:35

dir_pw_assert

当前值(来自默认值)"//third_party/pigweed/src/pw_assert"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:36

dir_pw_assert_basic

当前值(来自默认值)"//third_party/pigweed/src/pw_assert_basic"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:37

dir_pw_assert_fuchsia

当前值(来自默认值)"//third_party/pigweed/src/pw_assert_fuchsia"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:38

dir_pw_assert_log

当前值(来自默认值)"//third_party/pigweed/src/pw_assert_log"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:39

dir_pw_assert_tokenized

当前值(来自默认值)"//third_party/pigweed/src/pw_assert_tokenized"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:40

dir_pw_assert_trap

当前值(来自默认值)"//third_party/pigweed/src/pw_assert_trap"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:41

dir_pw_assert_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_assert_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:42

dir_pw_async

当前值(来自默认值)"//third_party/pigweed/src/pw_async"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:43

dir_pw_async2

当前值(来自默认值)"//third_party/pigweed/src/pw_async2"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:44

dir_pw_async_basic

当前值(来自默认值)"//third_party/pigweed/src/pw_async_basic"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:45

dir_pw_async_fuchsia

当前值(来自默认值)"//third_party/pigweed/src/pw_async_fuchsia"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:46

dir_pw_atomic

当前值(来自默认值)"//third_party/pigweed/src/pw_atomic"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:47

dir_pw_base64

当前值(来自默认值)"//third_party/pigweed/src/pw_base64"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:48

dir_pw_bloat

当前值(来自默认值)"//third_party/pigweed/src/pw_bloat"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:49

dir_pw_blob_store

当前值(来自默认值)"//third_party/pigweed/src/pw_blob_store"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:50

dir_pw_bluetooth

当前值(来自默认值)"//third_party/pigweed/src/pw_bluetooth"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:51

dir_pw_bluetooth_hci

当前值(来自默认值)"//third_party/pigweed/src/pw_bluetooth_hci"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:52

dir_pw_bluetooth_profiles

当前值(来自默认值)"//third_party/pigweed/src/pw_bluetooth_profiles"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:54

dir_pw_bluetooth_proxy

当前值(来自默认值)"//third_party/pigweed/src/pw_bluetooth_proxy"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:55

dir_pw_bluetooth_sapphire

当前值(来自默认值)"//third_party/pigweed/src/pw_bluetooth_sapphire"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:57

dir_pw_boot

当前值(来自默认值)"//third_party/pigweed/src/pw_boot"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:58

dir_pw_boot_cortex_m

当前值(来自默认值)"//third_party/pigweed/src/pw_boot_cortex_m"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:59

dir_pw_build

当前值(来自默认值)"//third_party/pigweed/src/pw_build"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:60

dir_pw_build_android

当前值(来自默认值)"//third_party/pigweed/src/pw_build_android"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:61

dir_pw_build_info

当前值(来自默认值)"//third_party/pigweed/src/pw_build_info"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:62

dir_pw_build_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_build_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:63

dir_pw_bytes

当前值(来自默认值)"//third_party/pigweed/src/pw_bytes"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:64

dir_pw_change

当前值(来自默认值)"//third_party/pigweed/src/pw_change"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:65

dir_pw_channel

当前值(来自默认值)"//third_party/pigweed/src/pw_channel"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:66

dir_pw_checksum

当前值(来自默认值)"//third_party/pigweed/src/pw_checksum"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:67

dir_pw_chre

当前值(来自默认值)"//third_party/pigweed/src/pw_chre"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:68

dir_pw_chrono

当前值(来自默认值)"//third_party/pigweed/src/pw_chrono"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:69

dir_pw_chrono_embos

当前值(来自默认值)"//third_party/pigweed/src/pw_chrono_embos"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:70

dir_pw_chrono_freertos

当前值(来自默认值)"//third_party/pigweed/src/pw_chrono_freertos"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:71

dir_pw_chrono_rp2040

当前值(来自默认值)"//third_party/pigweed/src/pw_chrono_rp2040"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:72

dir_pw_chrono_stl

当前值(来自默认值)"//third_party/pigweed/src/pw_chrono_stl"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:73

dir_pw_chrono_threadx

当前值(来自默认值)"//third_party/pigweed/src/pw_chrono_threadx"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:74

dir_pw_chrono_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_chrono_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:75

dir_pw_cli

当前值(来自默认值)"//third_party/pigweed/src/pw_cli"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:76

dir_pw_cli_analytics

当前值(来自默认值)"//third_party/pigweed/src/pw_cli_analytics"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:77

dir_pw_clock_tree

当前值(来自默认值)"//third_party/pigweed/src/pw_clock_tree"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:78

dir_pw_clock_tree_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_clock_tree_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:80

dir_pw_compilation_testing

当前值(来自默认值)"//third_party/pigweed/src/pw_compilation_testing"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:82

dir_pw_config_loader

当前值(来自默认值)"//third_party/pigweed/src/pw_config_loader"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:83

dir_pw_console

当前值(来自默认值)"//third_party/pigweed/src/pw_console"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:84

dir_pw_containers

当前值(来自默认值)"//third_party/pigweed/src/pw_containers"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:85

dir_pw_cpu_exception

当前值(来自默认值)"//third_party/pigweed/src/pw_cpu_exception"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:86

dir_pw_cpu_exception_cortex_m

当前值(来自默认值)"//third_party/pigweed/src/pw_cpu_exception_cortex_m"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:88

dir_pw_cpu_exception_risc_v

当前值(来自默认值)"//third_party/pigweed/src/pw_cpu_exception_risc_v"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:90

dir_pw_crypto

当前值(来自默认值)"//third_party/pigweed/src/pw_crypto"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:91

dir_pw_digital_io

当前值(来自默认值)"//third_party/pigweed/src/pw_digital_io"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:92

dir_pw_digital_io_linux

当前值(来自默认值)"//third_party/pigweed/src/pw_digital_io_linux"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:93

dir_pw_digital_io_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_digital_io_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:95

dir_pw_digital_io_rp2040

当前值(来自默认值)"//third_party/pigweed/src/pw_digital_io_rp2040"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:96

dir_pw_digital_io_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_digital_io_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:97

dir_pw_display

当前值(来自默认值)"//third_party/pigweed/src/pw_display"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:98

dir_pw_dma_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_dma_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:99

dir_pw_docgen

当前值(来自默认值)"//third_party/pigweed/src/pw_docgen"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:100

dir_pw_doctor

当前值(来自默认值)"//third_party/pigweed/src/pw_doctor"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:101

dir_pw_elf

当前值(来自默认值)"//third_party/pigweed/src/pw_elf"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:102

dir_pw_emu

当前值(来自默认值)"//third_party/pigweed/src/pw_emu"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:103

dir_pw_env_setup

当前值(来自默认值)"//third_party/pigweed/src/pw_env_setup"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:104

dir_pw_env_setup_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_env_setup_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:105

dir_pw_file

当前值(来自默认值)"//third_party/pigweed/src/pw_file"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:106

dir_pw_flatbuffers

当前值(来自默认值)"//third_party/pigweed/src/pw_flatbuffers"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:107

dir_pw_format

当前值(来自默认值)"//third_party/pigweed/src/pw_format"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:108

dir_pw_function

当前值(来自默认值)"//third_party/pigweed/src/pw_function"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:109

dir_pw_fuzzer

当前值(来自默认值)"//third_party/pigweed/src/pw_fuzzer"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:110

dir_pw_grpc

当前值(来自默认值)"//third_party/pigweed/src/pw_grpc"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:111

dir_pw_hdlc

当前值(来自默认值)"//third_party/pigweed/src/pw_hdlc"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:112

dir_pw_hex_dump

当前值(来自默认值)"//third_party/pigweed/src/pw_hex_dump"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:113

dir_pw_i2c

当前值(来自默认值)"//third_party/pigweed/src/pw_i2c"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:114

dir_pw_i2c_linux

当前值(来自默认值)"//third_party/pigweed/src/pw_i2c_linux"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:115

dir_pw_i2c_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_i2c_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:116

dir_pw_i2c_rp2040

当前值(来自默认值)"//third_party/pigweed/src/pw_i2c_rp2040"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:117

dir_pw_i2c_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_i2c_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:118

dir_pw_ide

当前值(来自默认值)"//third_party/pigweed/src/pw_ide"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:119

dir_pw_interrupt

当前值(来自默认值)"//third_party/pigweed/src/pw_interrupt"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:120

dir_pw_interrupt_cortex_m

当前值(来自默认值)"//third_party/pigweed/src/pw_interrupt_cortex_m"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:122

dir_pw_interrupt_freertos

当前值(来自默认值)"//third_party/pigweed/src/pw_interrupt_freertos"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:124

dir_pw_interrupt_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_interrupt_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:125

dir_pw_intrusive_ptr

当前值(来自默认值)"//third_party/pigweed/src/pw_intrusive_ptr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:126

dir_pw_json

当前值(来自默认值)"//third_party/pigweed/src/pw_json"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:127

dir_pw_kernel

当前值(来自默认值)"//third_party/pigweed/src/pw_kernel"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:128

dir_pw_kvs

当前值(来自默认值)"//third_party/pigweed/src/pw_kvs"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:129

dir_pw_libc

当前值(来自默认值)"//third_party/pigweed/src/pw_libc"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:130

dir_pw_libcxx

当前值(来自默认值)"//third_party/pigweed/src/pw_libcxx"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:131

dir_pw_log

当前值(来自默认值)"//third_party/pigweed/src/pw_log"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:132

dir_pw_log_android

当前值(来自默认值)"//third_party/pigweed/src/pw_log_android"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:133

dir_pw_log_basic

当前值(来自默认值)"//third_party/pigweed/src/pw_log_basic"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:134

dir_pw_log_fuchsia

当前值(来自默认值)"//third_party/pigweed/src/pw_log_fuchsia"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:135

dir_pw_log_null

当前值(来自默认值)"//third_party/pigweed/src/pw_log_null"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:136

dir_pw_log_rpc

当前值(来自默认值)"//third_party/pigweed/src/pw_log_rpc"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:137

dir_pw_log_string

当前值(来自默认值)"//third_party/pigweed/src/pw_log_string"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:138

dir_pw_log_tokenized

当前值(来自默认值)"//third_party/pigweed/src/pw_log_tokenized"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:139

dir_pw_log_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_log_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:140

dir_pw_malloc

当前值(来自默认值)"//third_party/pigweed/src/pw_malloc"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:141

dir_pw_malloc_freelist

当前值(来自默认值)"//third_party/pigweed/src/pw_malloc_freelist"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:142

dir_pw_malloc_freertos

当前值(来自默认值)"//third_party/pigweed/src/pw_malloc_freertos"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:143

dir_pw_memory

当前值(来自默认值)"//third_party/pigweed/src/pw_memory"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:144

dir_pw_metric

当前值(来自默认值)"//third_party/pigweed/src/pw_metric"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:145

dir_pw_module

当前值(来自默认值)"//third_party/pigweed/src/pw_module"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:146

dir_pw_multibuf

当前值(来自默认值)"//third_party/pigweed/src/pw_multibuf"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:147

dir_pw_multisink

当前值(来自默认值)"//third_party/pigweed/src/pw_multisink"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:148

dir_pw_numeric

当前值(来自默认值)"//third_party/pigweed/src/pw_numeric"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:149

dir_pw_package

当前值(来自默认值)"//third_party/pigweed/src/pw_package"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:150

dir_pw_perf_test

当前值(来自默认值)"//third_party/pigweed/src/pw_perf_test"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:151

dir_pw_persistent_ram

当前值(来自默认值)"//third_party/pigweed/src/pw_persistent_ram"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:152

dir_pw_polyfill

当前值(来自默认值)"//third_party/pigweed/src/pw_polyfill"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:153

dir_pw_preprocessor

当前值(来自默认值)"//third_party/pigweed/src/pw_preprocessor"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:154

dir_pw_presubmit

当前值(来自默认值)"//third_party/pigweed/src/pw_presubmit"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:155

dir_pw_protobuf

当前值(来自默认值)"//third_party/pigweed/src/pw_protobuf"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:156

dir_pw_protobuf_compiler

当前值(来自默认值)"//third_party/pigweed/src/pw_protobuf_compiler"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:157

dir_pw_random

当前值(来自默认值)"//third_party/pigweed/src/pw_random"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:158

dir_pw_random_fuchsia

当前值(来自默认值)"//third_party/pigweed/src/pw_random_fuchsia"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:159

dir_pw_result

当前值(来自默认值)"//third_party/pigweed/src/pw_result"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:160

dir_pw_ring_buffer

当前值(来自默认值)"//third_party/pigweed/src/pw_ring_buffer"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:161

dir_pw_router

当前值(来自默认值)"//third_party/pigweed/src/pw_router"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:162

dir_pw_rpc

当前值(来自默认值)"//third_party/pigweed/src/pw_rpc"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:163

dir_pw_rpc_transport

当前值(来自默认值)"//third_party/pigweed/src/pw_rpc_transport"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:164

dir_pw_rust

当前值(来自默认值)"//third_party/pigweed/src/pw_rust"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:165

dir_pw_sensor

当前值(来自默认值)"//third_party/pigweed/src/pw_sensor"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:166

dir_pw_snapshot

当前值(来自默认值)"//third_party/pigweed/src/pw_snapshot"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:167

dir_pw_software_update

当前值(来自默认值)"//third_party/pigweed/src/pw_software_update"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:168

dir_pw_span

当前值(来自默认值)"//third_party/pigweed/src/pw_span"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:169

dir_pw_spi

当前值(来自默认值)"//third_party/pigweed/src/pw_spi"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:170

dir_pw_spi_linux

当前值(来自默认值)"//third_party/pigweed/src/pw_spi_linux"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:171

dir_pw_spi_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_spi_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:172

dir_pw_spi_rp2040

当前值(来自默认值)"//third_party/pigweed/src/pw_spi_rp2040"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:173

dir_pw_spi_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_spi_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:174

dir_pw_status

当前值(来自默认值)"//third_party/pigweed/src/pw_status"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:175

dir_pw_stm32cube_build

当前值(来自默认值)"//third_party/pigweed/src/pw_stm32cube_build"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:176

dir_pw_stream

当前值(来自默认值)"//third_party/pigweed/src/pw_stream"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:177

dir_pw_stream_uart_linux

当前值(来自默认值)"//third_party/pigweed/src/pw_stream_uart_linux"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:178

dir_pw_stream_uart_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_stream_uart_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:180

dir_pw_string

当前值(来自默认值)"//third_party/pigweed/src/pw_string"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:181

dir_pw_symbolizer

当前值(来自默认值)"//third_party/pigweed/src/pw_symbolizer"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:182

dir_pw_sync

当前值(来自默认值)"//third_party/pigweed/src/pw_sync"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:183

dir_pw_sync_baremetal

当前值(来自默认值)"//third_party/pigweed/src/pw_sync_baremetal"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:184

dir_pw_sync_embos

当前值(来自默认值)"//third_party/pigweed/src/pw_sync_embos"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:185

dir_pw_sync_freertos

当前值(来自默认值)"//third_party/pigweed/src/pw_sync_freertos"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:186

dir_pw_sync_stl

当前值(来自默认值)"//third_party/pigweed/src/pw_sync_stl"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:187

dir_pw_sync_threadx

当前值(来自默认值)"//third_party/pigweed/src/pw_sync_threadx"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:188

dir_pw_sync_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_sync_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:189

dir_pw_sys_io

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:190

dir_pw_sys_io_ambiq_sdk

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_ambiq_sdk"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:191

dir_pw_sys_io_arduino

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_arduino"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:192

dir_pw_sys_io_baremetal_lm3s6965evb

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_baremetal_lm3s6965evb"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:194

dir_pw_sys_io_baremetal_stm32f429

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_baremetal_stm32f429"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:196

dir_pw_sys_io_emcraft_sf2

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_emcraft_sf2"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:198

dir_pw_sys_io_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:199

dir_pw_sys_io_rp2040

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_rp2040"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:200

dir_pw_sys_io_stdio

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_stdio"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:201

dir_pw_sys_io_stm32cube

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_stm32cube"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:202

dir_pw_sys_io_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_sys_io_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:203

dir_pw_system

当前值(来自默认值)"//third_party/pigweed/src/pw_system"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:204

dir_pw_target_runner

当前值(来自默认值)"//third_party/pigweed/src/pw_target_runner"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:205

dir_pw_third_party

保留此属性是为了保持向后兼容性。建议改用 pwexternal* 变量。

当前值(来自默认值)"//third_party/pigweed/src/third_party"

来自 //third_party/pigweed/src/modules.gni:27

dir_pw_third_party_boringssl

如果使用 boringssl 编译后端,则此变量设置为 boringssl 源代码的路径。设置后,将在“$pw_external_boringssl”处为 boringssl 库创建 pw_source_set。

当前值(来自默认值)""

来自 //third_party/pigweed/src/third_party/boringssl/boringssl.gni:19

dir_pw_third_party_chre

如果使用 chre 编译后端,则此变量设置为 chre 安装的路径。设置后,会在“$pw_external_chre”处为 CHRE 库创建 pw_source_set。

target_cpu = "arm64" 的当前值"//third_party/chre/src"

来自 //.gn:135

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/chre/chre.gni:19

target_cpu = "riscv64" 的当前值"//third_party/chre/src"

来自 //.gn:135

从默认值替换""

来自 //third_party/pigweed/src/third_party/chre/chre.gni:19

target_cpu = "x64" 的当前值"//third_party/chre/src"

来自 //.gn:135

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/chre/chre.gni:19

dir_pw_third_party_emboss

如果使用 Emboss 进行编译,则此变量设置为 Emboss 源代码的路径。

target_cpu = "arm64" 的当前值"//third_party/github.com/google/emboss/src"

来自 //.gn:102

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/emboss/emboss.gni:20

target_cpu = "riscv64" 的当前值"//third_party/github.com/google/emboss/src"

来自 //.gn:102

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/emboss/emboss.gni:20

target_cpu = "x64" 的当前值"//third_party/github.com/google/emboss/src"

来自 //.gn:102

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/emboss/emboss.gni:20

dir_pw_third_party_fuchsia

要在 Pigweed 的 build 中使用的 Fuchsia 源代码的路径。默认值为 Pigweed 使用的少量 Fuchsia 源文件的镜像。

target_cpu = "arm64" 的当前值"//"

来自 //.gn:96

已覆盖默认值"//third_party/pigweed/src/third_party/fuchsia/repo"

来自 //third_party/pigweed/src/third_party/fuchsia/fuchsia.gni:20

target_cpu = "riscv64" 的当前值"//"

来自 //.gn:96

已覆盖默认值"//third_party/pigweed/src/third_party/fuchsia/repo"

来自 //third_party/pigweed/src/third_party/fuchsia/fuchsia.gni:20

target_cpu = "x64" 的当前值"//"

来自 //.gn:96

已覆盖默认值"//third_party/pigweed/src/third_party/fuchsia/repo"

来自 //third_party/pigweed/src/third_party/fuchsia/fuchsia.gni:20

dir_pw_third_party_googletest

如果使用 googletest 编译测试,此变量会设置为 googletest 安装路径。设置后,系统会在“$pw_external_googletest”中为 googletest 库创建 pw_source_set。与 pw_third_party_googletest_ALIAS 定义不兼容。

当前值(来自默认值)""

来自 //third_party/pigweed/src/third_party/googletest/googletest.gni:20

dir_pw_third_party_mbedtls

当前值(来自默认值)""

来自 //third_party/pigweed/src/third_party/mbedtls/mbedtls.gni:31

dir_pw_third_party_nanopb

如果为 nanopb 编译 proto,则此变量设置为 nanopb 安装的路径。设置后,系统会在“$pw_external_nanopb”处为 nanopb 库创建 pw_source_set。

当前值(来自默认值)""

来自 //third_party/pigweed/src/third_party/nanopb/nanopb.gni:22

dir_pw_third_party_protobuf

如果编译使用 libprotobuf 的主机工具,此变量会设置为 protobuf 安装路径。设置后,系统会在“$pw_external_protobuf”处为 protobuf 库创建 pw_source_set。

target_cpu = "arm64" 的当前值"//third_party/protobuf/src"

来自 //.gn:123

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/protobuf/protobuf.gni:19

target_cpu = "riscv64" 的当前值"//third_party/protobuf/src"

来自 //.gn:123

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/protobuf/protobuf.gni:19

target_cpu = "x64" 的当前值"//third_party/protobuf/src"

来自 //.gn:123

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/protobuf/protobuf.gni:19

dir_pw_thread

当前值(来自默认值)"//third_party/pigweed/src/pw_thread"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:206

dir_pw_thread_embos

当前值(来自默认值)"//third_party/pigweed/src/pw_thread_embos"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:207

dir_pw_thread_freertos

当前值(来自默认值)"//third_party/pigweed/src/pw_thread_freertos"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:208

dir_pw_thread_stl

当前值(来自默认值)"//third_party/pigweed/src/pw_thread_stl"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:209

dir_pw_thread_threadx

当前值(来自默认值)"//third_party/pigweed/src/pw_thread_threadx"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:210

dir_pw_thread_zephyr

当前值(来自默认值)"//third_party/pigweed/src/pw_thread_zephyr"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:211

dir_pw_tls_client

当前值(来自默认值)"//third_party/pigweed/src/pw_tls_client"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:212

dir_pw_tls_client_boringssl

当前值(来自默认值)"//third_party/pigweed/src/pw_tls_client_boringssl"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:214

dir_pw_tls_client_mbedtls

当前值(来自默认值)"//third_party/pigweed/src/pw_tls_client_mbedtls"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:216

dir_pw_tokenizer

当前值(来自默认值)"//third_party/pigweed/src/pw_tokenizer"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:217

dir_pw_toolchain

当前值(来自默认值)"//third_party/pigweed/src/pw_toolchain"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:218

dir_pw_trace

当前值(来自默认值)"//third_party/pigweed/src/pw_trace"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:219

dir_pw_trace_tokenized

当前值(来自默认值)"//third_party/pigweed/src/pw_trace_tokenized"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:220

dir_pw_transfer

当前值(来自默认值)"//third_party/pigweed/src/pw_transfer"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:221

dir_pw_uart

当前值(来自默认值)"//third_party/pigweed/src/pw_uart"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:222

dir_pw_uart_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/pw_uart_mcuxpresso"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:223

dir_pw_unit_test

当前值(来自默认值)"//third_party/pigweed/src/pw_unit_test"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:224

dir_pw_uuid

当前值(来自默认值)"//third_party/pigweed/src/pw_uuid"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:225

dir_pw_varint

当前值(来自默认值)"//third_party/pigweed/src/pw_varint"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:226

dir_pw_watch

当前值(来自默认值)"//third_party/pigweed/src/pw_watch"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:227

dir_pw_web

当前值(来自默认值)"//third_party/pigweed/src/pw_web"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:228

dir_pw_work_queue

当前值(来自默认值)"//third_party/pigweed/src/pw_work_queue"

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:229

disable_boot_tests

生成的 boot_test()disabled 参数的默认值。TODO(https://fxbug.dev/320511796):不再需要时进行清理。

当前值(来自默认值)false

来自 //build/testing/boot_tests/boot_test.gni:15

disable_cuckoo_tests

生成的 cuckoo_test()disabled 参数的默认值。TODO(https://fxbug.dev/320511796):不再需要时进行清理。

当前值(来自默认值)false

来自 //build/testing/boot_tests/kernel_zbi_test.gni:22

disable_xattr_for_rbe

默认情况下,我们的 RBE 封装容器会在 xattr 中记录远程操作输出的摘要,以避免工具必须重新对这些文件进行哈希处理。在无法使用 xattr 的情况下(例如,由于 FUSE 限制),请将此值设置为 True 以停用 xattr。

当前值(来自默认值)false

来自 //build/toolchain/rbe.gni:37

discoverable_package_labels

如果您向此变量添加了软件包标签,这些软件包将包含在 RFC-0212“软件包集”定义的“可发现”软件包集中:https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0212_package_sets

它们将被编译和发布,但不会作为已组装映像的依赖项添加,因此无法导致条目包含在旧版软件包中。

由于这些实参不能成为产品的旧版 AIB 的一部分,因此不存在此实参的“旧版”版本。

当前值(来自默认值)[]

来自 //BUILD.gn:52

dont_profile_source_files

不通过 profile 变体进行插桩的源文件路径列表。 这些属性的优先级高于 profile_source_files

当前值(来自默认值)["//prebuilt/*"]

来自 //build/config/profile/config.gni:18

dwarf_version

明确指定所使用的 DWARF 版本。

当前值(来自默认值)5

来自 //build/config/compiler.gni:96

e2e_test_labels

在 Fuchsia 映像(真实硬件或模拟硬件)上运行的主机驱动型“端到端”测试。

target_cpu = "arm64" 的当前值[]

来自 //out/not-default/args.gn:20

已覆盖默认值[]

来自 //BUILD.gn:81

target_cpu = "riscv64" 的当前值[]

来自 //out/not-default/args.gn:20

已覆盖默认值[]

来自 //BUILD.gn:81

target_cpu = "x64" 的当前值[]

来自 //out/not-default/args.gn:20

已覆盖默认值[]

来自 //BUILD.gn:81

enable_assembly_heapdump

如果为 true,则在组装 eng 标准 build 期间,强制为整个系统(包括 component_manager 和所有其他 moniker)启用 Heapdump。

当前值(来自默认值)false

来自 //src/lib/assembly/platform_configuration/BUILD.gn:13

enable_bazel_remote_rbe

配置 Bazel 以在支持的情况下使用 RBE 进行远程构建。 这可以通过远程缓存来加快 build 速度。此选项要求 Bazel 调用具有直接的外部网络访问权限,并且用户已通过身份验证,可以访问远程执行服务。Remote Execution API 可在以下网址找到:https://github.com/bazelbuild/remote-apis 如需大致了解 Bazel 的远程执行,请参阅 https://bazel.build/remote/rbe

当前值(来自默认值)false

来自 //build/bazel/remote_services.gni:16

enable_delayed_bazel_actions

启用 Bazel 延迟操作以优化 Fuchsia build。这使得 Ninja 延迟了 Bazel 操作的调用,以便稍后通过一个特殊的 worker 脚本启动多个操作,该脚本可以将多个 bazel build 调用合并为一个调用。 请参阅 https://fxbug.dev/468100333

当前值(来自默认值)false

来自 //build/config/enable_delayed_bazel_actions.gni:11

enable_frame_pointers

控制编译器是否为函数调用发出完整的堆栈帧。这会降低性能,但会提高生成良好堆栈轨迹的能力,尤其是在我们遇到与展开表生成相关的 bug 时。它不适用于宿主目标(请参阅 //build/config/BUILD.gn,其中未设置该属性)。

当前值(来自默认值)true

来自 //build/config/enable_frame_pointers.gni:11

enable_grpc_ares

使用 ares 进行编译。

当前值(来自默认值)false

来自 //third_party/grpc/BUILD.gn:15

enable_jobserver

设置为 true 可让 Ninja 实现 GNU Make 作业服务器池,以便更好地协调并行任务,尤其是在以递归方式调用子 build 时。

这样一来,就可以同时启动所有 IDK 子 build,而不会有使当前机器过载的风险。

重要提示:此功能需要使用实现了 --jobserver 选项的 Ninja 版本。如需了解详情,请参阅 https://fxbug.dev/XXXXX。

当前值(来自默认值)false

来自 //build/config/jobserver.gni:16

enable_lock_dep

启用内核锁依赖项跟踪。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:18

enable_lock_dep_metadata_only

仅启用内核锁依赖项元数据(如果 enable_lock_dep 为 true,则忽略)。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:21

enable_lock_dep_tests

启用内核锁依赖项跟踪测试。默认情况下,启用跟踪时会启用此功能,但也可以单独启用此功能,以评估在停用 lockdep 时,测试是否能正确构建并失败

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:136

enable_mdns_trace

启用 mdns 的跟踪功能,该功能可以使用“mdns-util verbose”开启。

当前值(来自默认值)false

来自 //src/connectivity/network/mdns/service/BUILD.gn:14

enable_netboot

网络启动 zbi 已弃用。此 GN 实参现在用于生成警告。

当前值(来自默认值)false

来自 //build/images/args.gni:31

enable_netstack2_tracing

当前值(来自默认值)false

来自 //src/connectivity/network/BUILD.gn:9

enable_perfetto_android_java_sdk

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:220

enable_perfetto_benchmarks

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:222

enable_perfetto_etm_importer

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:411

enable_perfetto_fuzzers

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:225

enable_perfetto_grpc

在 Perfetto 代码库中启用 gRPC。gRPC 会显著增加 build 时间和 Perfetto 的总体占用空间。由于它仅在 BigTrace 中是必需的,即使在 BigTrace 中也仅用于构建最终的待发布二进制文件,因此默认情况下不启用此功能。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:405

enable_perfetto_heapprofd

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:181

enable_perfetto_integration_tests

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:217

enable_perfetto_ipc

当前值(来自默认值)true

来自 //third_party/perfetto/gn/perfetto.gni:174

enable_perfetto_llvm_demangle

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:399

enable_perfetto_llvm_symbolizer

允许在 trace_processor 中使用 LLVM 符号器。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:415

enable_perfetto_lockfree_taskrunner

此标志用于迁移 UnixTaskRunner -> LockFreeTaskRunner。它用于确定 MaybeLockFreeTaskRunner 是由 UnixTaskRunner 还是由较新的 LockFreeTaskRunner 提供支持。UnixTaskRunner 是经过实战检验的原始 TaskRunner 实现,从 2017 年到 2025 年一直使用。LockFreeTaskRunner 是经过改进的新 TaskRunner,计划取代 UnixTaskRunner。 请注意,在 Android 平台(非独立) build 上,此标志会被忽略,并改用 Android 标志“use_lockfree_taskrunner”(请参阅 perfetto_flags.aconfig)

当前值(来自默认值)true

来自 //third_party/perfetto/gn/perfetto.gni:307

enable_perfetto_merged_protos_check

检查合并后的 perfetto_trace.proto 是否可以转换为 C++ Lite Proto 并进行编译。此功能默认处于停用状态,因为它的开销很大(可能需要几分钟时间)。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:443

enable_perfetto_pcre2

启用 PCRE2 支持。不应拉取 libpcre2 的各个模块(例如 libperfetto_client_experimental)可以通过在其编译中设置 -DPERFETTO_REGEX_FORCE_STD 来选择停用,这会使 base::Regex 回退到 std::regex 后端。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:388

enable_perfetto_platform_services

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:165

enable_perfetto_re2

启用 RE2 支持。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:391

enable_perfetto_rt_mutex

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:286

enable_perfetto_site

允许构建 perfetto.dev 网站。 警告:如果启用此标志,build 会在生成时执行 globbing。如果不重新运行 gn,则不支持添加/移除文件的增量 build。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:438

enable_perfetto_sock_inotify

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:295

enable_perfetto_stderr_crash_dump

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:263

enable_perfetto_system_consumer

当前值(来自默认值)true

来自 //third_party/perfetto/gn/perfetto.gni:314

enable_perfetto_tools

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:211

enable_perfetto_trace_processor

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:197

enable_perfetto_trace_processor_httpd

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:374

enable_perfetto_trace_processor_json

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:359

enable_perfetto_trace_processor_linenoise

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:353

enable_perfetto_trace_processor_mac_instruments

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:365

enable_perfetto_trace_processor_percentile

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:348

enable_perfetto_trace_processor_sqlite

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:343

enable_perfetto_traceconv

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:427

enable_perfetto_traced_perf

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:189

enable_perfetto_traced_probes

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:331

enable_perfetto_traced_relay

启用平台服务后,中继服务也会启用。 TODO(chinglinyu) 检查是否可以在 Windows 上启用。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:335

enable_perfetto_ui

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:431

enable_perfetto_unittests

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:213

enable_perfetto_version_gen

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:231

enable_perfetto_watchdog

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:206

enable_perfetto_winscope

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:420

enable_perfetto_x64_cpu_opt

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:271

enable_perfetto_zlib

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:382

enable_power_manager_debug

当前值(来自默认值)false

来自 //src/power/power-manager/BUILD.gn:129

enable_rseq_backend_for_rcu

RSEQ 后端尚未实现。

当前值(来自默认值)false

来自 //src/lib/fuchsia-rcu/BUILD.gn:10

escher_test_for_glsl_spirv_mismatch

如果为 true,则启用 |SpirvNotChangedTest| 以检查磁盘上的预编译着色器是否为最新,以及是否反映了使用最新 shaderc 工具/优化编译的当前着色器源代码。Scenic 团队的成员应在启用此标志的情况下进行 build,以确保未通过预编译器运行的任何着色器更改都将其更新后的 SPIRV 写入磁盘。其他团队和 CQ 无需担心此标志。

当前值(来自默认值)false

来自 //src/ui/lib/escher/build_args.gni:18

escher_use_runtime_glsl

确定 escher 是否会使用 glslang 和 shaderc 库进行构建。如果为 false,这些库将不会包含在 scenic/escher 二进制文件中,因此无法在运行时编译着色器。预编译的 SPIRV 代码将从磁盘加载到内存中。

当前值(来自默认值)false

来自 //src/ui/lib/escher/build_args.gni:10

exclude_testonly_syscalls

如果为 true,则排除具有 [testonly] 属性的系统调用。

当前值(来自默认值)false

来自 //zircon/vdso/vdso.gni:9

experimental_channel_call_propagation_enabled

传播带宽并为进行通道调用的线程启用运行队列提升。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:116

experimental_continuous_per_vmo_attribution_enabled

添加了内核内支持,用于查询每个 VMO 填充的字节数高水位标记。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:113

experimental_cxx_version

注意:此值仅用于实验,通常不应更改。设置编译时要使用的 C++ 标准版本。必须是 _available_cxx_versions 中的某个值。 另请注意,GN 代码绝不应直接使用此变量,而应始终使用 fuchsia_cxx_version 变量。

当前值(来自默认值)false

来自 //build/config/fuchsia_cxx_version.gni:35

experimental_dso_enabled

如果为 true,则会包含已启用实验性 DSO 版本 (//src/sys/runners/dso) 的组件,而不是标准版本。 此标志用于支持实验性 DSO 构建器,如需了解详情,请参阅 https://fxbug.dev/403545512

当前值(来自默认值)false

来自 //build/assembly/tools/assembly/BUILD.gn:15

experimental_elf_page_size

TODO(https://fxbug.dev/42107211):此标志非常实验性不得针对正式版(包括 SDK)build 设置。

这是 ELF ABI 的最大页面大小。它始终可以增加(以 2 的幂为单位),同时保持 ABI 兼容性,但永远无法减少;任何增加都可能会影响存储空间和内存大小。通过此 GN build 关联的二进制文件将与在运行时实际使用如此大的内存页大小的系统上的 ELF 加载兼容,并且与任何更小的内存页大小(最低为 4k)兼容。使用大于此值的页面大小的任何系统都将无法加载此 build 生成的任何 ELF 二进制文件。

当前值(来自默认值)4096

来自 //build/config/fuchsia/BUILD.gn:37

experimental_force_enable_new_wakeup_accounting

强制启用新的调度程序唤醒统计,忽略启动选项值。用于在单个试用机器人级别强制启用该功能,在该级别可以设置 gn 实参,但无法设置启动选项。

TODO(https://fxbug.dev/322207536):在解决堆栈中更高级别的竞态条件后,停止在解除阻塞时重置开始时间和结束时间。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:124

experimental_thread_sampler_enabled

包含一种机制,用于让内核对线程进行抽样并将结果写入缓冲区

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:110

export_bazel_host_tests

设置为 True 可使 Bazel 主机测试对 Fuchsia 测试运行程序(即 fx testbotanist)可见。此功能仍处于实验阶段,但将成为默认功能。请参阅 https://fxbug.dev/349341932。

当前值(来自默认值)false

来自 //build/config/export_bazel_host_tests.gni:9

exported_package_labels

如果您为此变量添加标签,则系统会收集这些标签捕获的 exported_fuchsia_package_archive() 目标,并在“package_archives”build API 模块中公开这些目标。不捕获普通 fuchsia_package_archive() 目标。

通常建议使用定义明确、精心挑选的软件包 group() 的标签,而不是直接显式添加 exported_fuchsia_package_archive() 目标的标签。

当前值(来自默认值)[]

来自 //BUILD.gn:66

extra_bazel_assembly_targets

启用 Bazel 组装时要包含的额外 GN 目标。此列表可用于包含验证和其他 Bazel 程序集特定目标。

当前值(来自默认值)[]

来自 //build/images/args.gni:144

extra_bazel_build_action_labels

在 args.gn 中设置此变量,以列出无法从 //:default 访问但可能在开发期间本地构建的 bazel_action() 标签。这是必需的,可确保在生成时生成其 @gn_targets_dir 目录,并正确执行对 Bazel 图的查询。

当前值(来自默认值)[]

来自 //build/bazel/bazel_build_action_labels.gni:11

extra_kernel_test_images

每个 kernel_zbi_test() 都会根据所提供的内核映像列表中的每个条目生成一个 zbi_test();此列表会无条件扩展该选择。这样,开发者和构建者就可以在 GN 图中引入更多类型的测试,而不会默认影响生成时间。

当前值(来自默认值)[]

来自 //build/testing/boot_tests/kernel_zbi_test.gni:27

extra_package_labels

当前值(来自默认值)[]

来自 //third_party/cobalt/BUILD.gn:10

extra_variants

需要支持的其他变体工具链配置。 这只是添加到 known_variants

当前值(来自默认值)[]

来自 //build/config/BUILDCONFIG.gn:537

fastboot_product

当前值(来自默认值)""

来自 //build/images/args.gni:57

fat_lto_objects

是否在 LTO build 中启用 -ffat-lto-objects。 https://llvm.org/docs/FatLTO.html

当前值(来自默认值)true

来自 //build/config/lto/config.gni:14

ffmpeg_profile

当前值(来自默认值)"default"

来自 //src/media/lib/ffmpeg/BUILD.gn:53

ffx_build_dual_mode_plugins_as_subtools

将可以构建为内置或单独子工具的任何 ffx 插件构建为子工具。

请注意,如果您更改此设置,但不执行 fx clean,您最终可能会得到过时的主 ffx 二进制文件(内置所有插件)或单独编译的二进制文件,这可能会产生令人困惑的 ffx helpffx commands 输出。

当所有将迁移到 SDK 的子工具都已迁移时,此配置标志将默认设置为 true,并被弃用,最终会被移除:https://fxbug.dev/42068537

当前值(来自默认值)false

来自 //src/developer/ffx/config.gni:19

flatland_verbose_logging

如果为 true,Flatland 将记录大量数据。用于调试。

当前值(来自默认值)false

来自 //src/ui/scenic/lib/utils/build_args.gni:7

font_catalog_paths

当前值(来自默认值)["//prebuilt/third_party/fonts/fuchsia.font_catalog.json"]

来自 //src/fonts/build/font_args.gni:17

font_pkg_entries

合并后的 .font_pkgs.json 文件内容。在 fonts.gni 中填充。

当前值(来自默认值)[]

来自 //src/fonts/build/font_args.gni:32

font_pkgs_paths

.font_pkgs.json 文件的位置,其中列出了工作区内字体文件的位置,以及从字体文件名派生的安全名称,可用于命名 Fuchsia 软件包。

当前值(来自默认值)["//prebuilt/third_party/fonts/fuchsia.font_pkgs.json"]

来自 //src/fonts/build/font_args.gni:22

fonts_dir

从 CIPD 中检出所有字体的目录

当前值(来自默认值)"//prebuilt/third_party/fonts"

来自 //src/fonts/build/font_args.gni:12

fuchsia_product_assembly_config_label

用于配置主要 Fuchsia 映像的商品组装配置。 对于 GN 产品,此属性为必需属性。 对于 Bazel 产品,此属性是可选属性。 对于 Bazel 产品,只有在提供此属性时,才能使用网络启动。

当前值(来自默认值)false

来自 //build/product.gni:14

fuchsia_sdk_root

Fuchsia SDK 的使用者会在其 buildroot 中的特定位置实例化各种 SDK 部分的模板。然后,根据 meta.json 清单中指定的部分名称,得出特定部分的目标名称。不同的 buildroot 在不同的位置实例化 SDK 部分,然后设置此变量。然后,GN 规则可以在 SDK build 中将此变量名称添加为 SDK 部分名称的前缀。此标志在非 SDK buildroot 中毫无意义。

当前值(来自默认值)""

来自 //build/fuchsia/sdk.gni:17

fuchsia_sync_detect_lock_cycles

是否使用跟踪互斥量来检测锁获取图中的环路。默认情况下,仅在调试 build 上启用此功能,因为这会使平衡/发布 build 的速度过慢,无法实际使用。

当前值(来自默认值)false

来自 //src/lib/fuchsia-sync/build/args.gni:9

futex_block_tracing_enabled

TODO(johngro):记录

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:59

fvm_partition

当前值(来自默认值)""

来自 //build/images/args.gni:54

fxfs_blob

使用 Fxfs 的 blob 实现 由于输出发生了变化,因此更改了刷写逻辑。切换了一堆测试以使用 fxfs。

当前值(来自默认值)true

来自 //src/storage/fshost/generated_fshost_config.gni:17

fxfs_partition

当前值(来自默认值)""

来自 //build/images/args.gni:55

gcc_tool_dir

GCC 工具链二进制文件(“gcc”“nm”等)所在的目录。 此目录应包含用于为 Fuchsia 目标平台构建的 aarch64-elf-*x86_64-elf-* 工具。此目录不会用于主机工具。如果此值为“”,则使用标准预建版本。

当前值(来自默认值)""

来自 //build/toolchain/zircon/gcc.gni:10

generate_cuckoo_tests

定义 kernel_zbi_test() 模板 generate_cuckoo 参数的默认值。 如果为 true,所有 kernel_zbi_tests() 实例都将默认生成 cuckoo_zbi_test(),这是一个完整的系统映像,用于从目标系统中提取插桩数据。

当前值(来自默认值)false

来自 //build/testing/boot_tests/kernel_zbi_test.gni:18

generate_licenses_spdx_stubs

如果为 true,generated_licenses_spdx 模板将生成带有占位许可的桩 SPDX 文件。将跳过许可收集。 由于许可收集会消耗大量资源,因此这对于运行速度更快的非生产 build 非常有用。您可以通过 generate_stub 参数在特定的 generated_licenses_spdx 模板调用中覆盖全局配置。

当前值(来自默认值)true

来自 //build/licenses/generated_licenses_spdx.gni:14

generate_plasa_artifacts

如果设置,则会导致生成 PLASA 制品。并非所有 build 都需要使用 plasa 制品,因此我们将默认值设置为跳过生成。

当前值(来自默认值)false

来自 //build/sdk/plasa/config.gni:8

gigaboot_backends

指定实现了 gigaboot/cpp/backends.h 中定义的所需后端的 GN 目标

当前值(来自默认值)"//src/firmware/gigaboot/cpp:backends_nuc"

来自 //src/firmware/gigaboot/cpp/backends.gni:8

gigaboot_eng_permanent_attributes

适用于 eng gigaboot 的永久属性文件

当前值(来自默认值)"//third_party/android/platform/external/avb/test/data/atx_permanent_attributes.bin"

来自 //src/firmware/gigaboot/cpp/backends.gni:11

gigaboot_gbl_efi_app

当前值(来自默认值)"//prebuilt/third_party/android/gbl/mainline/gbl_x86_64_dev.efi"

来自 //src/firmware/gigaboot/cpp/backends.gni:32

gigaboot_use_gbl

一个布尔值,用于指示是否使用 GBL 进行启动。

TODO(b/368647237):这是一个临时开关,用于在准备好将 gigaboot 迁移到使用 GBL 之前,先启用基于 GBL 的安装程序。

当前值(来自默认值)false

来自 //src/firmware/gigaboot/cpp/backends.gni:38

gigaboot_user_permanent_attributes

用于 prod 签名 gigaboot 的永久属性文件。设置此项可启用目标 //src/firmware/gigaboot/cpp:user-esp

当前值(来自默认值)""

来自 //src/firmware/gigaboot/cpp/backends.gni:19

gigaboot_userdebug_permanent_attributes

userdebug gigaboot 的永久属性文件。设置此项可启用目标 //src/firmware/gigaboot/cpp:userdebug-esp

当前值(来自默认值)""

来自 //src/firmware/gigaboot/cpp/backends.gni:15

go_vet_enabled

go_vet_enabled [bool] 如果为 false,则针对所有 build 停用 go vet 调用。

当前值(来自默认值)false

来自 //build/go/go_build.gni:21

gocache_dir

gocache_dir 将 GOCACHE 环境变量设置为的目录。此目录将缓存 build 和测试结果,并且可以安全地并发写入。如果被替换,此目录必须是完整路径。

当前值(来自默认值)"/b/s/w/ir/x/w/fuchsia/out/not-default/.gocache"

来自 //build/go/go_build.gni:17

graphics_compute_generate_debug_shaders

在 args.gn 文件中设置为 true,以在 HotSort 和 Spinel 目标生成输出目录的“debug”子目录下生成预处理和自动格式化的着色器。

这些变量从不使用,但可以手动查看,以验证配置参数的影响,或在修改计算着色器时查看。

示例结果:

out/default/ gen/src/graphics/lib/compute/ hotsort/targets/hs_amd_gcn3_u64/ comp/ hs_transpose.comp -> 未预处理的着色器 debug/ hs_transpose.glsl -> 预处理的着色器

当前值(来自默认值)true

来自 //src/graphics/lib/compute/gn/glsl_shader_rules.gni:29

graphics_compute_generate_spirv_debug_info

如果您使用的是 GPU 辅助验证,那么将调试信息与跳过 spirv-opt 和 spirv-reduce 传递相结合会很有用。

当前值(来自默认值)false

来自 //src/graphics/lib/compute/gn/glsl_shader_rules.gni:47

graphics_compute_skip_spirv_opt

有时,我们可能需要比较未优化着色器与优化着色器的性能。在桌面平台上,使用 spirv-opt 似乎不会带来明显的性能提升,但可以显著减小 SPIR-V 模块的大小。

停用 spirv-opt 传递也有助于识别和归因代码生成 bug。

当前值(来自默认值)false

来自 //src/graphics/lib/compute/gn/glsl_shader_rules.gni:40

grpc_use_static_linking

当前值(来自默认值)false

来自 //third_party/grpc/BUILD.gn:24

hangcheck_timeout_ms

设置此值以适应长时间运行的测试

当前值(来自默认值)0

来自 //src/graphics/drivers/msd-intel-gen/src/BUILD.gn:9

has_board

此 build 会导入主板(而非 SDK)。如果设置了主板(例如,通过 fx 设置 .),则为 true。

target_cpu = "arm64" 的当前值true

来自 //boards/arm64.gni:20

已覆盖默认值false

来自 //build/board.gni:8

target_cpu = "riscv64" 的当前值true

来自 //boards/riscv64.gni:20

从默认值替换false

来自 //build/board.gni:8

target_cpu = "x64" 的当前值true

来自 //boards/x64.gni:20

已覆盖默认值false

来自 //build/board.gni:8

hermetic_test_package_labels

完全封闭的测试(通过封装和在运行时)

target_cpu = "arm64" 的当前值[]

来自 //out/not-default/args.gn:18

已覆盖默认值[]

来自 //BUILD.gn:73

target_cpu = "riscv64" 的当前值[]

来自 //out/not-default/args.gn:18

已覆盖默认值[]

来自 //BUILD.gn:73

target_cpu = "x64" 的当前值[]

来自 //out/not-default/args.gn:18

已覆盖默认值[]

来自 //BUILD.gn:73

host_byteorder

当前值(来自默认值)"undefined"

来自 //build/config/host_byteorder.gni:7

host_cpu

当前值(来自默认值)"x64"

host_labels

如果您向此变量添加标签,这些标签将包含在“host”制品集中,该制品集表示由 build 生成的另一组仅限主机的软件。

这些内容将使用宿主工具链添加到 build 中。

target_cpu = "arm64" 的当前值[]

来自 //out/not-default/args.gn:10

已覆盖默认值[]

来自 //BUILD.gn:99

target_cpu = "riscv64" 的当前值[]

来自 //out/not-default/args.gn:10

已覆盖默认值[]

来自 //BUILD.gn:99

target_cpu = "x64" 的当前值[]

来自 //out/not-default/args.gn:10

从默认值替换[]

来自 //BUILD.gn:99

host_os

当前值(来自默认值)"linux"

host_test_labels

仅限主机测试。这些测试不能对已组装的平台映像或已编译的操作系统本身有任何依赖关系,即使是针对其 host_test_data() 也是如此。

这些内容将使用宿主工具链添加到 build 中。

target_cpu = "arm64" 的当前值[]

来自 //out/not-default/args.gn:21

已覆盖默认值[]

来自 //BUILD.gn:87

target_cpu = "riscv64" 的当前值[]

来自 //out/not-default/args.gn:21

已覆盖默认值[]

来自 //BUILD.gn:87

target_cpu = "x64" 的当前值[]

来自 //out/not-default/args.gn:21

已覆盖默认值[]

来自 //BUILD.gn:87

host_tools_base_path_override

将此属性设置为包含由 compiled_action() 生成的宿主工具的预构建二进制文件的目录的路径。在执行子 build(例如,在生成 IDK 时,需要针对不同的 API 级别和 CPU 架构重建 SDK 集合)时,此属性非常有用,可避免每次都重建宿主工具。

当前值(来自默认值)""

来自 //build/host.gni:21

host_tools_dir

这是供开发者手动使用的主机工具的安装目录。开发者可能会将其放入 shell 的 $PATH 中。仅在 build 过程中需要的宿主工具不会复制到此处。此目录仅用于通常对测试或调试有用的内容,或者 GN build 本身之外的其他内容。这些工具仅通过显式 install_host_tools() 规则(请参阅 //build/host.gni)安装。

当前值(来自默认值)"//out/not-default/host-tools"

来自 //build/host.gni:13

hwasan_default_options

默认 HawrdwareAddressSanitizer 选项(在运行时读取 HWASAN_OPTIONS 环境变量之前)。此变量可以设置为 build 实参,以影响 $variants(请参阅)中的大多数“hwasan”变体,也可以在其中一个变体的 $toolchain_args 中进行替换。可以是字符串列表,也可以是单个字符串。

请注意,即使此列表为空,相应 build 中的程序也无法定义自己的 __hwasan_default_options C 函数。相反,他们可以在 deps 中使用 sanitizer_extra_options() 目标,然后以这种方式注入的任何选项都可以替换此列表中的相应选项设置。

当前值(来自默认值)["allocator_may_return_null=1"]

来自 //build/config/sanitizers/sanitizer_default_options.gni:96

i_can_haz_atlas_camera

如果为 true,则在启动时开启 Atlas 相机。 TODO(https://fxbug.dev/42162166):在找到更好的 ACPI 设备电源管理方法后移除。

当前值(来自默认值)false

来自 //src/devices/board/lib/acpi/BUILD.gn:10

ice_detection

启用可检测超时和 ICE 的 rustc 封装容器 TODO(pineapple):在 b/345596983 解决后,在使用 rust_incremental 时默认启用

当前值(来自默认值)false

来自 //build/rust/build.gni:30

icu_copy_icudata_to_root_build_dir

如果设置,则“:icudata”目标会将 ICU 数据复制到 $root_build_dir。

当前值(来自默认值)false

来自 //build/icu.gni:27

icu_disable_thin_archive

如果为 true,则将 ICU 编译为独立的静态库。目前,此功能仅在 ChromeOS 上有用。

当前值(来自默认值)false

来自 //build/icu.gni:19

icu_fuchsia_extra_compile_flags

Fuchsia 有时需要额外的 ICU 编译标志,以便将其适配到当前工具链。由于 ICU 需要一段时间才能在 Fuchsia 中完成滚动更新,因此从 ICU 提交到修复滚动到 Fuchsia 可能需要很长时间。此标志允许我们在 //build/icu.gni 中提前定义标志,并移除发布问题。

当前值(来自默认值)["-Wno-newline-eof", "-Wno-unnecessary-virtual-specifier"]

来自 //build/icu.gni:38

icu_fuchsia_extra_configs

与上述类似,但允许添加整个 config 目标。

当前值(来自默认值)[]

来自 //build/icu.gni:47

icu_fuchsia_override_data_dir

如果设置为非空值,则表示用于拉取 ICU 数据文件内容的目录的标签。该设置仅在 Fuchsia 源代码树内构建时生效。

当前值(来自默认值)""

来自 //build/icu.gni:24

icu_fuchsia_remove_configs

与上述类似,但允许移除整个 config 目标(如果存在)。

当前值(来自默认值)[]

来自 //build/icu.gni:51

icu_major_version_number

包含 ICU 库的主要版本号,用于需要根据库版本进行不同配置的依赖项。目前,此功能仅在 Fuchsia 中有用。

当前值(来自默认值)"78"

来自 //third_party/icu/default/version.gni:13

icu_tzres_path

当前值(来自默认值)"//prebuilt/third_party/tzres"

来自 //src/lib/icu/tzdata/icu_tzres_source.gni:26

icu_tzres_source

用于 ICU 时区 .res 文件的来源位置:“git”或“预构建”。

如果设置为“git”,则 tzres 文件将包含与 ICU 数据单体相同的时区定义。

如果设置为“预构建”,则将从 CIPD 检索 tzres 文件,这些文件可能比 ICU 数据整体中的文件更新。

当前值(来自默认值)"prebuilt"

来自 //src/lib/icu/tzdata/icu_tzres_source.gni:16

icu_use_data_file

告知 ICU 加载外部数据文件,而不是依赖于直接链接到二进制文件的 icudata。

当前值(来自默认值)true

来自 //build/icu.gni:10

icu_use_stub_data

如果为 true,则创建桩数据文件。如果将使用自定义数据文件,则应停用此功能,以免出现符号冲突。

当前值(来自默认值)true

来自 //build/icu.gni:15

icu_use_target_out_dir

如果设置,构建的库将位于各自的默认输出目录中,而不是 root_build_dir 中。

当前值(来自默认值)true

来自 //build/icu.gni:31

idk_buildable_api_levels

相应 build 将在 IDK/SDK 中提供 build 时支持的 API 级别集。默认集是 //sdk/version_history.json 中的所有 supportedin development 非特殊 API 级别。其他有效值是包含默认集子集的列表。如果为空,则仅构建 IDK 包含在“PLATFORM”构建的工件的目标。

这有助于缩短包含 IDK/SDK 的任何 build 的总体构建时间,但会降低 API 级别支持的覆盖范围。例如,fx build //sdk:final_fuchsia_idk

如需替换 CPU 架构集,请参阅 idk_buildable_cpus

请勿直接使用 platform_version 成员。 LINT.IfChange

当前值(来自默认值)[27, 28, 29, 30, 31, "NEXT"]

来自 //build/config/fuchsia/platform_version.gni:44

idk_buildable_cpus

build 将在 IDK/SDK 中提供 build 时支持的目标 CPU 架构集。默认设置相当于 ["arm64", "riscv64", "x64"]。其他有效值是包含该列表子集的列表,其中包括当前的 `target_cpu`。

这有助于缩短任何包含 IDK/SDK 的构建的总体构建时间,但会降低目标 CPU 架构支持的覆盖范围。例如,fx build //sdk:final_fuchsia_idk

如需替换 API 级别集,请参阅 idk_buildable_api_levels。LINT.IfChange

当前值(来自默认值)["arm64", "riscv64", "x64"]

来自 //build/sdk/config.gni:71

in_default_toolchain

非常遗憾的是,GN 在执行 BUILDCONFIG.gn 时从不设置 current_toolchain,因此此变量用于检测此文件是否在默认工具链的上下文中执行。

它依赖于任何非默认工具链将其设置为 false。此外,在 args.gn 中也绝不应设置此属性。

LINT.IfChange(in_default_toolchain)

当前值(来自默认值)true

来自 //build/config/BUILDCONFIG.gn:45

include_account_in_fvm

如果设置为 true,则在 FVM 映像中包含账号分区。

当前值(来自默认值)false

来自 //build/images/args.gni:80

include_clippy

将 Rust target 转换为包含常规 target 和 Clippy target 的群组。这会导致在 build 中包含 clippy 目标。此功能默认通过 fx set 启用,但在 GN 中默认处于关闭状态,因此在基础设施中不会启用。

当前值(来自默认值)false

来自 //build/rust/rust_auxiliary_args.gni:16

include_internal_fonts

设置为 true 可在 build 中包含内部字体。

当前值(来自默认值)false

来自 //src/fonts/build/font_args.gni:7

include_rustdoc

针对 .rustdoc 子目标的选择启用开关。如果为 true,则遵循每个目标的 disable_rustdoc 设置。如果为 false,则不定义任何 rustdoc 子目标。

当前值(来自默认值)false

来自 //build/rust/rust_auxiliary_args.gni:21

include_zxdb_large_tests

通常,这些测试不会构建和运行,因为它们需要下载大量可选数据。将此值设置为 true 可为 zxdb_large_tests 启用 build。 如需了解如何下载此测试所需的数据,请参阅 symbols/test_data/README.md。

当前值(来自默认值)false

来自 //src/developer/debug/zxdb/BUILD.gn:12

inet_config_enable_async_dns_sockets

告知 inet 额外支持异步 DNS 套接字。

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:17

inet_want_endpoint_dns

告知 inet 包含对相应协议的支持。

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:10

inet_want_endpoint_raw

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:11

inet_want_endpoint_tcp

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:12

inet_want_endpoint_tun

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:14

inet_want_endpoint_udp

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:13

integration_tests_verbose_logging

默认情况下,在测试中记录详细的字体消息。

当前值(来自默认值)true

来自 //src/fonts/tests/integration/BUILD.gn:20

is_analysis

如果设置,build 将生成编译分析转储,用于在代码搜索中进行代码交叉引用。分析期间完成的额外工作仅在交叉引用 build 时需要,因此我们默认保持标志和分析开销处于关闭状态。

当前值(来自默认值)false

来自 //build/config/BUILDCONFIG.gn:29

is_multi_product_build

当前值(来自默认值)false

来自 //build/images/args.gni:185

is_perfetto_build_generator

所有 tools/gen_* 脚本都将此属性设置为 true。这主要用于从 //gn 而不是 //build 中查找 .gni 文件。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:94

is_perfetto_embedder

用于通过 gn args 进行替换(例如,用于 tools/gen_xxx)。基于 GN 的嵌入器(例如 v8)不应设置此变量,而应在其 GN 文件中直接设置 perfetto_build_with_embedder=true。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:99

jtrace_enabled

如需了解这些配置选项的说明,请参阅 https://fuchsia.dev/fuchsia-src/development/debugging/jtrace。

请注意,特殊值“auto”仅由条目的默认定义(如下)使用。它充当一个特殊值,可根据是否为持久跟踪配置了 JTRACE 自动选择默认值,同时仍允许用户明确替换该值,无论是否启用了持久跟踪。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:100

jtrace_last_entry_storage

当前值(来自默认值)0

来自 //zircon/kernel/params.gni:101

jtrace_target_buffer_size

当前值(来自默认值)"auto"

来自 //zircon/kernel/params.gni:102

jtrace_use_large_entries

当前值(来自默认值)"auto"

来自 //zircon/kernel/params.gni:103

jtrace_use_mono_timestamps

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:104

kernel_debug_level

启用各种内核调试和诊断功能。有效值介于 0 到 2 之间。值越高,启用的功能越多。值为 0 时,系统会停用所有这些功能。

TODO(https://fxbug.dev/42117912):与旧版映像一起删除。

当前值(来自默认值)2

来自 //zircon/kernel/switch/set/legacy/BUILD.gn:23

kernel_debug_print_level

控制内核 dprintf 消息的详细程度。值越高,发出的 dprintf 消息就越多。有效值为 0-2(含): 0 - CRITCAL / ALWAYS 1 - INFO 2 - SPEW

当前值(来自默认值)2

来自 //zircon/kernel/params.gni:83

kernel_extra_defines

内核代码的额外宏定义,例如“ENABLE_KERNEL_LL_DEBUG”。

当前值(来自默认值)[]

来自 //zircon/kernel/params.gni:76

kernel_memory_profiler

为每个 malloc 和 free 启用堆栈轨迹和统计信息聚合。 /boot/kernel/i/memory-profile/d/heap.bin 包含二进制数据。 使用 ffx profile heapdump snapshot --kernel 生成符号化内存配置文件。

当前值(来自默认值)false

来自 //zircon/kernel/switch/BUILD.gn:20

kernel_no_userabi

构建不含用户空间支持的内核,仅用于开发。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:107

kernel_version_string

嵌入在内核中的 zx_system_get_version_string 版本字符串。 如果设置为默认值“”,则会根据 Fuchsia Git 代码库的状态生成一个字符串。

当前值(来自默认值)""

来自 //zircon/kernel/lib/version/BUILD.gn:22

known_variants

将构成变体工具链基础的变体列表。如需使用变体,请设置 select_variant

通常,此属性不会作为 build 实参进行设置,但它可用于记录可用的变体集。 如需添加更多,请改为设置 extra_variants

列表中的每个元素都是一个变体,即一个定义以下内容的范围:

configs(可选) [标签列表] 每个标签都命名了一个配置,该配置将由相应变体中构建的每个目标自动使用。 对于每个配置 ${label},还必须有一个目标 ${label}_deps,此变体中构建的每个目标都会自动依赖于该目标。建议使用 variant() 模板同时定义配置及其 _deps 目标。

remove_common_configs(可选) remove_shared_configs(可选) [标签列表] 此列表将在添加所有其他默认值(以及此变体的配置)后从 default_common_binary_configs 列表(或 default_shared_library_configs 列表,具体取决于情况)中移除(使用 -=)。

deps(可选) [标签列表] 添加到此变体中链接的每个终端目标的依赖项(以及配置中每个标签的自动 ${label}_deps)。

executable_deps [标签列表] 添加到此变体中链接的每个可执行文件目标 (executable()) 的依赖项中(以及上面的 deps 和配置中每个标签的自动 ${label}_deps)。

link_deps [标签列表] 添加到此变体中链接的每个链接目标(即终端目标,以及 shared_library() 目标)的依赖项中(以及上面的 deps 和配置中每个标签的自动 ${label}_deps)。

source_deps [标签列表] 添加到每个编译 sources 的目标的依赖项中。此属性会添加到 source_set() 和 static_library() 目标中,并且仅添加到这两个目标中;链接目标会同时获得此属性和 deps

name(如果省略了 configs,则为必需项) [字符串] 变体的名称,与 select_variant 元素的 variant 字段中使用的名称相同。 最好让它简洁明了,例如在 $root_build_dir 下作为目录名称的一部分时,能让人一目了然。 如果省略了名称,则配置不得为空,并且这些配置的简单名称(不是完整标签,只是所有 /: 之后的部分)将用于工具链名称(每个名称都以“-”为前缀),因此构成每个变体的配置名称列表在 known_variants + extra_variants 中的列表之间必须是唯一的。

tags(可选) [字符串列表] 一个宽松的字符串列表,用于描述从此变体范围创建的工具链实例的属性。如需查看可用值及其含义的列表,请参阅 //build/toolchain/variant_tags.gni。

toolchain_args(可选) [范围] 在此范围内定义的每个变量都会替换相应变体的工具链上下文中的构建实参。

host_only(可选) target_only(可选) [scope] 此范围可以包含上述任何字段。 这些值分别仅用于主机或目标。 此处包含的任何字段都不应同时位于外部范围中。

当前值(来自默认值)

[{
  configs = ["//build/config/lto"]
  tags = ["lto"]
}, {
  configs = ["//build/config/lto:thinlto"]
  tags = ["lto"]
}, {
  name = "novariant"
}, {
  configs = ["//build/config/profile:coverage"]
  tags = ["coverage", "coverage_clang", "debugdata", "instrumented", "llvm-profdata", "needs-writable-globals"]
}, {
  configs = ["//build/config/profile:coverage-rust"]
  tags = ["coverage", "coverage_rust", "debugdata", "instrumented", "needs-writable-globals"]
}, {
  configs = ["//build/config/profile:coverage-cts"]
  tags = ["coverage", "coverage_clang", "debugdata", "instrumented", "llvm-profdata"]
}, {
  configs = ["//build/config/profile"]
  tags = ["debugdata", "instrumented", "llvm-profdata", "needs-writable-globals", "profile"]
}, {
  configs = ["//build/config/profile:profile-rust"]
  tags = ["debugdata", "instrumented", "needs-writable-globals", "profile"]
}, {
  configs = ["//build/config/profile:profile-use"]
  tags = ["instrumented"]
}, {
  configs = ["//build/config/profile:profile-use-rust"]
  tags = ["instrumented"]
}, {
  configs = ["//build/config/sanitizers:tsan"]
  tags = ["tsan", "instrumentation-runtime", "instrumented", "needs-compiler-abi", "needs-writable-globals", "uses-shadow", "kernel-excluded"]
}, {
  configs = ["//build/config/sanitizers:hwasan"]
  tags = ["hwasan", "instrumentation-runtime", "instrumented", "lsan", "needs-compiler-abi", "needs-writable-globals", "kernel-excluded", "replaces-allocator", "uses-shadow", "fuchsia-only"]
}, {
  configs = ["//build/config/sanitizers:hwasan", "//build/config/sanitizers:ubsan"]
  remove_common_configs = ["//build/config:no_rtti"]
  tags = ["hwasan", "instrumentation-runtime", "instrumented", "lsan", "needs-compiler-abi", "needs-writable-globals", "kernel-excluded", "replaces-allocator", "uses-shadow", "fuchsia-only", "ubsan"]
}, {
  configs = ["//build/config/sanitizers:ubsan"]
  remove_common_configs = ["//build/config:no_rtti"]
  tags = ["instrumented", "ubsan", "custom-runtime"]
}, {
  configs = ["//build/config/sanitizers:ubsan", "//build/config/sanitizers:sancov"]
  remove_common_configs = ["//build/config:no_rtti"]
  tags = ["instrumented", "instrumentation-runtime", "needs-compiler-abi", "needs-writable-globals", "kernel-excluded", "sancov", "ubsan"]
}, {
  configs = ["//build/config/sanitizers:asan"]
  host_only = {
  remove_shared_configs = ["//build/config:symbol_no_undefined"]
}
  remove_common_configs = ["//build/config:default_frame_pointers"]
  tags = ["asan", "instrumentation-runtime", "instrumented", "needs-compiler-abi", "needs-writable-globals", "lsan", "replaces-allocator", "uses-shadow", "kernel-excluded"]
  toolchain_args = { }
}, {
  configs = ["//build/config/sanitizers:asan", "//build/config/sanitizers:ubsan"]
  host_only = {
  remove_shared_configs = ["//build/config:symbol_no_undefined"]
}
  remove_common_configs = ["//build/config:default_frame_pointers", "//build/config:no_rtti"]
  tags = ["asan", "instrumentation-runtime", "instrumented", "needs-compiler-abi", "needs-writable-globals", "lsan", "replaces-allocator", "uses-shadow", "kernel-excluded", "ubsan"]
  toolchain_args = { }
}, {
  configs = ["//build/config/sanitizers:asan", "//build/config/sanitizers:sancov"]
  host_only = {
  remove_shared_configs = ["//build/config:symbol_no_undefined"]
}
  remove_common_configs = ["//build/config:default_frame_pointers"]
  tags = ["asan", "instrumentation-runtime", "instrumented", "needs-compiler-abi", "needs-writable-globals", "lsan", "replaces-allocator", "uses-shadow", "kernel-excluded", "sancov"]
  toolchain_args = { }
}, {
  configs = ["//build/config/sanitizers:asan", "//build/config:no-safe-stack"]
  host_only = {
  remove_shared_configs = ["//build/config:symbol_no_undefined"]
}
  name = "kasan"
  remove_common_configs = []
  tags = ["asan", "instrumentation-runtime", "instrumented", "needs-compiler-abi", "needs-writable-globals", "lsan", "replaces-allocator", "uses-shadow", "kernel-only"]
  toolchain_args = { }
}, {
  configs = ["//build/config/lto", "//build/config/sanitizers:cfi"]
  tags = ["lto", "custom-runtime"]
}, {
  configs = ["//build/config/lto:thinlto", "//build/config/sanitizers:cfi"]
  tags = ["lto", "custom-runtime"]
}, {
  configs = ["//build/config/sanitizers:asan", "//build/config:no-safe-stack", "//build/config/sanitizers:sancov"]
  host_only = {
  remove_shared_configs = ["//build/config:symbol_no_undefined"]
}
  name = "kasan-sancov"
  remove_common_configs = []
  tags = ["asan", "instrumentation-runtime", "instrumented", "needs-compiler-abi", "needs-writable-globals", "lsan", "replaces-allocator", "uses-shadow", "kernel-only", "sancov"]
  toolchain_args = { }
}, {
  configs = ["//build/config/sanitizers:asan", "//build/config/fuzzer", "//build/config/sanitizers:rust-asan", "//build/config:icf"]
  host_only = {
  remove_shared_configs = ["//build/config:symbol_no_undefined"]
}
  name = "asan-fuzzer"
  remove_common_configs = ["//build/config:default_frame_pointers", "//build/config:icf"]
  remove_shared_configs = ["//build/config:symbol_no_undefined"]
  tags = ["asan", "instrumentation-runtime", "instrumented", "needs-compiler-abi", "needs-writable-globals", "lsan", "replaces-allocator", "uses-shadow", "kernel-excluded", "fuzzer"]
  toolchain_args = {
  asan_default_options = "alloc_dealloc_mismatch=0:check_malloc_usable_size=0:detect_odr_violation=0:max_uar_stack_size_log=16:print_scariness=1:allocator_may_return_null=1:detect_leaks=0:detect_stack_use_after_return=1:malloc_context_size=128:print_summary=1:print_suppressions=0:strict_memcmp=0:symbolize=0"
}
}, {
  configs = ["//build/config/fuzzer", "//build/config/sanitizers:ubsan", "//build/config:icf"]
  name = "ubsan-fuzzer"
  remove_common_configs = ["//build/config:icf", "//build/config:no_rtti"]
  remove_shared_configs = ["//build/config:symbol_no_undefined"]
  tags = ["fuzzer", "instrumented", "instrumentation-runtime", "needs-compiler-abi", "ubsan"]
}, {
  name = "gcc"
  tags = ["gcc"]
}, {
  name = "cxx20"
  toolchain_args = {
  experimental_cxx_version = 20
}
}, {
  configs = ["//build/config/profile:heapdump"]
  tags = ["fuchsia-only", "heapdump", "instrumented", "instrumentation-runtime", "kernel-excluded", "needs-compiler-abi"]
}]

来自 //build/config/BUILDCONFIG.gn:285

运行一项更耗时的检查,适用于持续集成 (CI)。 所有这些都需要 link_rbe_enable=true。

以下权限之一:

  • “none”:不进行额外的检查。

  • “确定性”: 通过在本地运行两次并比较输出结果来检查链接的确定性,如果发现任何差异,则失败。 虽然此检查不涉及 RBE,但它使用相同的封装脚本,该脚本知道要预期和比较哪些输出文件。

  • “一致性”: 通过运行本地和远程链接操作并比较结果,检查两者之间的一致性。

当前值(来自默认值)"none"

来自 //build/toolchain/rbe.gni:286

当前值(来自默认值)true

来自 //build/toolchain/rbe.gni:302

设置为 true 可启用使用 RBE 的远程关联。这涵盖了使用 ar 的操作,或使用 clang 来驱动 lld 等链接器的操作。

当前值(来自默认值)false

来自 //build/toolchain/rbe.gni:245

以下权限之一:

  • “remote”:在缓存未命中时远程执行操作。系统始终会使用此结果更新远程缓存。

  • “local”:在远程缓存中查找操作,但如果缓存未命中,则在本地执行操作。本地生成的结果不会上传到远程缓存。

  • “remote_local_fallback”:先远程执行操作。 如果失败,请改为在本地运行。本地生成的结果不会上传到远程缓存。

  • “racing”:竞争本地执行与远程执行,取先完成者。

  • “nocache”:强制进行远程执行,而不使用缓存的结果。这对于基准化分析缓存未命中场景很有用。

    (还有其他未公开的重新封装器选项。)

当前值(来自默认值)"remote_local_fallback"

来自 //build/toolchain/rbe.gni:266

reclient 拥有用于决定远程关联所需输入的逻辑,但在某些情况下,它可能会落后于上游工具链开发。此选项会强制将整个工具链目录作为输入内容包含在内,这通常可以保证正常运行,因为它不会对工具链的工作方式做出任何假设,但会带来性能开销。此方法主要用于调试和作为紧急情况下的权宜解决方法。

当前值(来自默认值)false

来自 //build/toolchain/rbe.gni:296

llvm_prefix

此目录包含适用于 linux-x64、linux-arm64 和 mac-x64 的 cipd 软件包。您可以从 CIPD 下载这些单独的软件包,并将其设置为包含这些软件包的目录,而不是使用源代码树随附的预建版本。

当前值(来自默认值)"//prebuilt/third_party/llvm"

来自 //src/lib/llvm/llvm_library.gni:10

local_bench

用于在 fx shell 中运行基准时启用本地基准化分析/微调。将 --args=local_bench='true' 传递给 fx set 以启用该功能。

当前值(来自默认值)false

来自 //src/developer/fuchsia-criterion/BUILD.gn:13

lock_name_tracing_enabled

在内核发出的时长中启用锁名称:contention 类别。这会略微增加每个锁的大小,以引用其跟踪标签。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:26

log_startup_sleep

当前值(来自默认值)"30000"

来自 //src/diagnostics/log_listener/BUILD.gn:14

lsan_default_options

默认 LeakSanitizer 选项(在运行时读取 LSAN_OPTIONS 环境变量之前)。此变量可设置为 build 实参,以影响 $variants(请参阅)中的大多数“lsan”变体,也可在其中一个变体的 $toolchain_args 中进行替换。可以是字符串列表,也可以是单个字符串。

请注意,即使此列表为空,相应 build 中的程序也无法定义自己的 __lsan_default_options C 函数。相反,他们可以在 deps 中使用 sanitizer_extra_options() 目标,然后以这种方式注入的任何选项都可以替换此列表中的相应选项设置。

当前值(来自默认值)[]

来自 //build/config/sanitizers/sanitizer_default_options.gni:37

magma_debug

当前值(来自默认值)false

来自 //src/graphics/magma/lib/magma/util/BUILD.gn:17

magma_enable_tracing

启用此选项可添加 Fuchsia 跟踪功能

当前值(来自默认值)true

来自 //src/graphics/lib/magma/gnbuild/magma.gni:12

magma_openvx_include

OpenVX 标头的路径

当前值(来自默认值)""

来自 //src/graphics/lib/magma/gnbuild/magma.gni:15

magma_openvx_package

OpenVX 实现的路径

当前值(来自默认值)""

来自 //src/graphics/lib/magma/gnbuild/magma.gni:18

main_pb_label

指向要使用的主要商品套装的标签(如果不需要多商品 build 中的默认商品)。

当前值(来自默认值)""

来自 //build/images/args.gni:148

max_log_disk_usage

控制用于持久保存设备日志的磁盘空间大小(以字节为单位)。 应为仅包含数字的字符串值。

当前值(来自默认值)"0"

来自 //src/diagnostics/log_listener/BUILD.gn:13

mbedtls_config_file

MbedTLS 的配置文件。

当前值(来自默认值)"mbedtls-config.h"

来自 //third_party/openthread/third_party/mbedtls/BUILD.gn:57

mbedtls_deps

MbedTLS 的额外依赖项

当前值(来自默认值)["../../src/core:libopenthread_core_config"]

来自 //third_party/openthread/third_party/mbedtls/BUILD.gn:60

min_crashlog_size

控制要为崩溃日志预留的持久性 RAM 的最小空间量。当其他功能(例如持久调试日志记录)处于启用状态时,此值会控制将始终为崩溃日志预留的最小字节数(受可用持久 RAM 总量的限制),无论持久 RAM 的其他用户请求了多少 RAM。必须是 128 字节的倍数。

当前值(来自默认值)2048

来自 //zircon/kernel/lib/crashlog/params.gni:14

mini_chromium_is_chromeos_ash

当前值(来自默认值)false

来自 //third_party/mini_chromium/src/build/platform.gni:32

mini_chromium_is_chromeos_lacros

当前值(来自默认值)false

来自 //third_party/mini_chromium/src/build/platform.gni:31

monolithic_binaries

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:242

msd_arm_enable_all_cores

启用全部 8 个核心,这样速度更快,但会散发更多热量。

当前值(来自默认值)true

来自 //src/graphics/drivers/msd-arm-mali/src/BUILD.gn:9

msd_arm_enable_cache_coherency

如果 GPU 支持,设置此标志后,系统会尝试使用缓存一致性内存。

当前值(来自默认值)true

来自 //src/graphics/drivers/msd-arm-mali/src/BUILD.gn:13

msd_arm_enable_protected_debug_swap_mode

在保护模式下,故障不会返回太多信息,因此调试起来要困难得多。为了解决这个问题,我们添加了一种模式,其中受保护的原子在非受保护模式下执行,反之亦然。

注意:内存安全范围也应在 TrustZone 中设置为与正常情况相反,以便非保护模式访问只能访问受保护的内存,反之亦然。此外,可增长内存故障在此模式下不起作用,因此应预提交可增长内存的较大部分(默认情况下不执行此操作)。

当前值(来自默认值)false

来自 //src/graphics/drivers/msd-arm-mali/src/BUILD.gn:23

msd_vsi_vip_enable_suspend

启用暂停。 这样会在没有提交的命令时停止环形缓冲区并暂停时钟。

当前值(来自默认值)true

来自 //src/graphics/drivers/msd-vsi-vip/BUILD.gn:14

netstack3_profile_rustc

添加了编译标志,以在构建 netstack3 目标时发出 rustc 自分析信息。这有助于我们跟踪时间花费和内存消耗,以便与 RBE 良好配合。

当前值(来自默认值)false

来自 //src/connectivity/network/netstack3/BUILD.gn:9

ninja_upload_build_events

配置 Ninja 以将 build 事件和结果流式传输到服务。这有助于分享 build 结果和调用详细信息,以便重现和分诊问题。 此选项使用直接网络访问,需要进行身份验证。 _infra 变体旨在用于构建基础架构。 bazel 的类似配置位于 //build/bazel/remote_services.gni 中。注意:目前尚不支持上传到 Sponge。

有效选项: "":不进行流式传输(默认) "resultstore":上传到 ResultStore(面向用户) "resultstore_infra":上传到 ResultStore(面向基础架构)

当前值(来自默认值)""

来自 //build/toolchain/resultstore.gni:18

openthread_config_anycast_locator_enable

启用任播定位器功能

当前值(来自默认值)false

From //third_party/openthread/etc/gn/openthread.gni:82

openthread_config_assert_enable

启用断言。

当前值(来自默认值)true

来自 //third_party/openthread/etc/gn/openthread.gni:79

openthread_config_backbone_router_enable

启用骨干路由器功能

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:85

openthread_config_ble_tcat_enable

启用基于 BLE 的调试功能

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:88

openthread_config_border_agent_enable

启用边界代理支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:91

openthread_config_border_agent_id_enable

启用边境代理 ID

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:94

openthread_config_border_router_enable

启用边界路由器支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:97

openthread_config_border_routing_enable

启用边界路由支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:100

openthread_config_channel_manager_enable

启用渠道管理工具支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:103

openthread_config_channel_monitor_enable

启用频道监控器支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:106

openthread_config_child_supervision_enable

启用儿童监督支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:109

openthread_config_coap_api_enable

启用 COAP API 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:112

openthread_config_coap_observe_api_enable

启用 COAP 观察 (RFC7641) API 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:118

openthread_config_coap_secure_api_enable

启用安全 CoAP API 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:115

openthread_config_coexistence_enable

启用无线电共存

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:248

openthread_config_commissioner_enable

启用专员支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:121

openthread_config_deps

OpenThread 配置的额外依赖项。

当前值(来自默认值)[]

来自 //third_party/openthread/etc/gn/openthread.gni:38

openthread_config_dhcp6_client_enable

启用 DHCP6 客户端支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:127

openthread_config_dhcp6_server_enable

启用 DHCP6 服务器支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:130

openthread_config_diag_enable

启用诊断支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:133

openthread_config_dns_client_enable

启用 DNS 客户端支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:136

openthread_config_dnssd_server_enable

启用 DNS-SD 服务器支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:139

openthread_config_dua_enable

为 Thread 1.2 启用网域单播地址功能

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:145

openthread_config_ecdsa_enable

启用 ECDSA 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:142

openthread_config_enable_builtin_mbedtls_management

当前值(来自默认值)true

来自 //third_party/openthread/etc/gn/openthread.gni:245

openthread_config_file

OpenThread 配置标头。

当前值(来自默认值)"<openthread-config-fuchsia.h>"

来自 //third_party/openthread/etc/gn/openthread.gni:35

openthread_config_full_logs

启用完整日志

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:232

openthread_config_heap_external_enable

启用外部堆支持

当前值(来自默认值)true

来自 //third_party/openthread/etc/gn/openthread.gni:151

openthread_config_ip6_fragmentation_enable

启用 IPv6 分段支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:154

openthread_config_ip6_slaac_enable

启用对通过 OpenThread 添加自动配置的 SLAAC 地址的支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:208

openthread_config_jam_detection_enable

启用干扰检测支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:157

openthread_config_joiner_enable

启用加入者支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:160

openthread_config_legacy_enable

启用旧版网络支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:163

启用链接指标启动器

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:166

启用链接指标主题

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:169

启用链接原始服务

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:172

openthread_config_log_level_dynamic_enable

启用动态日志级别控制

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:175

openthread_config_log_output

日志输出:none、debug_uart、app、platform

当前值(来自默认值)""

来自 //third_party/openthread/etc/gn/openthread.gni:76

openthread_config_mac_csl_receiver_enable

启用 CSL 接收器

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:124

openthread_config_mac_filter_enable

启用 MAC 过滤条件支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:178

openthread_config_message_use_heap

启用使用内置堆作为消息缓冲区

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:181

openthread_config_mle_long_routes_enable

启用 MLE 长路由扩展功能(实验性,会破坏 Thread 一致性)

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:184

openthread_config_mlr_enable

为 Thread 1.2 启用多播监听器注册功能

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:148

openthread_config_multiple_instance_enable

启用多个实例

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:190

openthread_config_ncp_hdlc_enable

启用 NCP HDLC 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:241

openthread_config_ncp_spi_enable

启用 NCP SPI 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:238

openthread_config_otns_enable

启用 OTNS 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:235

openthread_config_ping_sender

启用 ping 发送方支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:223

openthread_config_platform_netif_enable

启用平台 netif 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:193

openthread_config_platform_udp_enable

启用平台 UDP 支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:196

openthread_config_reference_device_enable

启用 Thread 测试框架参考设备支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:199

openthread_config_sntp_client_enable

启用 SNTP 客户端支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:211

openthread_config_srp_client_enable

启用 SRP 客户端支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:214

openthread_config_srp_server_enable

启用 SRP 服务器支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:217

openthread_config_tcp_enable

启用对 TCP 的支持

当前值(来自默认值)true

来自 //third_party/openthread/etc/gn/openthread.gni:220

openthread_config_thread_version

Thread 版本

当前值(来自默认值)"1.4"

来自 //third_party/openthread/etc/gn/openthread.gni:73

openthread_config_time_sync_enable

启用时间同步服务功能

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:226

openthread_config_tmf_netdata_service_enable

启用对将服务条目注入到 Thread 网络数据的支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:202

openthread_config_tmf_netdiag_client_enable

启用 TMF 网络诊断客户端

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:187

openthread_config_udp_forward_enable

启用 UDP 转发支持

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:229

openthread_core_config_deps

OpenThread 核心配置的额外依赖项。

当前值(来自默认值)[]

来自 //third_party/openthread/etc/gn/openthread.gni:50

openthread_core_config_platform_check_file

OpenThread 平台专用配置检查标头

当前值(来自默认值)""

来自 //third_party/openthread/etc/gn/openthread.gni:47

openthread_enable_core_config_args

通过 GN 实参配置 OpenThread。

当前值(来自默认值)true

来自 //third_party/openthread/etc/gn/openthread.gni:67

openthread_external_mbedtls

使用外部 mbedtls。如果留空,则使用内部 mbedtls。

当前值(来自默认值)""

来自 //third_party/openthread/etc/gn/openthread.gni:56

openthread_external_platform

使用外部平台。

当前值(来自默认值)""

来自 //third_party/openthread/etc/gn/openthread.gni:53

openthread_package_name

OpenThread 的软件包名称。

当前值(来自默认值)"OPENTHREAD"

来自 //third_party/openthread/etc/gn/openthread.gni:59

openthread_package_version

OpenThread 的软件包版本。

当前值(来自默认值)"1.0.0"

来自 //third_party/openthread/etc/gn/openthread.gni:62

openthread_project_core_config_file

OpenThread 项目专用核心配置头文件

当前值(来自默认值)""

来自 //third_party/openthread/etc/gn/openthread.gni:44

openthread_project_include_dirs

包含项目专用配置的目录。

当前值(来自默认值)[]

来自 //third_party/openthread/etc/gn/openthread.gni:41

openthread_settings_ram

启用仅限易失性存储的设置

当前值(来自默认值)false

来自 //third_party/openthread/etc/gn/openthread.gni:205

优化

“foo_optimize”实参的全局替换。

当前值(来自默认值)false

来自 //build/config/compiler.gni:10

output_breakpad_syms

设置是否应为 Fuchsia 二进制文件输出 Breakpad 符号。

当前值(来自默认值)false

来自 //build/config/BUILDCONFIG.gn:32

output_gsym

控制是否应为 Fuchsia 二进制文件输出 GSYM 文件。

当前值(来自默认值)false

来自 //build/config/BUILDCONFIG.gn:35

override_target_api_level

上述变量的已弃用名称,仍被过时的机器人使用。 TODO(https://fxbug.dev/330709069):在关闭 core.x64-sdk_source_sets_and_shlibs-api*-build_only 机器人后移除。

当前值(来自默认值)false

来自 //build/config/fuchsia/target_api_level.gni:21

package_flavor_selections

用于配置所需的软件包变体集。

用法:

package_flavor_selections = [ { name = "snazzy" flavor = "with_hooks" }, { name = "some_other_package" flavor = "some_other_flavor" }, ]

上述内容指定了软件包“snazzy”应使用“with_hooks”变种,而“some_other_package”应使用“some_other_flavor”变种,而不是其默认变种;使用此模板的所有其他软件包都将使用其默认软件包变种。

当前值(来自默认值)[]

来自 //build/packages/prebuilt_package_with_flavors.gni:30

perfetto_build_with_android

Android 蓝图文件生成器将此值设置为 true(以及 is_perfetto_build_generator)。这只是关于在 Android 树(AOSP 和内部)中构建,与目标操作系统无关。在独立 Android build 和 Chromium Android build 中,此值为 false。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:90

perfetto_enable_git_rev_version_header

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:320

perfetto_force_dcheck

是否应启用 DCHECK。值:“on”|“off”|“”。 默认情况下(“”),仅在以下情况下启用 DCHECK: - 如果定义了 DCHECK_ALWAYS_ON(这主要是 Chromium 的一种做法)。- 在调试 build(即未定义 NDEBUG)中,但仅在 Chromium、Android 和独立 build 中。 - 在所有其他 build(例如 SDK)中,无论 NDEBUG 是否定义,它都处于关闭状态(除非定义了 DCHECK_ALWAYS_ON)。 如需了解所有这些功能的实现,请参阅 base/logging.h。

当前值(来自默认值)""

来自 //third_party/perfetto/gn/perfetto.gni:257

perfetto_force_dlog

是否应在调试 build 版(“”)、所有 build 版(“on”)或任何 build 版(“off”)上启用 DLOG。我们默认会为嵌入者停用此功能,以避免其控制台出现大量垃圾内容。

当前值(来自默认值)""

来自 //third_party/perfetto/gn/perfetto.gni:247

perfetto_http_additional_cors_origins

以逗号分隔的列表,用于指定要在 trace_processor 和 websocket_bridge 中允许的其他 CORS 源。

当前值(来自默认值)""

来自 //third_party/perfetto/gn/perfetto.gni:103

perfetto_thread_safety_annotations

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:276

perfetto_use_pkgconfig

由 CrOS build 使用。使用 pkg-config 确定用于包含和链接系统库的相应标志。 将 host_pkg_config 设置为 BUILD_PKG_CONFIG,并将 pkg_config 设置为目标 PKG_CONFIG。注意:如果启用此功能,则还应启用 perfetto_use_system_protobuf

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:453

perfetto_use_system_protobuf

由 CrOS 系统 build 使用。使用 /usr/include 中的系统版本 protobuf,而不是 hermetic 版本。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:457

perfetto_use_system_sqlite

由 CrOS 系统 build 使用。使用 /usr/include 中的系统版本 sqlite,而不是 hermetic 版本。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:461

perfetto_use_system_zlib

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:463

perfetto_verbose_logs_enabled

当前值(来自默认值)true

来自 //third_party/perfetto/gn/perfetto.gni:339

persistent_ram_allocation_granularity

控制持久性 RAM 全局池的分配粒度。 希望使用持久性 RAM 在重启后保留数据的所有功能都必须在是此值的倍数的分配中运行。该值应为 2 的幂,并且通常应为目标架构的缓存行大小的倍数。

当前值(来自默认值)128

来自 //zircon/kernel/params.gni:90

pgo_profile_path

PGO 使用的配置文件数据路径。

当前值(来自默认值)""

来自 //build/config/profile/config.gni:45

pre_erase_flash

当前值(来自默认值)false

来自 //build/images/args.gni:58

prebuilt_dart_sdk

包含预构建 Dart SDK 的目录。 此目录必须在其 bin/ 子目录中包含 gen_snapshot.OS-CPU 二进制文件。

当前值(来自默认值)"//prebuilt/third_party/dart/linux-x64"

来自 //build/dart/dart.gni:8

prebuilt_fastboot

当前值(来自默认值)"//prebuilt/third_party/fastboot/fastboot"

来自 //build/images/tools/fastboot.gni:6

prebuilt_go_dir

prebuilt_go_dir [string] 指向包含预构建主机 Go 二进制文件的目录。默认情况下,此变量指向 //prebuilts 目录。

当前值(来自默认值)"//prebuilt/third_party/go/linux-x64"

来自 //build/go/go_build.gni:26

product_assembly_overrides

此 GN 实参可针对给定的程序集目标启用开发者替换

这是一个包含两个字段的范围列表: - assembly:(GN 标签格式) 要应用替换的 GN 标签 - overrides:(GN 标签) 一组开发者替换的标签

示例:

product_assembly_overrides = [ { assembly = "//build/images/fuchsia/*" overrides = "//local:my_assembly_overrides" } ]

target_cpu = "arm64" 的当前值[]

来自 //out/not-default/args.gn:26

已覆盖默认值[]

来自 //build/assembly/developer_overrides.gni:441

target_cpu = "riscv64" 的当前值[]

来自 //out/not-default/args.gn:26

已覆盖默认值[]

来自 //build/assembly/developer_overrides.gni:441

target_cpu = "x64" 的当前值[]

来自 //out/not-default/args.gn:26

已覆盖默认值[]

来自 //build/assembly/developer_overrides.gni:441

product_assembly_overrides_contents

此 GN 实参允许在 args.gn 中内嵌指定替换模板。它与上述“product_assembly_overrides_label”实参不兼容。

若要使用此模板,请将其视为“assembly_developer_overrides()”模板,相应模板将在 //build/assembly/overrides:inlined 处实例化,并设置为“main”产品程序集的替换项,就好像设置了以下内容一样:

product_assembly_overrides_label = "//build/assembly/overrides:inlined"

当前值(来自默认值)false

来自 //build/assembly/developer_overrides.gni:457

product_assembly_overrides_label

此 GN 实参提供了一种简便机制,用于为产品设置“主要”产品程序集所使用的开发者替换项。如果设置了此标志,但未定义“main”产品程序集,则会生成 GN 错误。

当前值(来自默认值)false

来自 //build/assembly/developer_overrides.gni:446

product_bundle_labels

要组装的商品套装(主商品套装除外)的标签。

当前值(来自默认值)[]

来自 //BUILD.gn:141

profile_source_files

要通过 profile 变体进行插桩的源文件路径列表。

当前值(来自默认值)["//*"]

来自 //build/config/profile/config.gni:10

profile_source_files_list_files

以 Clang 的 -fprofile-list 格式列出的文件路径,用于描述要通过 profile 变体进行插桩的文件和函数。

当前值(来自默认值)[]

来自 //build/config/profile/config.gni:42

proprietary_codecs

当前值(来自默认值)false

来自 //build/config/features.gni:9

pw_assert_BACKEND

pw_assert 模块的 CHECK facade 的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/backends/pw_assert"

来自 //.gn:70

已覆盖默认值""

来自 //third_party/pigweed/src/pw_assert/backend.gni:19

target_cpu = "riscv64" 的当前值"//third_party/pigweed/backends/pw_assert"

来自 //.gn:70

已覆盖默认值""

来自 //third_party/pigweed/src/pw_assert/backend.gni:19

target_cpu = "x64" 的当前值"//third_party/pigweed/backends/pw_assert"

来自 //.gn:70

已覆盖默认值""

来自 //third_party/pigweed/src/pw_assert/backend.gni:19

pw_assert_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_assert/BUILD.gn:26

pw_assert_LITE_BACKEND

pw_assert 模块的 ASSERT facade 的后端。

当前值(来自默认值)"//third_party/pigweed/src/pw_assert:assert_compatibility_backend"

来自 //third_party/pigweed/src/pw_assert/backend.gni:25

pw_async2_DISPATCHER_FOR_TEST_BACKEND

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_async2/backend.gni:31

pw_bloat_BLOATY_CONFIG

Bloaty 配置文件的路径,用于定义目标二进制文件的内存布局和容量。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_bloat/bloat.gni:23

pw_bloat_SHOW_SIZE_REPORTS

控制是否在 build 输出中显示大小报告。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_bloat/bloat.gni:40

pw_bloat_TOOLCHAINS

要在 pw_toolchain_size_diff 模板中使用的工具链列表。

每个条目都是一个范围,包含以下变量:

name:直观易懂的工具链名称。 target:定义工具链的 GN 目标。 linker_script:要为工具链的目标构建的链接器脚本文件的可选路径。 bloaty_config:可选的 Bloaty 配置文件,用于定义链接器脚本中指定的二进制文件的内存布局。

如果此列表为空,则 pw_toolchain_size_diff 目标会变成空操作。

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_bloat/bloat.gni:37

pw_bluetooth_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_bluetooth/BUILD.gn:30

pw_build_COLORIZE_OUTPUT

控制是否告知编译器和其他工具使用彩色输出。

当前值(来自默认值)true

来自 //third_party/pigweed/src/pw_build/defaults.gni:61

pw_build_DEFAULT_MODULE_CONFIG

所有 Pigweed 模块配置的默认实现。

借助此变量,您可以从单个 GN 目标配置多个 Pigweed 模块。模块配置仍可通过直接设置模块的配置后端(例如 pw_some_module_CONFIG = "//my_config")单独进行覆盖。

模块通过编译选项进行配置。配置实现可能会设置单个编译器宏,或者使用 -include 标志强制包含具有多个选项的配置头文件。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_build/module_config.gni:28

pw_build_DEFAULT_VISIBILITY

控制 C/C++ 库和可执行文件的默认可见性(pw_source_set、pw_static_library、pw_shared_library pw_executable)。可以是“*”或路径列表。

这有助于通过显式许可名单限制 Pigweed 模块的使用。为了使 GN build 正常运行,pw_build_DEFAULT_VISIBILITY 必须始终至少包含 Pigweed 代码库(“$dir_pigweed/*”)。

明确设置目标的公开范围会覆盖此默认设置。

当前值(来自默认值)["*"]

来自 //third_party/pigweed/src/pw_build/defaults.gni:58

pw_build_EXECUTABLE_TARGET_TYPE

用于构建 Pigweed 可执行文件的 GN 目标类型的名称。

如果这是自定义模板,则必须在目标配置文件的顶部导入包含该模板的 .gni 文件,以使其全局可用。

当前值(来自默认值)"executable"

来自 //third_party/pigweed/src/pw_build/gn_internal/build_target.gni:39

pw_build_EXECUTABLE_TARGET_TYPE_FILE

定义 pw_build_EXECUTABLE_TARGET_TYPE 的 .gni 文件的路径。

如果 pw_build_EXECUTABLE_TARGET_TYPE 不是默认值 executable,则导入此 .gni 文件以提供模板定义。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_build/gn_internal/build_target.gni:45

要添加为 pw_executable、pw_static_library 和 pw_shared_library 目标的依赖项的其他 build 目标。$dir_pw_build:link_deps 目标会拉取这些库。

pw_build_LINK_DEPS 可用于打破低级库(例如 pw_assert)的循环依赖关系。

target_cpu = "arm64" 的当前值["//third_party/pigweed/src/pw_assert:impl", "//third_party/pigweed/src/pw_log:impl"]

来自 //.gn:90

已覆盖默认值[]

来自 //third_party/pigweed/src/pw_build/gn_internal/build_target.gni:26

target_cpu = "riscv64" 的当前值["//third_party/pigweed/src/pw_assert:impl", "//third_party/pigweed/src/pw_log:impl"]

来自 //.gn:90

已覆盖默认值[]

来自 //third_party/pigweed/src/pw_build/gn_internal/build_target.gni:26

target_cpu = "x64" 的当前值["//third_party/pigweed/src/pw_assert:impl", "//third_party/pigweed/src/pw_log:impl"]

来自 //.gn:90

从默认值替换[]

来自 //third_party/pigweed/src/pw_build/gn_internal/build_target.gni:26

pw_build_PIP_CONSTRAINTS

当前值(来自默认值)["//third_party/pigweed/src/pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list"]

来自 //third_party/pigweed/src/pw_build/python.gni:27

pw_build_PIP_REQUIREMENTS

所有基于 Pigweed 的项目的默认 pip 要求文件。

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_build/python.gni:30

pw_build_PYLINT_OUTPUT_FORMAT

Pylint 的输出格式。选项包括“文本”和“彩色”。

当前值(来自默认值)"colorized"

From //third_party/pigweed/src/pw_build/python.gni:47

pw_build_PYTHON_BUILD_VENV

默认的 GN build virtualenv 目标。

target_cpu = "arm64" 的当前值"//third_party/pigweed:fuchsia_pigweed_python_venv"

来自 //.gn:118

从默认值替换"//third_party/pigweed/src/pw_env_setup:pigweed_build_venv"

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:23

target_cpu = "riscv64" 的当前值"//third_party/pigweed:fuchsia_pigweed_python_venv"

来自 //.gn:118

从默认值替换"//third_party/pigweed/src/pw_env_setup:pigweed_build_venv"

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:23

target_cpu = "x64" 的当前值"//third_party/pigweed:fuchsia_pigweed_python_venv"

来自 //.gn:118

从默认值替换"//third_party/pigweed/src/pw_env_setup:pigweed_build_venv"

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:23

pw_build_PYTHON_PIP_DEFAULT_OPTIONS

传递给 pip 命令的常规选项 https://pip.pypa.io/en/stable/cli/pip/#general-options

当前值(来自默认值)["--disable-pip-version-check"]

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:51

pw_build_PYTHON_PIP_DOWNLOAD_ALL_PLATFORMS

DOCSTAG: [default-pip-gn-args] 将 pw_python_venv.vendor_wheel 目标设置为下载所有平台组合的 Python 软件包。这需要花费大量时间。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:28

pw_build_PYTHON_PIP_INSTALL_DISABLE_CACHE

添加了“--no-cache-dir”,强制 pip 忽略之前缓存的所有 Python 软件包。在大多数系统中,此目录位于 ~/.cache/pip/

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:41

包含 Python wheel (.whl) 或源 tar 文件 (.tar.gz) 的文件夹的路径列表。在寻找潜在的安装候选对象时,Pip 会检查这些目录中的每一个。每个路径都将作为“--find-links PATH”传递给所有“pip install”命令。

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:47

pw_build_PYTHON_PIP_INSTALL_OFFLINE

添加了 --no-index,强制 pip 不访问互联网 (pypi.org) 来下载软件包。使用此选项还需要设置 pw_build_PYTHON_PIP_INSTALL_FIND_LINKS。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:37

pw_build_PYTHON_PIP_INSTALL_REQUIRE_HASHES

添加了“--require-hashes”。此选项强制对 Python 软件包文件进行哈希检查。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:32

pw_build_PYTHON_STATIC_ANALYSIS_TOOLS

DOCSTAG: [python-static-analysis-tools] 要针对 pw_python_package 目标运行的默认 Python 静态分析工具集。

当前值(来自默认值)["pylint", "mypy"]

来自 //third_party/pigweed/src/pw_build/python.gni:34

pw_build_PYTHON_TEST_COVERAGE

如果为 true,GN 将使用覆盖率命令运行每个 Python 测试。系统会保存每个测试的单独覆盖率数据文件。如需根据此信息生成报告,请运行:pw presubmit --step gn_python_test_coverage

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_build/python.gni:44

pw_build_PYTHON_TOOLCHAIN

Python 任务(例如运行测试和 Pylint)在单个 GN 工具链中完成,以避免构建中出现不必要的重复。

当前值(来自默认值)"//third_party/pigweed/src/pw_build/python_toolchain:python"

来自 //third_party/pigweed/src/pw_build/python_gn_args.gni:20

pw_build_TEST_TRANSITIVE_PYTHON_DEPS

是否对 pw_python_package 目标的传递依赖项进行 lint/测试。

例如:如果 lib_a 依赖于 lib_b,则在首次运行 lib_b.tests 之后,lib_a.tests 将运行(如果 pw_build_TEST_TRANSITIVE_PYTHON_DEPS 为 true)。

如果 pw_build_TEST_TRANSITIVE_PYTHON_DEPS 为 false,则当您直接构建目标(例如 lib_b.tests)时,或者当 pw_python_package 位于 pw_python_group 中且您构建 group.tests 目标时,系统会运行 pw_python_package 的测试。

这适用于 mypy、pylint、ruff 和测试。

虽然出于兼容性考虑,此属性默认设置为 true,但强烈建议您将其关闭,以免对所有外部依赖项进行 lint 检查和测试。

当前值(来自默认值)true

来自 //third_party/pigweed/src/pw_build/python.gni:64

pw_build_TEST_TRANSITIVE_PYTHON_DEPS_FILTER_EXCLUDES

如果您希望在部分目标上启用传递依赖项,请使用此属性过滤掉不需要的传递依赖项。 例如:[ "$dir_pigweed/*" ]

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_build/python.gni:69

pw_build_TOOLCHAIN_LINK_DEPS 由 pw_toolchain 模块用于设置默认库依赖项。一般来说,此变量不面向用户,但如果您需要移除此处引入的内容,可以在自己的工具链中替换此变量。

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_build/gn_internal/build_target.gni:32

pw_chre_CONFIG

用于构建 CHRE 的配置。

target_cpu = "arm64" 的当前值"//third_party/chre:chre_config"

//.gn:136

已覆盖默认值"//third_party/chre:default_chre_config"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:22

target_cpu = "riscv64" 的当前值"//third_party/chre:chre_config"

//.gn:136

已覆盖默认值"//third_party/chre:default_chre_config"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:22

target_cpu = "x64" 的当前值"//third_party/chre:chre_config"

//.gn:136

已覆盖默认值"//third_party/chre:default_chre_config"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:22

pw_chre_PLATFORM_BACKEND

CHRE 的平台后端实现。默认值为 Pigweed 后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_chre:chre_backend"

来自 //.gn:137

从默认值替换"//pw_chre:chre_backend"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:28

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_chre:chre_backend"

来自 //.gn:137

从默认值替换"//pw_chre:chre_backend"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:28

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_chre:chre_backend"

来自 //.gn:137

已覆盖默认值"//pw_chre:chre_backend"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:28

pw_chre_PLATFORM_BACKEND_HEADERS

CHRE 的平台后端标头。默认值为 Pigweed 后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_chre:chre_backend_headers"

来自 //.gn:139

已覆盖默认值"//pw_chre:chre_backend_headers"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:25

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_chre:chre_backend_headers"

来自 //.gn:139

已覆盖默认值"//pw_chre:chre_backend_headers"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:25

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_chre:chre_backend_headers"

来自 //.gn:139

从默认值替换"//pw_chre:chre_backend_headers"

来自 //third_party/pigweed/src/third_party/chre/chre.gni:25

pw_chrono_SYSTEM_CLOCK_BACKEND

pw_chrono 模块的 system_clock 的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_chrono_stl:system_clock"

来自 //.gn:73

已覆盖默认值""

来自 //third_party/pigweed/src/pw_chrono/backend.gni:17

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_chrono_stl:system_clock"

来自 //.gn:73

已覆盖默认值""

来自 //third_party/pigweed/src/pw_chrono/backend.gni:17

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_chrono_stl:system_clock"

来自 //.gn:73

已覆盖默认值""

来自 //third_party/pigweed/src/pw_chrono/backend.gni:17

pw_chrono_SYSTEM_TIMER_BACKEND

pw_chrono 模块的 system_timer 的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_chrono_stl:system_timer"

来自 //.gn:81

已覆盖默认值""

来自 //third_party/pigweed/src/pw_chrono/backend.gni:20

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_chrono_stl:system_timer"

来自 //.gn:81

已覆盖默认值""

来自 //third_party/pigweed/src/pw_chrono/backend.gni:20

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_chrono_stl:system_timer"

来自 //.gn:81

已覆盖默认值""

来自 //third_party/pigweed/src/pw_chrono/backend.gni:20

pw_command_launcher

编译命令的前缀(例如 Goma 或 CCache 编译器启动器的路径)。ccache 示例: gn gen out --args='pw_command_launcher="ccache"'

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_toolchain/toolchain_args.gni:24

pw_compilation_testing_NEGATIVE_COMPILATION_ENABLED

为当前工具链启用或停用负编译测试。默认处于停用状态,因为负编译测试会显著增加 GN 生成时间。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_compilation_testing/negative_compilation_test.gni:24

pw_containers_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_containers/BUILD.gn:31

pw_emboss_build_dir_to_root

root_build_dir// 的可选相对路径,可供 emboss_cc_library 用于重新确定 embossc 源文件的基准。

通常,我们不需要手动定义此变量,可以依靠内置的 GN 函数针对 root_build_dir 进行 rebase_path(),但对于//out 是指向 // 之外的目录的符号链接的 build 环境,这种方法不可靠,因为 GN 始终将 root_build_dir 提供为绝对的符号链接取消引用路径

在这种情况下,我们不应直接使用 root_build_dir,而必须构建 root_build_dir 的“词法局部”版本,即 // 的子路径。

以下示例展示了这一点:

使用如下项目文件系统结构: /home/alice/foo_project(作为 //) src/foo.emb out/a_build_dir -> /storage/out/a_build_dir 此 GN 表达式: rebase_path("src/foo.emb", "$root_build_dir") 等效于: rebase_path("/home/alice/foo_project/src/foo.emb", "/storage/out/a_build_dir") 计算结果为: "../../../home/alice/foo_project/src/foo.emb"

如果输出目录不是符号链接,则结果会有所不同。 在这种情况下,相同的 GN 表达式: rebase_path("src/foo.emb", "$root_build_dir") 将等效于: rebase_path("/home/alice/foo_project/src/foo.emb", "/home/alice/foo_project/out/a_build_dir") 求值结果为: "../../src/foo.emb"

虽然这两个示例都解析为同一文件,但 embossc 会尝试将生成的头文件放置在源 .emb 文件的同级目录中,因此对路径的词法表示形式很敏感。emboss_cc_library 还会通过使用嵌套的 r"(fake/)*" 目录的 --output-path 调用 embossc 来抵消前面的 ../ 段,以确保这些生成的文件包含在 out 目录中。

在第一个示例中,输出路径为: “gen/fake/fake/fake/../../../home/alice/foo_project/src/foo.h” 简化为: “gen/home/alice/foo_project/src/foo.h” 这会破坏源文件中的 #include <foo.h> 指令。

第二个示例将头文件放置在正确的路径中: “gen/fake/fake/../../src/foo.h” 简化为: “gen/src/foo.h”

通过使用 pw_emboss_build_dir_to_root 作为从 root_build_dir// 的逻辑相对路径,可以从词法上构建一个 symlink_safe_build_dir,该 symlink_safe_build_dir 的行为与 root_build_dir 类似,但不会解析符号链接。

当前值(来自默认值)""

来自 //third_party/pigweed/src/third_party/emboss/build_defs.gni:71

pw_env_setup_CIPD_BAZEL

当前值(来自默认值)"../../prebuilt/third_party/bazel/linux-x64/bin"

来自 //build_overrides/pigweed_environment.gni:24

pw_env_setup_CIPD_DEFAULT

当前值(来自默认值)"//prebuilt/third_party"

来自 //build_overrides/pigweed_environment.gni:18

pw_env_setup_CIPD_PIGWEED

当前值(来自默认值)"//prebuilt/third_party"

来自 //build_overrides/pigweed_environment.gni:19

pw_env_setup_CIPD_PYTHON

当前值(来自默认值)"../../prebuilt/third_party/python/linux-x64/bin"

来自 //build_overrides/pigweed_environment.gni:21

pw_external_abseil_cpp

当前值(来自默认值)"//third_party/pigweed/src/third_party/abseil-cpp"

来自 //third_party/pigweed/src/modules.gni:39

pw_external_ambiq

当前值(来自默认值)"//third_party/pigweed/src/third_party/ambiq"

来自 //third_party/pigweed/src/modules.gni:40

pw_external_apollo4

当前值(来自默认值)"//third_party/pigweed/src/third_party/apollo4"

来自 //third_party/pigweed/src/modules.gni:41

pw_external_arduino

当前值(来自默认值)"//third_party/pigweed/src/third_party/arduino"

来自 //third_party/pigweed/src/modules.gni:42

pw_external_boringssl

当前值(来自默认值)"//third_party/pigweed/src/third_party/boringssl"

来自 //third_party/pigweed/src/modules.gni:44

pw_external_chre

当前值(来自默认值)"//third_party/pigweed/src/third_party/chre"

来自 //third_party/pigweed/src/modules.gni:45

pw_external_chromium_verifier

当前值(来自默认值)"//third_party/pigweed/src/third_party/chromium_verifier"

来自 //third_party/pigweed/src/modules.gni:47

pw_external_embos

当前值(来自默认值)"//third_party/pigweed/src/third_party/embos"

来自 //third_party/pigweed/src/modules.gni:48

pw_external_emboss

当前值(来自默认值)"//third_party/pigweed/src/third_party/emboss"

来自 //third_party/pigweed/src/modules.gni:49

pw_external_freertos

当前值(来自默认值)"//third_party/pigweed/src/third_party/freertos"

来自 //third_party/pigweed/src/modules.gni:51

pw_external_fuchsia

当前值(来自默认值)"//third_party/pigweed/src/third_party/fuchsia"

来自 //third_party/pigweed/src/modules.gni:52

pw_external_fuzztest

当前值(来自默认值)"//third_party/pigweed/src/third_party/fuzztest"

来自 //third_party/pigweed/src/modules.gni:54

pw_external_googletest

当前值(来自默认值)"//third_party/pigweed/src/third_party/googletest"

来自 //third_party/pigweed/src/modules.gni:56

pw_external_llvm_builtins

当前值(来自默认值)"//third_party/pigweed/src/third_party/llvm_builtins"

来自 //third_party/pigweed/src/modules.gni:58

pw_external_llvm_libc

当前值(来自默认值)"//third_party/pigweed/src/third_party/llvm_libc"

来自 //third_party/pigweed/src/modules.gni:60

pw_external_llvm_libcxx

当前值(来自默认值)"//third_party/pigweed/src/third_party/llvm_libcxx"

来自 //third_party/pigweed/src/modules.gni:62

pw_external_mbedtls

当前值(来自默认值)"//third_party/pigweed/src/third_party/mbedtls"

来自 //third_party/pigweed/src/modules.gni:63

pw_external_mcuxpresso

当前值(来自默认值)"//third_party/pigweed/src/third_party/mcuxpresso"

来自 //third_party/pigweed/src/modules.gni:65

pw_external_nanopb

当前值(来自默认值)"//third_party/pigweed/src/third_party/nanopb"

来自 //third_party/pigweed/src/modules.gni:66

pw_external_perfetto

当前值(来自默认值)"//third_party/pigweed/src/third_party/perfetto"

来自 //third_party/pigweed/src/modules.gni:68

pw_external_pico_sdk

当前值(来自默认值)"//third_party/pigweed/src/third_party/pico_sdk"

来自 //third_party/pigweed/src/modules.gni:70

pw_external_protobuf

当前值(来自默认值)"//third_party/pigweed/src/third_party/protobuf"

来自 //third_party/pigweed/src/modules.gni:72

pw_external_repo

当前值(来自默认值)"//third_party/pigweed/src/third_party/repo"

来自 //third_party/pigweed/src/modules.gni:73

pw_external_smartfusion_mss

当前值(来自默认值)"//third_party/pigweed/src/third_party/smartfusion_mss"

来自 //third_party/pigweed/src/modules.gni:75

pw_external_stm32cube

当前值(来自默认值)"//third_party/pigweed/src/third_party/stm32cube"

来自 //third_party/pigweed/src/modules.gni:77

pw_external_threadx

当前值(来自默认值)"//third_party/pigweed/src/third_party/threadx"

来自 //third_party/pigweed/src/modules.gni:78

pw_external_tinyusb

当前值(来自默认值)"//third_party/pigweed/src/third_party/tinyusb"

来自 //third_party/pigweed/src/modules.gni:79

pw_log_BACKEND

pw_log 模块的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/backends/pw_log"

来自 //.gn:71

从默认值替换""

来自 //third_party/pigweed/src/pw_log/backend.gni:17

target_cpu = "riscv64" 的当前值"//third_party/pigweed/backends/pw_log"

来自 //.gn:71

已覆盖默认值""

来自 //third_party/pigweed/src/pw_log/backend.gni:17

target_cpu = "x64" 的当前值"//third_party/pigweed/backends/pw_log"

来自 //.gn:71

已覆盖默认值""

来自 //third_party/pigweed/src/pw_log/backend.gni:17

pw_log_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_log/BUILD.gn:28

pw_log_GLOG_ADAPTER_CONFIG

用于替换此模块的 glog 适配器部分的默认配置选项的 build 目标。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_log/BUILD.gn:32

pw_module_tests

包含所有 Pigweed 模块测试组的列表。请勿设置此 build 实参!

当前值(来自默认值)["//third_party/pigweed/src/docker:tests", "//third_party/pigweed/src/pw_alignment:tests", "//third_party/pigweed/src/pw_allocator:tests", "//third_party/pigweed/src/pw_analog:tests", "//third_party/pigweed/src/pw_android_toolchain:tests", "//third_party/pigweed/src/pw_arduino_build:tests", "//third_party/pigweed/src/pw_assert:tests", "//third_party/pigweed/src/pw_assert_basic:tests", "//third_party/pigweed/src/pw_assert_fuchsia:tests", "//third_party/pigweed/src/pw_assert_log:tests", "//third_party/pigweed/src/pw_assert_tokenized:tests", "//third_party/pigweed/src/pw_assert_trap:tests", "//third_party/pigweed/src/pw_assert_zephyr:tests", "//third_party/pigweed/src/pw_async:tests", "//third_party/pigweed/src/pw_async2:tests", "//third_party/pigweed/src/pw_async_basic:tests", "//third_party/pigweed/src/pw_async_fuchsia:tests", "//third_party/pigweed/src/pw_atomic:tests", "//third_party/pigweed/src/pw_base64:tests", "//third_party/pigweed/src/pw_bloat:tests", "//third_party/pigweed/src/pw_blob_store:tests", "//third_party/pigweed/src/pw_bluetooth:tests", "//third_party/pigweed/src/pw_bluetooth_hci:tests", "//third_party/pigweed/src/pw_bluetooth_profiles:tests", "//third_party/pigweed/src/pw_bluetooth_proxy:tests", "//third_party/pigweed/src/pw_bluetooth_sapphire:tests", "//third_party/pigweed/src/pw_boot:tests", "//third_party/pigweed/src/pw_boot_cortex_m:tests", "//third_party/pigweed/src/pw_build:tests", "//third_party/pigweed/src/pw_build_android:tests", "//third_party/pigweed/src/pw_build_info:tests", "//third_party/pigweed/src/pw_build_mcuxpresso:tests", "//third_party/pigweed/src/pw_bytes:tests", "//third_party/pigweed/src/pw_change:tests", "//third_party/pigweed/src/pw_channel:tests", "//third_party/pigweed/src/pw_checksum:tests", "//third_party/pigweed/src/pw_chre:tests", "//third_party/pigweed/src/pw_chrono:tests", "//third_party/pigweed/src/pw_chrono_embos:tests", "//third_party/pigweed/src/pw_chrono_freertos:tests", "//third_party/pigweed/src/pw_chrono_rp2040:tests", "//third_party/pigweed/src/pw_chrono_stl:tests", "//third_party/pigweed/src/pw_chrono_threadx:tests", "//third_party/pigweed/src/pw_chrono_zephyr:tests", "//third_party/pigweed/src/pw_cli:tests", "//third_party/pigweed/src/pw_cli_analytics:tests", "//third_party/pigweed/src/pw_clock_tree:tests", "//third_party/pigweed/src/pw_clock_tree_mcuxpresso:tests", "//third_party/pigweed/src/pw_compilation_testing:tests", "//third_party/pigweed/src/pw_config_loader:tests", "//third_party/pigweed/src/pw_console:tests", "//third_party/pigweed/src/pw_containers:tests", "//third_party/pigweed/src/pw_cpu_exception:tests", "//third_party/pigweed/src/pw_cpu_exception_cortex_m:tests", "//third_party/pigweed/src/pw_cpu_exception_risc_v:tests", "//third_party/pigweed/src/pw_crypto:tests", "//third_party/pigweed/src/pw_digital_io:tests", "//third_party/pigweed/src/pw_digital_io_linux:tests", "//third_party/pigweed/src/pw_digital_io_mcuxpresso:tests", "//third_party/pigweed/src/pw_digital_io_rp2040:tests", "//third_party/pigweed/src/pw_digital_io_zephyr:tests", "//third_party/pigweed/src/pw_display:tests", "//third_party/pigweed/src/pw_dma_mcuxpresso:tests", "//third_party/pigweed/src/pw_docgen:tests", "//third_party/pigweed/src/pw_doctor:tests", "//third_party/pigweed/src/pw_elf:tests", "//third_party/pigweed/src/pw_emu:tests", "//third_party/pigweed/src/pw_env_setup:tests", "//third_party/pigweed/src/pw_env_setup_zephyr:tests", "//third_party/pigweed/src/pw_file:tests", "//third_party/pigweed/src/pw_flatbuffers:tests", "//third_party/pigweed/src/pw_format:tests", "//third_party/pigweed/src/pw_function:tests", "//third_party/pigweed/src/pw_fuzzer:tests", "//third_party/pigweed/src/pw_grpc:tests", "//third_party/pigweed/src/pw_hdlc:tests", "//third_party/pigweed/src/pw_hex_dump:tests", "//third_party/pigweed/src/pw_i2c:tests", "//third_party/pigweed/src/pw_i2c_linux:tests", "//third_party/pigweed/src/pw_i2c_mcuxpresso:tests", "//third_party/pigweed/src/pw_i2c_rp2040:tests", "//third_party/pigweed/src/pw_i2c_zephyr:tests", "//third_party/pigweed/src/pw_ide:tests", "//third_party/pigweed/src/pw_interrupt:tests", "//third_party/pigweed/src/pw_interrupt_cortex_m:tests", "//third_party/pigweed/src/pw_interrupt_freertos:tests", "//third_party/pigweed/src/pw_interrupt_zephyr:tests", "//third_party/pigweed/src/pw_intrusive_ptr:tests", "//third_party/pigweed/src/pw_json:tests", "//third_party/pigweed/src/pw_kernel:tests", "//third_party/pigweed/src/pw_kvs:tests", "//third_party/pigweed/src/pw_libc:tests", "//third_party/pigweed/src/pw_libcxx:tests", "//third_party/pigweed/src/pw_log:tests", "//third_party/pigweed/src/pw_log_android:tests", "//third_party/pigweed/src/pw_log_basic:tests", "//third_party/pigweed/src/pw_log_fuchsia:tests", "//third_party/pigweed/src/pw_log_null:tests", "//third_party/pigweed/src/pw_log_rpc:tests", "//third_party/pigweed/src/pw_log_string:tests", "//third_party/pigweed/src/pw_log_tokenized:tests", "//third_party/pigweed/src/pw_log_zephyr:tests", "//third_party/pigweed/src/pw_malloc:tests", "//third_party/pigweed/src/pw_malloc_freelist:tests", "//third_party/pigweed/src/pw_malloc_freertos:tests", "//third_party/pigweed/src/pw_memory:tests", "//third_party/pigweed/src/pw_metric:tests", "//third_party/pigweed/src/pw_module:tests", "//third_party/pigweed/src/pw_multibuf:tests", "//third_party/pigweed/src/pw_multisink:tests", "//third_party/pigweed/src/pw_numeric:tests", "//third_party/pigweed/src/pw_package:tests", "//third_party/pigweed/src/pw_perf_test:tests", "//third_party/pigweed/src/pw_persistent_ram:tests", "//third_party/pigweed/src/pw_polyfill:tests", "//third_party/pigweed/src/pw_preprocessor:tests", "//third_party/pigweed/src/pw_presubmit:tests", "//third_party/pigweed/src/pw_protobuf:tests", "//third_party/pigweed/src/pw_protobuf_compiler:tests", "//third_party/pigweed/src/pw_random:tests", "//third_party/pigweed/src/pw_random_fuchsia:tests", "//third_party/pigweed/src/pw_result:tests", "//third_party/pigweed/src/pw_ring_buffer:tests", "//third_party/pigweed/src/pw_router:tests", "//third_party/pigweed/src/pw_rpc:tests", "//third_party/pigweed/src/pw_rpc_transport:tests", "//third_party/pigweed/src/pw_rust:tests", "//third_party/pigweed/src/pw_sensor:tests", "//third_party/pigweed/src/pw_snapshot:tests", "//third_party/pigweed/src/pw_software_update:tests", "//third_party/pigweed/src/pw_span:tests", "//third_party/pigweed/src/pw_spi:tests", "//third_party/pigweed/src/pw_spi_linux:tests", "//third_party/pigweed/src/pw_spi_mcuxpresso:tests", "//third_party/pigweed/src/pw_spi_rp2040:tests", "//third_party/pigweed/src/pw_spi_zephyr:tests", "//third_party/pigweed/src/pw_status:tests", "//third_party/pigweed/src/pw_stm32cube_build:tests", "//third_party/pigweed/src/pw_stream:tests", "//third_party/pigweed/src/pw_stream_uart_linux:tests", "//third_party/pigweed/src/pw_stream_uart_mcuxpresso:tests", "//third_party/pigweed/src/pw_string:tests", "//third_party/pigweed/src/pw_symbolizer:tests", "//third_party/pigweed/src/pw_sync:tests", "//third_party/pigweed/src/pw_sync_baremetal:tests", "//third_party/pigweed/src/pw_sync_embos:tests", "//third_party/pigweed/src/pw_sync_freertos:tests", "//third_party/pigweed/src/pw_sync_stl:tests", "//third_party/pigweed/src/pw_sync_threadx:tests", "//third_party/pigweed/src/pw_sync_zephyr:tests", "//third_party/pigweed/src/pw_sys_io:tests", "//third_party/pigweed/src/pw_sys_io_ambiq_sdk:tests", "//third_party/pigweed/src/pw_sys_io_arduino:tests", "//third_party/pigweed/src/pw_sys_io_baremetal_lm3s6965evb:tests", "//third_party/pigweed/src/pw_sys_io_baremetal_stm32f429:tests", "//third_party/pigweed/src/pw_sys_io_emcraft_sf2:tests", "//third_party/pigweed/src/pw_sys_io_mcuxpresso:tests", "//third_party/pigweed/src/pw_sys_io_rp2040:tests", "//third_party/pigweed/src/pw_sys_io_stdio:tests", "//third_party/pigweed/src/pw_sys_io_stm32cube:tests", "//third_party/pigweed/src/pw_sys_io_zephyr:tests", "//third_party/pigweed/src/pw_system:tests", "//third_party/pigweed/src/pw_target_runner:tests", "//third_party/pigweed/src/pw_thread:tests", "//third_party/pigweed/src/pw_thread_embos:tests", "//third_party/pigweed/src/pw_thread_freertos:tests", "//third_party/pigweed/src/pw_thread_stl:tests", "//third_party/pigweed/src/pw_thread_threadx:tests", "//third_party/pigweed/src/pw_thread_zephyr:tests", "//third_party/pigweed/src/pw_tls_client:tests", "//third_party/pigweed/src/pw_tls_client_boringssl:tests", "//third_party/pigweed/src/pw_tls_client_mbedtls:tests", "//third_party/pigweed/src/pw_tokenizer:tests", "//third_party/pigweed/src/pw_toolchain:tests", "//third_party/pigweed/src/pw_trace:tests", "//third_party/pigweed/src/pw_trace_tokenized:tests", "//third_party/pigweed/src/pw_transfer:tests", "//third_party/pigweed/src/pw_uart:tests", "//third_party/pigweed/src/pw_uart_mcuxpresso:tests", "//third_party/pigweed/src/pw_unit_test:tests", "//third_party/pigweed/src/pw_uuid:tests", "//third_party/pigweed/src/pw_varint:tests", "//third_party/pigweed/src/pw_watch:tests", "//third_party/pigweed/src/pw_web:tests", "//third_party/pigweed/src/pw_work_queue:tests"]

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:425

pw_modules

包含所有 Pigweed 模块路径的列表。请勿设置此 build 实参!

当前值(来自默认值)["//third_party/pigweed/src/docker", "//third_party/pigweed/src/pw_alignment", "//third_party/pigweed/src/pw_allocator", "//third_party/pigweed/src/pw_analog", "//third_party/pigweed/src/pw_android_toolchain", "//third_party/pigweed/src/pw_arduino_build", "//third_party/pigweed/src/pw_assert", "//third_party/pigweed/src/pw_assert_basic", "//third_party/pigweed/src/pw_assert_fuchsia", "//third_party/pigweed/src/pw_assert_log", "//third_party/pigweed/src/pw_assert_tokenized", "//third_party/pigweed/src/pw_assert_trap", "//third_party/pigweed/src/pw_assert_zephyr", "//third_party/pigweed/src/pw_async", "//third_party/pigweed/src/pw_async2", "//third_party/pigweed/src/pw_async_basic", "//third_party/pigweed/src/pw_async_fuchsia", "//third_party/pigweed/src/pw_atomic", "//third_party/pigweed/src/pw_base64", "//third_party/pigweed/src/pw_bloat", "//third_party/pigweed/src/pw_blob_store", "//third_party/pigweed/src/pw_bluetooth", "//third_party/pigweed/src/pw_bluetooth_hci", "//third_party/pigweed/src/pw_bluetooth_profiles", "//third_party/pigweed/src/pw_bluetooth_proxy", "//third_party/pigweed/src/pw_bluetooth_sapphire", "//third_party/pigweed/src/pw_boot", "//third_party/pigweed/src/pw_boot_cortex_m", "//third_party/pigweed/src/pw_build", "//third_party/pigweed/src/pw_build_android", "//third_party/pigweed/src/pw_build_info", "//third_party/pigweed/src/pw_build_mcuxpresso", "//third_party/pigweed/src/pw_bytes", "//third_party/pigweed/src/pw_change", "//third_party/pigweed/src/pw_channel", "//third_party/pigweed/src/pw_checksum", "//third_party/pigweed/src/pw_chre", "//third_party/pigweed/src/pw_chrono", "//third_party/pigweed/src/pw_chrono_embos", "//third_party/pigweed/src/pw_chrono_freertos", "//third_party/pigweed/src/pw_chrono_rp2040", "//third_party/pigweed/src/pw_chrono_stl", "//third_party/pigweed/src/pw_chrono_threadx", "//third_party/pigweed/src/pw_chrono_zephyr", "//third_party/pigweed/src/pw_cli", "//third_party/pigweed/src/pw_cli_analytics", "//third_party/pigweed/src/pw_clock_tree", "//third_party/pigweed/src/pw_clock_tree_mcuxpresso", "//third_party/pigweed/src/pw_compilation_testing", "//third_party/pigweed/src/pw_config_loader", "//third_party/pigweed/src/pw_console", "//third_party/pigweed/src/pw_containers", "//third_party/pigweed/src/pw_cpu_exception", "//third_party/pigweed/src/pw_cpu_exception_cortex_m", "//third_party/pigweed/src/pw_cpu_exception_risc_v", "//third_party/pigweed/src/pw_crypto", "//third_party/pigweed/src/pw_digital_io", "//third_party/pigweed/src/pw_digital_io_linux", "//third_party/pigweed/src/pw_digital_io_mcuxpresso", "//third_party/pigweed/src/pw_digital_io_rp2040", "//third_party/pigweed/src/pw_digital_io_zephyr", "//third_party/pigweed/src/pw_display", "//third_party/pigweed/src/pw_dma_mcuxpresso", "//third_party/pigweed/src/pw_docgen", "//third_party/pigweed/src/pw_doctor", "//third_party/pigweed/src/pw_elf", "//third_party/pigweed/src/pw_emu", "//third_party/pigweed/src/pw_env_setup", "//third_party/pigweed/src/pw_env_setup_zephyr", "//third_party/pigweed/src/pw_file", "//third_party/pigweed/src/pw_flatbuffers", "//third_party/pigweed/src/pw_format", "//third_party/pigweed/src/pw_function", "//third_party/pigweed/src/pw_fuzzer", "//third_party/pigweed/src/pw_grpc", "//third_party/pigweed/src/pw_hdlc", "//third_party/pigweed/src/pw_hex_dump", "//third_party/pigweed/src/pw_i2c", "//third_party/pigweed/src/pw_i2c_linux", "//third_party/pigweed/src/pw_i2c_mcuxpresso", "//third_party/pigweed/src/pw_i2c_rp2040", "//third_party/pigweed/src/pw_i2c_zephyr", "//third_party/pigweed/src/pw_ide", "//third_party/pigweed/src/pw_interrupt", "//third_party/pigweed/src/pw_interrupt_cortex_m", "//third_party/pigweed/src/pw_interrupt_freertos", "//third_party/pigweed/src/pw_interrupt_zephyr", "//third_party/pigweed/src/pw_intrusive_ptr", "//third_party/pigweed/src/pw_json", "//third_party/pigweed/src/pw_kernel", "//third_party/pigweed/src/pw_kvs", "//third_party/pigweed/src/pw_libc", "//third_party/pigweed/src/pw_libcxx", "//third_party/pigweed/src/pw_log", "//third_party/pigweed/src/pw_log_android", "//third_party/pigweed/src/pw_log_basic", "//third_party/pigweed/src/pw_log_fuchsia", "//third_party/pigweed/src/pw_log_null", "//third_party/pigweed/src/pw_log_rpc", "//third_party/pigweed/src/pw_log_string", "//third_party/pigweed/src/pw_log_tokenized", "//third_party/pigweed/src/pw_log_zephyr", "//third_party/pigweed/src/pw_malloc", "//third_party/pigweed/src/pw_malloc_freelist", "//third_party/pigweed/src/pw_malloc_freertos", "//third_party/pigweed/src/pw_memory", "//third_party/pigweed/src/pw_metric", "//third_party/pigweed/src/pw_module", "//third_party/pigweed/src/pw_multibuf", "//third_party/pigweed/src/pw_multisink", "//third_party/pigweed/src/pw_numeric", "//third_party/pigweed/src/pw_package", "//third_party/pigweed/src/pw_perf_test", "//third_party/pigweed/src/pw_persistent_ram", "//third_party/pigweed/src/pw_polyfill", "//third_party/pigweed/src/pw_preprocessor", "//third_party/pigweed/src/pw_presubmit", "//third_party/pigweed/src/pw_protobuf", "//third_party/pigweed/src/pw_protobuf_compiler", "//third_party/pigweed/src/pw_random", "//third_party/pigweed/src/pw_random_fuchsia", "//third_party/pigweed/src/pw_result", "//third_party/pigweed/src/pw_ring_buffer", "//third_party/pigweed/src/pw_router", "//third_party/pigweed/src/pw_rpc", "//third_party/pigweed/src/pw_rpc_transport", "//third_party/pigweed/src/pw_rust", "//third_party/pigweed/src/pw_sensor", "//third_party/pigweed/src/pw_snapshot", "//third_party/pigweed/src/pw_software_update", "//third_party/pigweed/src/pw_span", "//third_party/pigweed/src/pw_spi", "//third_party/pigweed/src/pw_spi_linux", "//third_party/pigweed/src/pw_spi_mcuxpresso", "//third_party/pigweed/src/pw_spi_rp2040", "//third_party/pigweed/src/pw_spi_zephyr", "//third_party/pigweed/src/pw_status", "//third_party/pigweed/src/pw_stm32cube_build", "//third_party/pigweed/src/pw_stream", "//third_party/pigweed/src/pw_stream_uart_linux", "//third_party/pigweed/src/pw_stream_uart_mcuxpresso", "//third_party/pigweed/src/pw_string", "//third_party/pigweed/src/pw_symbolizer", "//third_party/pigweed/src/pw_sync", "//third_party/pigweed/src/pw_sync_baremetal", "//third_party/pigweed/src/pw_sync_embos", "//third_party/pigweed/src/pw_sync_freertos", "//third_party/pigweed/src/pw_sync_stl", "//third_party/pigweed/src/pw_sync_threadx", "//third_party/pigweed/src/pw_sync_zephyr", "//third_party/pigweed/src/pw_sys_io", "//third_party/pigweed/src/pw_sys_io_ambiq_sdk", "//third_party/pigweed/src/pw_sys_io_arduino", "//third_party/pigweed/src/pw_sys_io_baremetal_lm3s6965evb", "//third_party/pigweed/src/pw_sys_io_baremetal_stm32f429", "//third_party/pigweed/src/pw_sys_io_emcraft_sf2", "//third_party/pigweed/src/pw_sys_io_mcuxpresso", "//third_party/pigweed/src/pw_sys_io_rp2040", "//third_party/pigweed/src/pw_sys_io_stdio", "//third_party/pigweed/src/pw_sys_io_stm32cube", "//third_party/pigweed/src/pw_sys_io_zephyr", "//third_party/pigweed/src/pw_system", "//third_party/pigweed/src/pw_target_runner", "//third_party/pigweed/src/pw_thread", "//third_party/pigweed/src/pw_thread_embos", "//third_party/pigweed/src/pw_thread_freertos", "//third_party/pigweed/src/pw_thread_stl", "//third_party/pigweed/src/pw_thread_threadx", "//third_party/pigweed/src/pw_thread_zephyr", "//third_party/pigweed/src/pw_tls_client", "//third_party/pigweed/src/pw_tls_client_boringssl", "//third_party/pigweed/src/pw_tls_client_mbedtls", "//third_party/pigweed/src/pw_tokenizer", "//third_party/pigweed/src/pw_toolchain", "//third_party/pigweed/src/pw_trace", "//third_party/pigweed/src/pw_trace_tokenized", "//third_party/pigweed/src/pw_transfer", "//third_party/pigweed/src/pw_uart", "//third_party/pigweed/src/pw_uart_mcuxpresso", "//third_party/pigweed/src/pw_unit_test", "//third_party/pigweed/src/pw_uuid", "//third_party/pigweed/src/pw_varint", "//third_party/pigweed/src/pw_watch", "//third_party/pigweed/src/pw_web", "//third_party/pigweed/src/pw_work_queue"]

来自 //third_party/pigweed/src/pw_build/generated_pigweed_modules_lists.gni:236

pw_preprocessor_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_preprocessor/BUILD.gn:25

pw_protobuf_compiler_GENERATE_LEGACY_ENUM_SNAKE_CASE_NAMES

pwpb 之前以 SNAKE_CASE 而不是 kConstantCase 生成字段枚举名称。设置此变量可暂时启用旧版 SNAKE_CASE 支持,同时将代码库迁移到 kConstantCase。 b/266298474

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_protobuf_compiler/toolchain.gni:28

pw_protobuf_compiler_GENERATE_PROTOS_ARGS

generate_protos.py 的实参

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_protobuf_compiler/toolchain.gni:43

pw_protobuf_compiler_GENERATE_PYTHON_TYPE_HINTS

为 Python 类型提示生成 .pyi 文件。这要求 'protoc-gen-mypy' 在 PATH 中可用。

target_cpu = "arm64" 的当前值false

来自 //.gn:132

已覆盖默认值true

来自 //third_party/pigweed/src/pw_protobuf_compiler/toolchain.gni:40

target_cpu = "riscv64" 的当前值false

来自 //.gn:132

从默认值替换true

来自 //third_party/pigweed/src/pw_protobuf_compiler/toolchain.gni:40

target_cpu = "x64" 的当前值false

来自 //.gn:132

已覆盖默认值true

来自 //third_party/pigweed/src/pw_protobuf_compiler/toolchain.gni:40

pw_protobuf_compiler_NO_GENERIC_OPTIONS_FILES

如果为 true,则需要使用 .pwpb_options 扩展名来表示 pw_protobuf 选项文件。如果为 false,则还允许使用通用 .options

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_protobuf_compiler/toolchain.gni:32

pw_protobuf_compiler_NO_ONEOF_CALLBACKS

如果为 true,则禁止为 oneof 字段使用回调接口,并保留旧版“oneof 作为结构体成员”接口。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_protobuf_compiler/toolchain.gni:36

pw_protobuf_compiler_PROTOC_BINARY

如需替换所用的 protobuf 编译器,请将此属性设置为相对于 root_build_dir 的 protoc 二进制文件路径。

target_cpu = "arm64" 的当前值"host_x64/protoc"

来自 //.gn:122

已覆盖默认值""

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:59

target_cpu = "riscv64" 的当前值"host_x64/protoc"

来自 //.gn:122

已覆盖默认值""

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:59

target_cpu = "x64" 的当前值"host_x64/protoc"

来自 //.gn:122

已覆盖默认值""

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:59

pw_protobuf_compiler_PROTOC_PYTHON_DEPS

运行 protoc 时要包含的可选 Python 软件包依赖项。

target_cpu = "arm64" 的当前值["//third_party/pigweed/backends/pw_protobuf_compiler:protoc_python_package"]

来自 //.gn:126

已覆盖默认值[]

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:42

target_cpu = "riscv64" 的当前值["//third_party/pigweed/backends/pw_protobuf_compiler:protoc_python_package"]

来自 //.gn:126

已覆盖默认值[]

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:42

target_cpu = "x64" 的当前值["//third_party/pigweed/backends/pw_protobuf_compiler:protoc_python_package"]

来自 //.gn:126

已覆盖默认值[]

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:42

pw_protobuf_compiler_PROTOC_TARGET

如需替换所用的 protobuf 编译器,请将此变量设置为构建 protobuf 编译器的 GN 目标。

target_cpu = "arm64" 的当前值"//third_party/protobuf:protoc"

来自 //.gn:121

已覆盖默认值""

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:39

target_cpu = "riscv64" 的当前值"//third_party/protobuf:protoc"

来自 //.gn:121

已覆盖默认值""

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:39

target_cpu = "x64" 的当前值"//third_party/protobuf:protoc"

来自 //.gn:121

已覆盖默认值""

来自 //third_party/pigweed/src/pw_protobuf_compiler/proto.gni:39

pw_protobuf_compiler_TOOLCHAIN

当前值(来自默认值)"//third_party/pigweed/src/pw_protobuf_compiler/toolchain:protocol_buffer"

来自 //third_party/pigweed/src/pw_protobuf_compiler/toolchain.gni:22

pw_rbe_arm_gcc_config

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_toolchain/rbe.gni:30

pw_rbe_clang_config

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_toolchain/rbe.gni:29

pw_rust_ENABLE_EXPERIMENTAL_BUILD

支持编译 Pigweed 的 Rust 库。

警告:此功能尚处于实验阶段,保证一定可以使用。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_rust/rust.gni:19

pw_rust_USE_STD

当前值(来自默认值)true

来自 //third_party/pigweed/src/pw_rust/rust.gni:21

pw_span_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

大多数模块都依赖于 pw_build_DEFAULT_MODULE_CONFIG 作为默认配置,但由于此模块的配置选项需要与 build 系统进行交互,因此默认使用内部配置来正确支持 pw_span_ENABLE_ASSERTS。

当前值(来自默认值)"//third_party/pigweed/src/pw_span:span_asserts"

来自 //third_party/pigweed/src/pw_span/BUILD.gn:37

pw_span_ENABLE_ASSERTS

是否在 pw::span 中启用边界检查断言。启用此功能可能会显著增加二进制文件大小,并且如果您的 pw_assert 后端的头文件直接或间接依赖于 pw_span,则可能会引入依赖项循环。建议尽可能为调试 build 启用此功能。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_span/BUILD.gn:27

pw_status_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_status/BUILD.gn:25

pw_string_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/pw_string/BUILD.gn:26

pw_sync_BINARY_SEMAPHORE_BACKEND

pw_sync 模块的二进制信号量的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_sync_stl:binary_semaphore_backend"

来自 //.gn:83

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:17

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_sync_stl:binary_semaphore_backend"

来自 //.gn:83

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:17

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_sync_stl:binary_semaphore_backend"

来自 //.gn:83

从默认值替换""

来自 //third_party/pigweed/src/pw_sync/backend.gni:17

pw_sync_CONDITION_VARIABLE_BACKEND

pw_sync 模块的条件变量的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_sync/backend.gni:20

pw_sync_COUNTING_SEMAPHORE_BACKEND

pw_sync 模块的计数信号灯的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_sync/backend.gni:23

pw_sync_INTERRUPT_SPIN_LOCK_BACKEND

pw_sync 模块的中断自旋锁的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_sync/backend.gni:35

pw_sync_MUTEX_BACKEND

pw_sync 模块的互斥锁的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_sync_stl:mutex_backend"

来自 //.gn:74

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:26

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_sync_stl:mutex_backend"

来自 //.gn:74

从默认值替换""

来自 //third_party/pigweed/src/pw_sync/backend.gni:26

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_sync_stl:mutex_backend"

来自 //.gn:74

从默认值替换""

来自 //third_party/pigweed/src/pw_sync/backend.gni:26

pw_sync_OVERRIDE_SYSTEM_CLOCK_BACKEND_CHECK

在确保为 pw_chrono_SYSTEM_CLOCK_BACKEND 选择兼容的后端时,是否应禁止显示 GN 断言。设置为 true 可停用断言。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_sync/backend.gni:46

pw_sync_RECURSIVE_MUTEX_BACKEND

pw_sync 模块的递归互斥锁的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_sync/backend.gni:32

pw_sync_THREAD_NOTIFICATION_BACKEND

pw_sync 模块的线程通知的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_sync:binary_semaphore_thread_notification_backend"

来自 //.gn:78

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:38

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_sync:binary_semaphore_thread_notification_backend"

来自 //.gn:78

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:38

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_sync:binary_semaphore_thread_notification_backend"

来自 //.gn:78

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:38

pw_sync_TIMED_MUTEX_BACKEND

pw_sync 模块的定时互斥锁的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_sync/backend.gni:29

pw_sync_TIMED_THREAD_NOTIFICATION_BACKEND

pw_sync 模块的定时线程通知的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_sync:binary_semaphore_timed_thread_notification_backend"

来自 //.gn:79

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:41

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_sync:binary_semaphore_timed_thread_notification_backend"

来自 //.gn:79

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:41

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_sync:binary_semaphore_timed_thread_notification_backend"

来自 //.gn:79

已覆盖默认值""

来自 //third_party/pigweed/src/pw_sync/backend.gni:41

pw_third_party_boringssl_ALIAS

创建一个别名现有目标的“$pw_external_boringssl”目标。如果下游项目使用自己的 boringssl 目标,并且无法更改为仅使用 Pigweed 的 boringssl,则可以使用此功能来解决菱形依赖项冲突。

target_cpu = "arm64" 的当前值"//third_party/boringssl"

来自 //.gn:99

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/boringssl/boringssl.gni:25

target_cpu = "riscv64" 的当前值"//third_party/boringssl"

来自 //.gn:99

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/boringssl/boringssl.gni:25

target_cpu = "x64" 的当前值"//third_party/boringssl"

来自 //.gn:99

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/boringssl/boringssl.gni:25

pw_third_party_emboss_CONFIG

当前值(来自默认值)"//third_party/pigweed/src/third_party/emboss:default_overrides"

来自 //third_party/pigweed/src/third_party/emboss/emboss.gni:24

pw_third_party_emboss_USE_GEN_SOURCES

使用 Emboss 项目提供的预生成来源列表。此标志旨在临时使用,直到下游用户有足够的时间将 Emboss 更新到较新版本为止。 TODO(b/449017056):在下游用户迁移后移除此标志。

target_cpu = "arm64" 的当前值"true"

来自 //.gn:103

已覆盖默认值"false"

来自 //third_party/pigweed/src/third_party/emboss/emboss.gni:30

target_cpu = "riscv64" 的当前值"true"

来自 //.gn:103

已覆盖默认值"false"

来自 //third_party/pigweed/src/third_party/emboss/emboss.gni:30

target_cpu = "x64" 的当前值"true"

来自 //.gn:103

已覆盖默认值"false"

来自 //third_party/pigweed/src/third_party/emboss/emboss.gni:30

pw_third_party_googletest_ALIAS

如果使用自定义 googletest 目标进行编译,请将此变量设置为指向其标签。与 dir_pw_third_party_googletest 定义不兼容。

target_cpu = "arm64" 的当前值"//third_party/googletest:gmock_no_testonly"

来自 //.gn:148

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/googletest/googletest.gni:24

target_cpu = "riscv64" 的当前值"//third_party/googletest:gmock_no_testonly"

来自 //.gn:148

从默认值替换""

来自 //third_party/pigweed/src/third_party/googletest/googletest.gni:24

target_cpu = "x64" 的当前值"//third_party/googletest:gmock_no_testonly"

来自 //.gn:148

已覆盖默认值""

来自 //third_party/pigweed/src/third_party/googletest/googletest.gni:24

pw_third_party_mbedtls_CONFIG_HEADER

当前值(来自默认值)"//third_party/pigweed/src/third_party/mbedtls/configs/config_pigweed.h"

来自 //third_party/pigweed/src/third_party/mbedtls/mbedtls.gni:33

pw_third_party_nanopb_AGGRESSIVE_NANOPB_PB2_REGEN

已弃用,不执行任何操作。

当前值(来自默认值)true

来自 //third_party/pigweed/src/third_party/nanopb/nanopb.gni:30

pw_third_party_nanopb_CONFIG

用于替换相应模块的默认配置选项的 build 目标。这应指向通过公共配置(可能包含文件或直接添加定义)提供定义的源代码集。

当前值(来自默认值)"//third_party/pigweed/src/pw_build:empty"

来自 //third_party/pigweed/src/third_party/nanopb/nanopb.gni:27

pw_thread_ID_BACKEND

pw_thread 模块的 pw::Thread::id 的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_thread/backend.gni:19

pw_thread_OVERRIDE_SYSTEM_CLOCK_BACKEND_CHECK

在确保为 pw_chrono_SYSTEM_CLOCK_BACKEND 选择兼容的后端时,是否应禁止显示 GN 断言。设置为 true 可停用断言。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_thread/backend.gni:42

pw_thread_SLEEP_BACKEND

pwthread 模块的 pw::thread::sleep{for,until} 的后端。

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_thread_stl:sleep"

来自 //.gn:76

已覆盖默认值""

来自 //third_party/pigweed/src/pw_thread/backend.gni:22

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_thread_stl:sleep"

来自 //.gn:76

已覆盖默认值""

来自 //third_party/pigweed/src/pw_thread/backend.gni:22

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_thread_stl:sleep"

来自 //.gn:76

已覆盖默认值""

来自 //third_party/pigweed/src/pw_thread/backend.gni:22

pw_thread_TEST_THREAD_CONTEXT_BACKEND

pw_thread 模块的 pw::thread::test_thread_context 的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_thread/backend.gni:37

pw_thread_THREAD_BACKEND

pw_thread 模块的 pw::Thread 用于创建线程的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_thread/backend.gni:25

pw_thread_THREAD_CREATION_BACKEND

当前值(来自默认值)"//third_party/pigweed/src/pw_thread:generic_thread_creation_unsupported"

来自 //third_party/pigweed/src/pw_thread/backend.gni:31

pw_thread_THREAD_ITERATION_BACKEND

pw_thread 模块的 pw::thread::thread_iteration 的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_thread/backend.gni:45

pw_thread_YIELD_BACKEND

pw_thread 模块的 pw::thread::yield 的后端。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_thread/backend.gni:34

pw_toolchain_CLANG_PREFIX

此标志可让您指定一个前缀,用于 clang、clang++ 和 llvm-ar 二进制文件,以便在使用基于 clang 的工具链进行编译时使用。这对于通过使用外部提供的工具链进行构建来调试与工具链相关的问题非常有用。

Pigweed 工具链不应替换此变量,以便项目或用户可以通过 .gn 或将其设置为常规 GN 实参(例如 gn gen --args='pw_toolchain_CLANG_PREFIX=/path/to/my-llvm-')来控制它。

示例: pw_toolchain_CLANG_PREFIX = "" 命令:“clang”(来自 PATH)

pw_toolchain_CLANG_PREFIX = "my-" 命令:"my-clang"(来自 PATH)

pw_toolchain_CLANG_PREFIX = "/bin/my-" 命令:“/bin/my-clang”(绝对路径)

pw_toolchain_CLANG_PREFIX = "//environment/clang_next/" command: "../environment/clang_next/clang"(相对路径)

GN 模板应使用 pw_toolchain_clang_tools.* 获取预期命令字符串,而不是直接依赖于 pw_toolchain_CLANG_PREFIX。

如果前缀以“//”开头,则会重新定位为相对于根 build 目录。

当前值(来自默认值)"//prebuilt/third_party/bin/"

来自 //third_party/pigweed/src/pw_toolchain/clang_tools.gni:58

pw_toolchain_COVERAGE_ENABLED

表示此工具链是否支持从 pw_test 目标生成覆盖率报告。

例如,运行 clang-tidy 而不是测试二进制文件本身的静态分析工具链无法生成覆盖率报告。

这通常由各个工具链设置,而不是由 GN 实参设置。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_toolchain/host_clang/toolchains.gni:32

pw_toolchain_FUZZING_ENABLED

指示此工具链是否支持构建模糊测试程序。这通常由各个工具链设置,而不是由 GN 实参设置。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_toolchain/host_clang/toolchains.gni:39

pw_toolchain_OSS_FUZZ_ENABLED

指示相应 build 是否属于 OSS-Fuzz,如果是,则需要能够提供自己的编译器和标志。这违反了 build hermeticisim,仅应用于 OSS-Fuzz。

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_toolchain/host_clang/toolchains.gni:44

pw_toolchain_PROFILE_SOURCE_FILES

要选择性收集覆盖率的源文件列表。

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_toolchain/host_clang/toolchains.gni:35

pw_toolchain_RBE_DEBUG

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_toolchain/rbe.gni:26

pw_toolchain_RUST_PREFIX

此标志可让您指定 rustc 的前缀。

此变量遵循与 pw_toolchain_CLANG_PREFIX 相同的规则,如需了解详情,请参阅上文。

如果前缀以“//”开头,则会重新定位为相对于根 build 目录。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_toolchain/clang_tools.gni:67

pw_toolchain_SANITIZERS

设置要传递给 clang 的 Sanitizer。有效值为“address”“memory”“thread”“undefined”“undefined_heuristic”。

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_toolchain/host_clang/toolchains.gni:23

pw_toolchain_SCOPE

用于定义当前工具链的范围。包含 generate_toolchain 模板所需的所有实参。不应手动修改此值。

当前值(来自默认值){ }

来自 //third_party/pigweed/src/pw_toolchain/toolchain_args.gni:18

pw_toolchain_STATIC_ANALYSIS_SKIP_INCLUDE_PATHS

针对特定 include 路径停用 clang-tidy。在 clang-tidy 命令中,以这些结尾或作为正则表达式匹配的包含路径会从 -I 切换到 -isystem,这会导致 clang-tidy 忽略它们。遗憾的是,clang-tidy 没有提供其他过滤头文件的方法。

例如,以下命令会忽略“repo/include”中的头文件:

pw_toolchain_STATIC_ANALYSIS_SKIP_INCLUDE_PATHS = ["repo/include"]

而以下命令会忽略所有第三方头文件:

pw_toolchain_STATIC_ANALYSIS_SKIP_INCLUDE_PATHS = ["./third_party/."]

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_toolchain/static_analysis_toolchain.gni:48

pw_toolchain_STATIC_ANALYSIS_SKIP_SOURCES_RES

与要从分析中排除的源文件路径匹配的正则表达式。clang-tidy 不提供替代选项。

例如,以下命令会针对 third_party 目录中的所有源文件停用 clang-tidy:

pw_toolchain_STATIC_ANALYSIS_SKIP_SOURCES_RES = ["third_party/.*"]

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_toolchain/static_analysis_toolchain.gni:33

pw_toolchain_USE_RBE

当前值(来自默认值)false

来自 //third_party/pigweed/src/pw_toolchain/rbe.gni:20

pw_unit_test_AUTOMATIC_RUNNER

测试运行器的路径,用于在构建单元测试后自动运行这些测试。

如果设置了此参数,pw_test 目标的 <target_name>.run 操作将调用此实参指定的测试运行程序,并传递要运行的单元测试的路径。如果未设置此值,pw_test 目标的 <target_name>.run 步将不执行任何操作。

不支持并行执行测试的目标(例如必须刷写设备并按顺序运行测试的设备端测试运行程序)应将 pw_unit_test_POOL_DEPTH 设置为 1。

类型:字符串(PATH 上的可执行文件的名称或可执行文件的路径) 使用情况:仅由工具链控制

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_unit_test/test.gni:53

pw_unit_test_AUTOMATIC_RUNNER_ARGS

要转发给自动运行器的实参的可选列表。

类型:字符串列表(要传递给 pw_unit_test_AUTOMATIC_RUNNER 的实参) 使用场景:仅由工具链控制

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_unit_test/test.gni:59

pw_unit_test_AUTOMATIC_RUNNER_TIMEOUT

通过自动运行程序运行测试时要应用的可选超时时间。 超时时间以秒为单位。默认值为空,表示没有超时。

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_unit_test/test.gni:63

pw_unit_test_BACKEND

单元测试框架实现。默认值为 pw_unit_test:light,它实现了可在设备上安全运行的 GoogleTest 子集。使用 GoogleTest 时,设置为 //pw_unit_test:googletest。

类型:字符串(GN 源代码集路径) 使用情况:仅由工具链控制

target_cpu = "arm64" 的当前值"//third_party/pigweed/src/pw_unit_test:googletest"

来自 //.gn:143

已覆盖默认值"//third_party/pigweed/src/pw_unit_test:light"

来自 //third_party/pigweed/src/pw_unit_test/test.gni:31

target_cpu = "riscv64" 的当前值"//third_party/pigweed/src/pw_unit_test:googletest"

来自 //.gn:143

已覆盖默认值"//third_party/pigweed/src/pw_unit_test:light"

来自 //third_party/pigweed/src/pw_unit_test/test.gni:31

target_cpu = "x64" 的当前值"//third_party/pigweed/src/pw_unit_test:googletest"

来自 //.gn:143

已覆盖默认值"//third_party/pigweed/src/pw_unit_test:light"

来自 //third_party/pigweed/src/pw_unit_test/test.gni:31

pw_unit_test_EXECUTABLE_TARGET_TYPE

用于构建 pw_unit_test 可执行文件的 GN 目标类型名称。

类型:字符串(GN 模板的名称) 使用场景:仅由工具链控制

当前值(来自默认值)"pw_executable"

来自 //third_party/pigweed/src/pw_unit_test/test.gni:92

pw_unit_test_EXECUTABLE_TARGET_TYPE_FILE

定义 pw_unit_test_EXECUTABLE_TARGET_TYPE 的 .gni 文件的路径。

如果 pw_unit_test_EXECUTABLE_TARGET_TYPE 不是默认值 pw_executable,则导入此 .gni 文件以提供模板定义。

类型:字符串(.gni 文件的路径) 使用场景:仅由工具链控制

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_unit_test/test.gni:102

pw_unit_test_MAIN

pw_test 单元测试二进制文件实现主函数。必须设置为 pw_unit_test 后端的相应目标。

类型:字符串(GN 源代码集路径) 使用情况:仅由工具链控制

target_cpu = "arm64" 的当前值"//src/lib/fxl/test:gtest_main"

来自 //.gn:141

已覆盖默认值"//third_party/pigweed/src/pw_unit_test:simple_printing_main"

来自 //third_party/pigweed/src/pw_unit_test/test.gni:38

target_cpu = "riscv64" 的当前值"//src/lib/fxl/test:gtest_main"

来自 //.gn:141

已覆盖默认值"//third_party/pigweed/src/pw_unit_test:simple_printing_main"

来自 //third_party/pigweed/src/pw_unit_test/test.gni:38

target_cpu = "x64" 的当前值"//src/lib/fxl/test:gtest_main"

来自 //.gn:141

从默认值替换"//third_party/pigweed/src/pw_unit_test:simple_printing_main"

来自 //third_party/pigweed/src/pw_unit_test/test.gni:38

pw_unit_test_POOL_DEPTH

当前工具链可同时运行的单元测试数量上限。将此值设为 0 可停用池的使用,从而实现无限并行化。

类型:整数 使用场景:仅由工具链控制

当前值(来自默认值)0

来自 //third_party/pigweed/src/pw_unit_test/test.gni:76

pw_unit_test_POOL_TOOLCHAIN

引用 pw_unit_test 运行程序池时要使用的工具链。如果停用,则使用当前工具链。这意味着每个工具链都将使用自己的池定义。如果两个工具链应共享同一池,则此实参应由其中一个工具链提供,指向另一个工具链的 GN 路径。

类型:字符串(工具链的 GN 路径) 使用场景:仅限工具链控制

当前值(来自默认值)""

来自 //third_party/pigweed/src/pw_unit_test/test.gni:86

pw_unit_test_TESTONLY

如果为 true,则 pw_unit_test 目标、pw_test 目标和 pw_test_group 目标将定义 testonly = true。为了向后兼容,此值默认为 false。

target_cpu = "arm64" 的当前值true

来自 //.gn:144

已覆盖默认值false

来自 //third_party/pigweed/src/pw_unit_test/test.gni:107

target_cpu = "riscv64" 的当前值true

来自 //.gn:144

已覆盖默认值false

来自 //third_party/pigweed/src/pw_unit_test/test.gni:107

target_cpu = "x64" 的当前值true

来自 //.gn:144

已覆盖默认值false

来自 //third_party/pigweed/src/pw_unit_test/test.gni:107

qemu_boot_format

要与 QEMU 搭配使用的启动格式。此选项用于选择与 QEMU 搭配使用的启动格式,以确定将哪个启动垫片实现用作 QEMU“内核”。有效替代方案因机器而异,但包括“linuxboot”。

当前值(来自默认值)"linuxboot"

来自 //zircon/kernel/phys/qemu.gni:165

rbe_extra_reproxy_configs

其他 reproxy 配置文件。 这些 reproxy_config_file 会按显示顺序与主 reproxy_config_file 有效地串联起来。此列表中后面文件的设置优先于前面文件的设置。

当前值(来自默认值)[]

来自 //build/toolchain/rbe.gni:31

rbe_mode

RBE 的总体运行模式。有效值为: * 'off' => RBE 完全停用。此值适合仅使用本地资源进行离线构建。 * 'legacy_default' => 如果未另行指定,则使用标准 RBE 配置。此元素包含已启用/已停用的远程服务的混合。*“remote_full”=> 尽可能远程运行操作,包括缓存未命中,从而减少本地资源的使用。 *“racing”=> 针对某些操作类型,将远程执行与本地执行进行竞速比较。* 'cloudtop' => 针对在 cloudtop 上运行而优化的 RBE 配置。适合用于连接到远程服务和下载远程输出的高带宽连接。* 'workstation' => 针对在大型工作站上运行进行了优化的 RBE 配置。适用于具有大量快速核心和与远程服务的高带宽连接的机器。* 'infra' => 建议用于 CI/CQ bot 的 RBE 配置。 还使用高带宽。 *“remote_cache_only”=> 仅将 RBE 用作远程缓存:如果缓存未命中,则在本地执行,而不是远程执行。 *“low_bandwidth_remote”=> 一种适用于低网络带宽的 RBE 配置。 通过避免下载某些中间结果来节省带宽。 *“nocache”=> 强制所有缓存未命中,并重新远程执行。

当前值(来自默认值)"off"

来自 //build/toolchain/rbe_modes.gni:44

rbe_settings_overrides

RBE 模式的替换设置。这是一组替换值,用于替换由所选 RBE 模式(上文)设置默认值的变量。

当前值(来自默认值){ }

来自 //build/toolchain/rbe_modes.gni:48

recovery_board_configuration_label

可能使用与主产品不同的配置进行恢复。默认情况下,使用同一块电路板。

这是一个单独的 declare_args() 块,因此它可以默认使用为“board_configuration_label”提供的值

当前值(来自默认值)"//boards/arm64"

来自 //build/board.gni:46

recovery_label

允许产品指定在 zircon_r slot 中使用的恢复映像。默认恢复映像为 zedboot。替换此值会将 zedboot 保留在 build 中,但不会将其作为默认 zirconr 映像包含在内。恢复映像可以通过指定格式为 =的元数据项“update_target”来提供更新目标。(例如 update_target = [ "recovery=" + rebase_path(recovery_path, root_build_dir) ])示例值:“//build/images/recovery”

当前值(来自默认值)"//build/images/zedboot"

来自 //build/images/args.gni:101

recovery_only

这实际上是恢复映像的 build,因此正在构建的 Fuchsia 映像未正确配置,因此只需停用新的映像组装工作,直到问题得到解决。

当前值(来自默认值)false

来自 //build/images/args.gni:17

redirect_guest_serial_logs

如果为 true,则将 guest 串行输出重定向到系统日志。

当前值(来自默认值)false

来自 //src/virtualization/bin/args.gni:10

remove_default_configs

target_cpu = "arm64" 的当前值["//third_party/pigweed/src/pw_build:reduced_size"]

来自 //.gn:157

从默认值替换[]

来自 //third_party/pigweed/src/pw_build/gn_internal/defaults.gni:36

target_cpu = "riscv64" 的当前值["//third_party/pigweed/src/pw_build:reduced_size"]

来自 //.gn:157

已覆盖默认值[]

来自 //third_party/pigweed/src/pw_build/gn_internal/defaults.gni:36

target_cpu = "x64" 的当前值["//third_party/pigweed/src/pw_build:reduced_size"]

来自 //.gn:157

从默认值替换[]

来自 //third_party/pigweed/src/pw_build/gn_internal/defaults.gni:36

remove_default_public_deps

当前值(来自默认值)[]

来自 //third_party/pigweed/src/pw_build/gn_internal/defaults.gni:37

repository_publish_blob_copy_mode

控制将 blob 复制到代码库时要使用的模式。 支持的模式包括:

  • copy:如果 blob 尚不存在于代码库中,则复制该 blob。这会使用写时复制在支持它的文件系统上高效复制 blob。

  • copy-overwrite:始终复制 blob,覆盖 blob 存储库中存在的任何 blob。这会使用写时复制在支持它的文件系统上高效复制 blob。

  • hard-link:将 blob 硬链接到代码库中,如果无法在 blob 和 blob 代码库之间创建硬链接,则进行复制。请注意,可以通过硬链接修改 blob,这会导致 blob 与 blob 的 Merkle 不匹配。

当前值(来自默认值)"hard-link"

来自 //src/sys/pkg/bin/package-tool/package-tool.gni:141

restat_cc

设置为 true 可使 C++ 编译保留未更改输出的时间戳。re-client 通过 --preserve_unchanged_output_mtime 开箱即用地提供此功能,因此在使用 cxx_rbe_enable 时,默认设置为 true 是合理的。如果不使用 re-client,您仍然可以通过 restat_wrapper 脚本获得“仅在发生更改时写入”的行为,但代价是封装容器开销(与操作剪枝的权衡)。

当前值(来自默认值)false

来自 //build/toolchain/restat.gni:27

restat_rust

设置为 true 可使 Rust 编译保留未更改输出的时间戳。

当前值(来自默认值)true

来自 //build/toolchain/restat.gni:19

riscv64_enable_vector

是否启用 RISC-V 向量指令的使用。

当前值(来自默认值)true

来自 //build/config/riscv64/riscv64.gni:7

rust_cap_lints

设置最大 lint 级别。 “deny”会将所有警告转换为错误,“warn”会将警告保留为警告,“allow”会忽略警告。

当前值(来自默认值)"deny"

来自 //build/rust/config.gni:61

rust_debug_assertions

启用调试断言,例如用于检查溢出。

当前值(来自默认值)false

来自 //build/rust/config.gni:23

rust_incremental

启用增量 Rust 编译。接受要用作缓存的目录的路径。

当前值(来自默认值)""

来自 //build/rust/build.gni:8

rust_lto

为 rustc build 设置默认 LTO 类型。

当前值(来自默认值)""

来自 //build/rust/config.gni:56

rust_one_rlib_per_dir

为避免因外部搜索路径在 build 期间解析为多个路径而导致 build 不确定,此选项会将每个 rlib 放置在自己的专属目录中。由于这会导致命令行膨胀,因此需要 rustc_use_response_file = true

当前值(来自默认值)true

来自 //build/rust/build.gni:22

rust_parallel_frontend_threads

启用具有 N 个线程的 Rust 并行前端

当前值(来自默认值)false

来自 //build/config/rust/BUILD.gn:29

rust_rbe_check

运行一项更耗时的检查,适用于持续集成 (CI)。 所有这些都需要 rust_rbe_enable=true。

以下权限之一:

  • “none”:不进行额外的检查。

  • “确定性”: 通过在本地运行两次并比较输出结果来检查 rustc 目标的确定性,如果发现任何差异,则失败。 虽然此检查不涉及 RBE,但它使用相同的封装脚本,该脚本知道要预期和比较哪些输出文件。

    不建议使用依赖于时间的 build 输出,因为它们会影响缓存。 如果您的结果取决于当前时间,此检查肯定会失败。如果它仅取决于日期,那么如果重新运行发生在次日,仍有非零的失败概率。

  • 通过运行本地和远程 Rust 编译并比较结果,检查两者之间的一致性。

当前值(来自默认值)"none"

来自 //build/toolchain/rbe.gni:144

rust_rbe_download_rlibs

TODO(b/42084033):控制是否从远程 Rust 构建操作下载(中间)rlib。

当前值(来自默认值)true

来自 //build/toolchain/rbe.gni:156

rust_rbe_download_unstripped_binaries

当前值(来自默认值)true

来自 //build/toolchain/rbe.gni:152

rust_rbe_enable

设置为 true 可使用 RBE 启用 Rust 的分布式编译。

当前值(来自默认值)false

来自 //build/toolchain/rbe.gni:97

rust_rbe_exec_strategy

以下权限之一:

  • “remote”:在缓存未命中时远程执行操作。系统始终会使用此结果更新远程缓存。

  • “local”:在远程缓存中查找操作,但如果缓存未命中,则在本地执行操作。本地生成的结果不会上传到远程缓存。

  • “remote_local_fallback”:先远程执行操作。 如果失败,请改为在本地运行。本地生成的结果不会上传到远程缓存。

  • “racing”:竞争本地执行与远程执行,取先完成者。

  • “nocache”:强制进行远程执行,而不使用缓存的结果。这对于基准化分析缓存未命中场景很有用。

    (还有其他未公开的重新封装器选项。)

当前值(来自默认值)"remote"

来自 //build/toolchain/rbe.gni:118

rust_v0_symbol_mangling

控制 Rust 编译器是否使用 v0 符号乱码处理方案(请参阅 https://github.com/rust-lang/rfcs/blob/HEAD/text/2603-rust-symbol-name-mangling-v0.md)。

当前值(来自默认值)true

来自 //build/config/rust/BUILD.gn:26

rust_virtio_net

如果为 true,则使用新的 Rust virtio-net 设备,而不是旧版 C++ 设备。

当前值(来自默认值)true

来自 //src/virtualization/bin/args.gni:7

rustc_prefix

rustccargo 设置自定义基本目录。 这可用于测试自定义 Rust 工具链。

当前值(来自默认值)"//prebuilt/third_party/rust/linux-x64"

来自 //build/rust/config.gni:20

rustc_timeout

用于捕获 rustc 挂起的超时时间,以秒为单位。值为 0 表示不设置超时

当前值(来自默认值)0

来自 //build/rust/build.gni:34

rustc_use_response_files

将冗长的 rustdeps 和 externs (GN) 放入 ninja 响应文件中。 需要使用响应文件来规避命令行长度限制。rustc 对响应文件的支持(如我们的 GN build 中所需)已通过修订版本“git_revision:dfe53afaebd817f334d8ef9dc75a5cd2562cf6e6”添加。

当前值(来自默认值)true

来自 //build/rust/build.gni:16

rustc_version_description

工具链版本的人类可读标识符。

TODO(tmandry):使此信息与 rustc --version 中的代码库/修订版本信息相同。 例如,clang_version_description = read_file("$_rustc_lib_dir/VERSION")

当前值(来自默认值)""

来自 //build/rust/config.gni:53

rustc_version_string

这是一个字符串,用于标识所用的特定工具链版本。它的唯一目的是足够独特,以便在切换到新工具链时发生变化,从而触发使用新编译器进行重新编译。

使用预建版本时,系统会忽略此值,并使用预建版本的 CIPD 实例 ID。

当前值(来自默认值)"cf4S8WqIuIzG2Dz5LKvxjk79OrXRzqf0btPWLUq7MBwC"

来自 //build/rust/config.gni:47

rustdoc_extern_html_root_url_base

当前值(来自默认值)"https://fuchsia-docs.firebaseapp.com/rust"

来自 //build/rust/config.gni:82

scenic_enable_vulkan_validation

在 Scenic 中包含 Vulkan 验证层。

当前值(来自默认值)false

来自 //src/ui/scenic/lib/utils/build_args.gni:10

scheduler_extra_invariant_validation

启用对调度程序不变量的额外(昂贵)验证,以帮助调试调度程序行为的更改。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:46

scheduler_lock_spin_tracing_compressed

在跟踪锁自旋事件时启用压缩记录。这样一来,在轨迹可视化工具中解读这些事件会更加困难,但会占用更少的空间,并为解析锁轨迹数据的脚本提供相同的信息。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:56

scheduler_lock_spin_tracing_enabled

启用调度程序锁定旋转跟踪事件,以进行基于跟踪的调度程序性能分析。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:50

scheduler_queue_tracing_enabled

启用调度器队列跟踪,以便基于轨迹分析调度器性能。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:42

scheduler_tracing_level

启用后,调度器轨迹的详细程度。大于零的值会增加细节,但会增加轨迹缓冲区的使用量。

0 = 默认(标准)内核:调度跟踪。 1 = 为关键调度程序操作添加时长轨迹。 2 = 添加了利用率和处理速率的带宽计数器。 3 = 添加运行队列事件。 4 = 添加从唤醒到运行状态的流程事件。 5 = 添加了各种统计信息和估计值的计数器。 6 = 添加详细的内部事件。

当前值(来自默认值)0

来自 //zircon/kernel/params.gni:38

scudo_default_options

默认 Scudo 选项(在运行时读取 SCUDO_OPTIONS 环境变量之前)。Scudo 是 Fuchsia C 库中的内存分配器,因此会影响所有 Fuchsia 程序。可以是字符串列表,也可以是单个字符串。

此选项的运作方式与 asan_default_options 及其他 Sanitizers 的同类选项类似,但略有不同。如果此变量为空,则不会向程序注入任何 __scudo_default_options 函数。各个目标可以使用对 sanitizer_extra_options() 目标的依赖关系来注入选项,并且这些选项将与 scudo_default_options 的任何 build-wide 设置兼容。程序可以定义自己的 __scudo_default_options 函数,但这样做会破坏所有将此变量设置为空的 build,因此 build 中需要此类设置(应仅在测试中)的任何程序都可以改用 sanitizer_extra_options() 机制。

当前值(来自默认值)[]

来自 //build/config/sanitizers/sanitizer_default_options.gni:84

sdk_archive_labels

要上传到制品存储区的额外 idk_archive() 标签。这是主代码库之外的 IDK 位扩展机制。

当前值(来自默认值)[]

来自 //BUILD.gn:109

sdk_cross_compile_host_tools

是否为所有受支持的主机工具链(而不仅仅是当前主机工具链)交叉编译 SDK 工具。例如,如果此值为 true,则在 Linux x64 上构建时,您还将为 Linux arm64 构建 SDK 主机工具。

当前值(来自默认值)false

来自 //sdk/config.gni:16

sdk_host_tool_bazel_targets

一个范围列表,用于描述 SDK 中包含的 Bazel 主机目标。

这是单独的,因为它们可以在 SDK build 上进行交叉编译。

当前值(来自默认值)

[{
  bazel_label = "//zircon/tools/merkleroot"
}]

来自 //build/bazel/bazel_root_targets_list.gni:26

sdk_id

核心 SDK 的标识符。 LINT.IfChange

当前值(来自默认值)"31.99991231.0.1"

来自 //sdk/config.gni:8

sdk_inside_sub_build

是否正在构建子 build(与以“PLATFORM”和主要目标 CPU 架构为主 build 的情况相反)。尽可能优先使用其他机制。 可针对任何 API 级别(包括“PLATFORM”)和 CPU 架构为 true。

当前值(来自默认值)false

来自 //build/sdk/config.gni:25

sdk_max_simultaneous_sub_builds

如果未设置 enable_jobserver,此属性会提供可同时运行的子 build 的最大数量上限。数值越大,意味着以下好处: - 更好地并行化 GN 和 ninja 的固有单线程部分。 - 更好地并行化构建中的“落后者”问题 - 即每个子构建执行少量操作的情况。

但也有以下缺点: - 内存用量增加,可能会导致交换和速度变慢。 - 当构建流程实际上受 CPU 限制时,CPU 争用会更严重。 - 可能会强制降低 sdk_sub_build_parallelism 的值,因为总负载与 sdk_max_simultaneous_sub_builds * sdk_sub_build_parallelism 成正比。

之所以选择 5,主要是因为我每只手都有 5 根手指。

当前值(来自默认值)5

来自 //build/sdk/config.gni:43

sdk_sub_build_max_load_average

如果未设置 enable_jobserver,则在子 build 期间传递给 ninja 的 -l 值。如果系统的平均系统负载超过此值,ninja 将会自行限制。如果留空,子 build 脚本将进行猜测。

当前值(来自默认值)""

来自 //build/sdk/config.gni:55

sdk_sub_build_parallelism

如果未设置 enable_jobserver,则在子 build 期间传递给 ninja 的 -j 值。请注意,最多可以并行进行 sdk_max_simultaneous_sub_builds 个子 build,因此并发操作数可能高达此数字乘以并发子 build 数。如果留空,子 build 脚本会进行猜测。

当前值(来自默认值)""

来自 //build/sdk/config.gni:50

sdk_sub_build_verbose

设置为 true 可在 IDK 子 build 期间启用详细日志记录。

当前值(来自默认值)false

来自 //build/sdk/config.gni:58

select_variant

用于请求特定目标的变体 build 的“选择器”列表。 每个选择器都指定匹配条件和所选变体。 列表中与给定目标匹配的第一个选择器决定了该目标使用哪个变体。

每个选择器都是字符串或范围。快捷选择器是一个字符串,它会扩展为完整选择器。完整选择器是一种范围,如下所述。

字符串选择器可以匹配 select_variant_shortcuts 中的名称。如果不是其中列出的特定快捷方式,则可以是 known_variants 中描述的任何变体的名称。 一个简单的变体名称 selector 会选择目标工具链中构建的每个二进制文件:{ host=false variant=selector }

如果字符串选择器包含斜杠,则为 "shortcut/filename",并且仅选择目标工具链中 output_name"filename" 匹配的二进制文件,即它会向仅由快捷方式名称产生的每个选择器范围添加 output_name=["filename"]

构成完整选择器的范围定义了以下部分:

variant (required)
    [string or `false`] The variant that applies if this selector
    matches.  This can be `false` to choose no variant, or a string
    that names the variant.  See
    [`known_variants`](#known_variants).

以下其余部分是匹配条件。所有字段均为选填。 当且仅当选择器的所有条件都匹配时,该选择器才会匹配。 如果未定义上述任何选择器,则选择器始终匹配。

列表中第一个匹配的选择器胜出,然后系统会忽略列表中的其余选择器。如需构建更复杂的规则,请使用带有 variant=false 的 blocklist 选择器(位于全能型默认变体之前),或使用特定变体列表(位于全能型 false 变体之前)。

每个“[字符串]”条件都是一个字符串列表,如果任何字符串与候选字符串匹配,则满足相应条件。

host
    [boolean] If true, the selector matches in the host toolchain.
    If false, the selector matches in non-host toolchains.

kernel
    [boolean] If true, the selector matches in is_kernel toolchains.
    If false, the selector matches in non-kernel toolchains.

testonly
    [boolean] If true, the selector matches targets with testonly=true.
    If false, the selector matches in targets without testonly=true.

target_type
    [strings]: `"executable"`, `"loadable_module"`, or `"fuchsia_driver"`

output_name
    [strings]: target's `output_name` (default: its `target name`)

label
    [strings]: target's full label with `:` (without toolchain suffix)

name
    [strings]: target's simple name (label after last `/` or `:`)

dir
    [strings]: target's label directory (`//dir` for `//dir:name`).

当前值(来自默认值)[]

来自 //build/config/BUILDCONFIG.gn:769

select_variant_canonical

此属性绝不应作为 build 实参进行设置。 它仅用于在 toolchain_args 中设置。 如需了解详情,请参阅 //build/toolchain/clang_toolchain.gni。

当前值(来自默认值)[]

From //build/config/BUILDCONFIG.gn:774

select_variant_shortcuts

常用变体选择器的简称列表。通常情况下,此变量不会作为 build 实参进行设置,但它可用于记录变体选择器的可用快捷名称集。此列表的每个元素都是一个范围,其中 .name 是简称,.select_variant 是可以拼接成 select_variant 的列表。

当前值(来自默认值)

[{
  name = "host_asan"
  select_variant = [{
  host = true
  variant = "asan"
}]
}, {
  name = "host_asan-ubsan"
  select_variant = [{
  host = true
  variant = "asan-ubsan"
}]
}, {
  name = "host_coverage"
  select_variant = [{
  host = true
  variant = "coverage"
}]
}, {
  name = "host_coverage-rust"
  select_variant = [{
  host = true
  variant = "coverage-rust"
}]
}, {
  name = "host_profile"
  select_variant = [{
  host = true
  variant = "profile"
}]
}, {
  name = "host_profile-rust"
  select_variant = [{
  host = true
  variant = "profile-rust"
}]
}, {
  name = "host_tsan"
  select_variant = [{
  host = true
  variant = "tsan"
}]
}, {
  name = "kernel_lto-cfi"
  select_variant = [{
  kernel = true
  variant = "lto-cfi"
}]
}, {
  name = "kernel_thinlto-cfi"
  select_variant = [{
  kernel = true
  variant = "thinlto-cfi"
}]
}, {
  name = "kubsan"
  select_variant = [{
  _zircon_cpu = "arm64"
  dir = ["//zircon/kernel", "//zircon/kernel/arch/arm64/phys", "//zircon/kernel/arch/arm64/phys/boot-shim", "//zircon/kernel/arch/arm64/phys/efi", "//zircon/kernel/phys", "//zircon/kernel/phys/boot-shim", "//zircon/kernel/phys/efi", "//zircon/kernel/phys/test"]
  variant = "ubsan"
}]
}]

来自 //build/config/BUILDCONFIG.gn:544

skip_buildtools_check

跳过 buildtools 依赖项检查(ChromeOS 需要)。

当前值(来自默认值)false

来自 //third_party/perfetto/gn/perfetto.gni:446

smp_max_cpus

当前值(来自默认值)16

来自 //zircon/kernel/params.gni:14

spinel_platform_header

Spinel 的平台可移植性标头。

当前值(来自默认值)"\"spinel_platform.h\""

来自 //third_party/openthread/src/lib/spinel/BUILD.gn:32

stack_clash_protection

是否在编译时启用堆栈冲突保护 https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-fstack-clash-protection https://blog.llvm.org/posts/2021-01-05-stack-clash-protection/

当前值(来自默认值)true

来自 //build/config/clang/stack_clash_protection.gni:9

starnix_enable_console_tool

控制台工具仅供开发者使用。默认处于停用状态,以防止自动使用。

当前值(来自默认值)false

来自 //src/developer/ffx/tools/starnix/BUILD.gn:12

starnix_enable_rust_backtrace

是否将 Starnix 内核的 RUST_BACKTRACE 环境变量默认设置为 1。这有助于识别在死锁周期中获取锁的堆栈。

当前值(来自默认值)false

来自 //src/starnix/build/args.gni:22

starnix_enable_trace_and_debug_logs_in_release

在发布 build 中编译时添加了跟踪和调试日志记录。默认情况下,出于性能方面的原因,这些日志会被编译掉。

此选项不会影响 fuchsia_trace crate 的使用,该 crate 独立于 Rust 的跟踪库。

如需了解详情,请参阅 https://fuchsia-review.googlesource.com/c/fuchsia/+/929995。

当前值(来自默认值)false

来自 //src/starnix/build/args.gni:18

starnix_force_build_host_tests

是否强制构建用于系统调用测试(俗称“主机测试”)的 x64 ELF 可执行文件。默认偏好是针对 Machina 构建和运行测试。

当前值(来自默认值)false

来自 //src/starnix/build/args.gni:8

starnix_host_linux_toolchain

我们希望使用比 $host_toolchain 中默认提供的更新的 sysroot。

当前值(来自默认值)"//build/toolchain:linux_x64"

来自 //src/starnix/build/args.gni:25

starnix_kgsl_debug

此标志会启用详细日志记录和调试检查。

当前值(来自默认值)false

来自 //src/starnix/modules/kgsl/BUILD.gn:15

starnix_kgsl_enable

此标志会影响某些容器二进制文件所用信号 ioctl 的返回值,以指示这些二进制文件使用基于 kgsl 的驱动程序或基于 magma 的驱动程序。它不会影响容器内 kgsl 设备的可用性。

当前值(来自默认值)false

来自 //src/starnix/modules/kgsl/BUILD.gn:12

sysmem_contiguous_guard_page_count

当前值(来自默认值)-1

来自 //src/sysmem/server/BUILD.gn:25

sysmem_contiguous_guard_pages_fatal

当前值(来自默认值)false

来自 //src/sysmem/server/BUILD.gn:23

sysmem_contiguous_guard_pages_internal

当前值(来自默认值)false

来自 //src/sysmem/server/BUILD.gn:24

sysmem_contiguous_guard_pages_unused

当前值(来自默认值)false

来自 //src/sysmem/server/BUILD.gn:26

sysmem_contiguous_guard_pages_unused_cycle_seconds

当前值(来自默认值)600

来自 //src/sysmem/server/BUILD.gn:28

sysmem_contiguous_guard_pages_unused_fraction_denominator

当前值(来自默认值)128

来自 //src/sysmem/server/BUILD.gn:27

sysmem_contiguous_memory_size

当前值(来自默认值)-1

来自 //src/sysmem/server/BUILD.gn:19

sysmem_contiguous_memory_size_percent

当前值(来自默认值)5

来自 //src/sysmem/server/BUILD.gn:20

sysmem_protected_memory_size

当前值(来自默认值)0

来自 //src/sysmem/server/BUILD.gn:21

sysmem_protected_memory_size_percent

当前值(来自默认值)-1

来自 //src/sysmem/server/BUILD.gn:22

sysmem_protected_ranges_disable_dynamic

当前值(来自默认值)false

来自 //src/sysmem/server/BUILD.gn:29

target_cpu

target_cpu = "arm64" 的当前值"arm64"

来自 //out/not-default/args.gn:11

从默认值替换""

target_cpu = "riscv64" 的当前值"riscv64"

来自 //out/not-default/args.gn:11

已覆盖默认值""

target_cpu = "x64" 的当前值"x64"

来自 //out/not-default/args.gn:11

从默认值替换""

target_os

当前值(来自默认值)""

target_persistent_debuglog_size

控制(以字节为单位)持久调试日志的目标大小(以字节为单位)。 如果将此值设置为零,系统会停用所有持久性调试日志功能。请注意,虽然系统会尝试为持久调试日志预留这么多字节,但由于持久 RAM 资源有限,可能无法实现。必须是 128 字节的倍数。

当前值(来自默认值)0

来自 //zircon/kernel/lib/persistent-debuglog/params.gni:13

target_sysroot

与目标工具链搭配使用的 sysroot 的绝对路径。

当前值(来自默认值)""

来自 //build/config/sysroot.gni:7

termina_extras_tests

如果值为 true,则向 extras.img 添加额外的 testonly 内容,该内容将在容器内构建并装载到 /mnt/chromeos。

当前值(来自默认值)true

来自 //src/virtualization/bin/termina_guest_manager/BUILD.gn:12

termina_hermetic_bootstrap

如果为 true,则将容器映像与 termina_guest_manager 软件包捆绑在一起,并使用该软件包初始化 Linux 容器。

如果此值为“false”,则不会捆绑任何容器映像,而是在运行时由目标下载容器。这样可以减小 build 大小,但要求目标设备在运行时具有可用的互联网连接。

当前值(来自默认值)false

来自 //src/virtualization/bin/termina_guest_manager/BUILD.gn:35

termina_stateful_partition_size_bytes

默认有状态映像大小 (40GiB)。

如果您更改此值,则需要使用“guest wipe termina”重新构建 guest 分区,新大小才会生效。

当前值(来自默认值)42949672960

来自 //src/virtualization/bin/termina_guest_manager/BUILD.gn:26

termina_user_extras

将此指向要作为额外内容包含的外部文件的位置

当前值(来自默认值)[]

来自 //src/virtualization/bin/termina_guest_manager/BUILD.gn:20

termina_volatile_block

如果为 true,则通常会以 READ_WRITE 模式加载的所有块设备都将以 VOLATILE_WRITE 模式加载。在处理 Linux 内核的更改时,这非常有用,因为崩溃和内核恐慌有时会损坏映像。

当前值(来自默认值)false

来自 //src/virtualization/bin/termina_guest_manager/BUILD.gn:17

terminal_bold_font_path

当前值(来自默认值)"//prebuilt/third_party/fonts/robotomono/RobotoMono-Bold.ttf"

来自 //src/ui/bin/terminal/terminal_args.gni:12

terminal_bold_italic_font_path

当前值(来自默认值)"//prebuilt/third_party/fonts/robotomono/RobotoMono-BoldItalic.ttf"

来自 //src/ui/bin/terminal/terminal_args.gni:20

terminal_fallback_font_paths

用于回退字体的文件路径

当前值(来自默认值)[]

来自 //src/ui/bin/terminal/terminal_args.gni:23

terminal_font_path

当前值(来自默认值)"//prebuilt/third_party/fonts/robotomono/RobotoMono-Regular.ttf"

来自 //src/ui/bin/terminal/terminal_args.gni:8

terminal_italic_font_path

当前值(来自默认值)"//prebuilt/third_party/fonts/robotomono/RobotoMono-Italic.ttf"

来自 //src/ui/bin/terminal/terminal_args.gni:16

test_durations_file

一个包含相应 build 配置的历史测试时长数据的文件,供 testsharder 用于在分片之间均匀分配测试。对于之后将运行 testsharder 的任何 build,都应设置此属性。

当前值(来自默认值)""

来自 //BUILD.gn:105

test_package_labels

非封闭测试(在运行时)。如果在此群组中发现非测试软件包,构建会将其标记为错误。

target_cpu = "arm64" 的当前值[]

来自 //out/not-default/args.gn:19

从默认值替换[]

来自 //BUILD.gn:77

target_cpu = "riscv64" 的当前值[]

来自 //out/not-default/args.gn:19

从默认值替换[]

来自 //BUILD.gn:77

target_cpu = "x64" 的当前值[]

来自 //out/not-default/args.gn:19

从默认值替换[]

来自 //BUILD.gn:77

thinlto_cache_dir

ThinLTO 缓存目录路径。

当前值(来自默认值)"thinlto-cache"

来自 //build/config/lto/config.gni:10

thinlto_jobs

并行 ThinLTO 作业的数量。

当前值(来自默认值)8

来自 //build/config/lto/config.gni:7

time_trace

是否在通过 clang 构建时导出时间轨迹。 https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html#new-compiler-flags

当前值(来自默认值)false

来自 //build/config/clang/time_trace.gni:8

toolchain_variant

此属性绝不应作为 build 实参进行设置。 它仅用于在 toolchain_args 中设置。 如需详细了解每个字段,请参阅 //docs/concepts/build_system/internals/toolchains/build_arguments.md#toolchain_variant。

当前值(来自默认值)

{
  base = "//build/toolchain/fuchsia:arm64"
}

来自 //build/config/BUILDCONFIG.gn:953

truncate_build_info_commit_date

将 build_info 中的日期截断为 UTC 午夜,并将提交哈希替换为从该日期合成的哈希。此文件不应在此目录之外使用。它仅位于此 .gni 文件中,以便 //build/bazel:gn_build_variables_for_bazel 可以访问它。

当前值(来自默认值)false

来自 //build/info/info.gni:23

tsan_default_options

默认 ThreadSanitizer 选项(在运行时读取 TSAN_OPTIONS 环境变量之前)。此标志可以设置为 build 实参,以影响 $variants 中的大多数“tsan”变体(请参阅),也可以在其中一个变体的 $toolchain_args 中进行替换。可以是字符串列表,也可以是单个字符串。

请注意,即使此列表为空,相应 build 中的程序也无法定义自己的 __tsan_default_options C 函数。相反,他们可以在 deps 中使用 sanitizer_extra_options() 目标,然后以这种方式注入的任何选项都可以替换此列表中的相应选项设置。

TODO(https://fxbug.dev/42171381):当/如果我们有 Rust 的插桩 libstd 时,可以重新评估 ignore_noninstrumented_modules=1

当前值(来自默认值)["ignore_noninstrumented_modules=1"]

来自 //build/config/sanitizers/sanitizer_default_options.gni:67

ubsan_default_options

默认 UndefinedBehaviorSanitizer 选项(在运行时读取 UBSAN_OPTIONS 环境变量之前)。此标志可设置为 build 实参,以影响 $variants(请参阅)中的大多数“ubsan”变体,也可在其中一个变体的 $toolchain_args 中进行替换。可以是字符串列表,也可以是单个字符串。

请注意,即使此列表为空,相应 build 中的程序也无法定义自己的 __ubsan_default_options C 函数。相反,他们可以在 deps 中使用 sanitizer_extra_options() 目标,然后以这种方式注入的任何选项都可以替换此列表中的相应选项设置。

当前值(来自默认值)["print_stacktrace=1", "halt_on_error=1"]

来自 //build/config/sanitizers/sanitizer_default_options.gni:49

universe_package_labels

如果您向此变量添加软件包标签,这些软件包将包含在“universe”软件包集中,该软件包集表示由 build 生成的、要发布到软件包代码库或 SDK 的所有软件。

target_cpu = "arm64" 的当前值["//bundles/docs_roller"]

来自 //out/not-default/args.gn:14

已覆盖默认值[]

来自 //BUILD.gn:40

target_cpu = "riscv64" 的当前值["//bundles/docs_roller"]

来自 //out/not-default/args.gn:14

已覆盖默认值[]

来自 //BUILD.gn:40

target_cpu = "x64" 的当前值["//bundles/docs_roller"]

来自 //out/not-default/args.gn:14

已覆盖默认值[]

来自 //BUILD.gn:40

update_goldens

对于 golden_file 模板,如果此属性设置为 true,则会隐式写入更新后的黄金文件,而不是使操作或测试失败。 LINT.IfChange

当前值(来自默认值)false

来自 //build/testing/config.gni:9

update_product_epoch

要在更新 (OTA) 软件包中使用的纪元。 在应用更新之前,Fuchsia 会确认更新软件包中的纪元不小于系统上安装的纪元。这样可防止 Fuchsia 下载可能无法启动的更新。

产品周期会添加到平台周期中,然后再放入更新软件包中。拥有单独的平台纪元可确保每次平台引入向后不兼容的更改时,每个产品的纪元都会增加。

当前值(来自默认值)0

来自 //build/images/args.gni:28

use_bazel_images_only

如果为 true,images.json build API 模块将仅包含由 bazel_product_bundle_target 及其依赖项标识的映像。

注意:此字段尚处于高度实验阶段,除非您确切知道自己在做什么,否则请勿设置此字段。

target_cpu = "arm64" 的当前值true

来自 //products/core.gni:27

已覆盖默认值false

来自 //build/images/args.gni:113

target_cpu = "riscv64" 的当前值true

来自 //products/minimal.gni:38

已覆盖默认值false

来自 //build/images/args.gni:113

target_cpu = "x64" 的当前值true

来自 //products/core.gni:27

已覆盖默认值false

来自 //build/images/args.gni:113

当前值(来自默认值)false

来自 //build/config/features.gni:13

use_bringup_assembly

产品使用的 assemble_system() 实例化是标准实例化还是启动实例化?

当前值(来自默认值)false

来自 //build/product.gni:8

use_ccache

设置为 true 可启用使用 ccache 进行编译

当前值(来自默认值)false

来自 //build/toolchain/ccache.gni:9

use_dbus

当前值(来自默认值)false

来自 //build/config/features.gni:11

use_direct_for_carnelian_examples

在示例软件包中添加配置,以尝试直接使用查看模式。

当前值(来自默认值)false

来自 //src/lib/ui/carnelian/BUILD.gn:29

use_gio

当前值(来自默认值)false

来自 //build/config/features.gni:12

use_llvm_libc_string_functions

注意:实验性 使用字符串函数的 llvm-libc 实现。

当前值(来自默认值)false

来自 //sdk/lib/c/libc.gni:20

use_null_vulkan_on_host

TODO(liyl):目前,非 x64 平台不支持 Vulkan,因此我们始终使用 null Vulkan 实现。

用于指示是否在宿主 vulkan_executables 和 vulkan_tests 上使用“null”Vulkan 实现的全局实参,以便任何创建 VkInstances 或 VkDevice 的尝试都会失败。

此实参将影响所有 vulkan_{可执行文件/测试} build 目标。

当前值(来自默认值)true

来自 //src/lib/vulkan/build/config.gni:29

use_prebuilt_buildidtool

使用预构建的 buildidtool 二进制文件,而不是本地构建的二进制文件。 注意:将此值设置为 false 会使用 GN 中的 toolchain_deps 机制,这可能会显著减慢 Ninja 的速度。此外,对于循环依赖项,$host_toolchain 没有 toolchain_deps,因此无法确保在需要 buildidtool 之前构建它。这可能会导致 build 不可靠,但应该可以迭代增量 build,并最终获得新工具。此功能仅应在 buildidtool 本身的积极开发期间使用。

请注意,这永远不适用于 Go build,因为在 buildidtool 的 build 中使用 buildidtool 会形成循环依赖。

当前值(来自默认值)true

来自 //build/toolchain/buildidtool.gni:17

use_prebuilt_ffmpeg

使用预构建的 ffmpeg 二进制文件,而不是在本地构建。如需了解详情,请参阅 //src/media/lib/ffmpeg/README.md。如果构建的变体 build 没有预构建,则忽略此属性。在这种情况下,ffmpeg 始终从源代码构建,以便使用所选变体的配置进行构建。如果此值为 false(显式或在变体 build 中),则 //third_party/ffmpeg 必须位于源代码树中,这需要:

jiri import -name third_party/ffmpeg -revision HEAD third_party/ffmpeg http://fuchsia.googlesource.com/integration

TODO(https://fxbug.dev/42068172):此功能目前无法正常运行。使用以下方法。

或者,如果已从那里导入其他清单,导致 jiri 更新出现错误,则可以仅使用 git clone(但 jiri 更新在这种情况下不会管理 third_party/ffmpeg):

mkdir build/secondary/third_party/ffmpeg
git clone https://fuchsia.googlesource.com/third_party/ffmpeg build/secondary/third_party/ffmpeg
mkdir third_party/yasm
git clone https://fuchsia.googlesource.com/third_party/yasm third_party/yasm
mkdir third_party/ffmpeg/src
git clone https://chromium.googlesource.com/chromium/third_party/ffmpeg third_party/ffmpeg/src

当前值(来自默认值)true

来自 //src/media/lib/ffmpeg/BUILD.gn:33

use_spinel_for_carnelian_examples

在示例软件包中添加配置,以尝试使用 Spinel

当前值(来自默认值)false

来自 //src/lib/ui/carnelian/BUILD.gn:25

use_swiftshader_vulkan_icd_on_host

全局实参,用于确定是否在宿主 vulkan_executables 和 vulkan_tests 上使用 SwiftShader Vulkan ICD。

此实参会影响所有 vulkan_{executable/test} build 目标,并且仅在 use_null_vulkan_on_host 设置为 false 时有效。

当前值(来自默认值)true

来自 //src/lib/vulkan/build/config.gni:38

use_udev

当前值(来自默认值)false

来自 //build/config/features.gni:10

use_vbmeta

如果为 true,则会为提供的 ZBI 生成 vbmeta 映像,并且铺砌脚本会将 vbmeta 映像铺砌到目标设备。LINT.IfChange

target_cpu = "arm64" 的当前值true

来自 //boards/arm64.gni:33

从默认值替换false

来自 //build/images/vbmeta.gni:15

当前值(来自默认值)false

来自 //build/images/vbmeta.gni:15

using_fuchsia_sdk

仅在 buildroot 中设置,其中目标会自行配置以与 Fuchsia SDK 搭配使用

当前值(来自默认值)false

来自 //build/fuchsia/sdk.gni:8

vbmeta_a_partition

当前值(来自默认值)""

来自 //build/images/args.gni:51

vbmeta_b_partition

当前值(来自默认值)""

来自 //build/images/args.gni:52

vbmeta_r_partition

当前值(来自默认值)""

来自 //build/images/args.gni:53

verbose_image_assembly

启用来自 ffx assembly image 的详细输出,这会创建非静默 build 输出,因此在已签入的配置中绝不应为“true”,并且仅供开发者调试使用。

当前值(来自默认值)false

来自 //build/images/args.gni:106

verify_depfile

控制 build 是否运行 depfile 验证程序

当前值(来自默认值)true

来自 //build/rust/build.gni:25

vfs_rust_uses_log

将其设置为 true 可在 vfs crate 中启用一些额外的日志,并使其依赖于 log crate。对于非主机 build,一般不应启用此功能,因为这会导致作为动态库构建的 vfs crate 成为全局记录器的来源,从而导致动态链接 Rust 库(如驱动程序)的组件出现问题,最坏情况下会导致链接错误,最好的情况下也会导致日志归因不正确。

当前值(来自默认值)false

来自 //src/storage/lib/vfs/rust/BUILD.gn:16

vim3_mcu_fan_default_level

VIM3 MCU 驱动程序使用的默认风扇级别。

有效值介于 0(完全关闭)和 3(全功率)之间。

请勿在已签入的代码中依赖此设置。此设置旨在方便在办公桌上进行开发,但将被更强大的配置机制取代。

当前值(来自默认值)1

来自 //src/devices/mcu/drivers/vim3-mcu/BUILD.gn:18

virtio_gpu_display_flavor

在 C++ 和 Rust 驱动程序实现之间切换。

TODO(https://fxbug.dev/504722357):在完成 Rust 移植后移除切换开关。 有效值:“cpp”“rust”

当前值(来自默认值)"cpp"

来自 //src/graphics/display/drivers/virtio-gpu-display/BUILD.gn:15

virtmagma_debug

在 virtmagma 相关代码中启用详细日志记录

当前值(来自默认值)false

来自 //src/graphics/lib/magma/include/virtio/virtmagma_debug.gni:7

virtual_alloc_host_size_shift

设置主机的页面大小偏移。在页面大小常量可能不存在的主机环境中运行分配器时使用。如果此值与实际宿主网页大小不匹配,则会发生运行时错误。

当前值(来自默认值)12

来自 //zircon/kernel/lib/virtual_alloc/BUILD.gn:13

vm_tracing_level

虚拟机系统发出的轨迹的详细程度。大于零的值会增加细节,但会增加轨迹缓冲区的使用量。

0 = 默认内核:* 跟踪。 1 = 为异步网页请求添加了流程事件。 2 = 添加与访问的故障和页面错误相关的时长事件。 3 = 为 PMM 分配和释放添加了时长事件。

当前值(来自默认值)0

来自 //zircon/kernel/params.gni:73

vulkan_host_runtime_dir

|vulkan_host_runtime_dir| 是 Vulkan 运行时库的路径,其中包含预构建的 Vulkan 加载程序、Vulkan 层、SwiftShader Vulkan ICD 以及加载库所需的描述符文件。

当前值(来自默认值)"//prebuilt/third_party/vulkan_runtime/linux-x64"

来自 //src/lib/vulkan/build/config.gni:17

vulkan_loader_allow_goldfish

当前值(来自默认值)true

来自 //src/graphics/bin/vulkan_loader/BUILD.gn:8

vulkan_sdk

当前值(来自默认值)""

来自 //src/graphics/examples/vkproto/common/common.gni:48

wait_queue_depth_tracing_enabled

启用等待队列深度的跟踪。用于对各种负载下等待队列的深度以及更改深度的频率进行后处理分析。

当前值(来自默认值)false

来自 //zircon/kernel/params.gni:64

warn_on_sdk_changes

是否仅在 SDK 已修改时发出警告。 如果为 false,任何未确认的 SDK 更改都会导致 build 失败。 LINT.IfChange

当前值(来自默认值)false

来自 //build/sdk/config.gni:17

weave_build_legacy_wdm

告知 openweave 支持旧版 WDM 模式。

当前值(来自默认值)false

来自 //third_party/openweave-core/config.gni:29

weave_build_warm

告知 openweave 构建 WARM 库。

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:26

weave_system_config_use_sockets

告知 openweave 组件使用类 BSD 套接字。

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:7

weave_with_nlfaultinjection

告知 openweave 组件支持故障注入。

当前值(来自默认值)false

来自 //third_party/openweave-core/config.gni:20

weave_with_verhoeff

告知 openweave 支持 Verhoeff 校验和。

当前值(来自默认值)true

来自 //third_party/openweave-core/config.gni:23

wlancfg_config_type

选择要使用的 WLAN 配置类型。选项: “client” - 客户端模式 “ap” - 接入点模式 “”(空字符串)- 无配置

当前值(来自默认值)"client"

来自 //src/connectivity/wlan/wlancfg/BUILD.gn:17

zedboot_product_assembly_config_label

用于配置 Zedboot 映像的产品组装配置。

当前值(来自默认值)false

来自 //build/product.gni:17

zircon_a_partition

fx flash 脚本的实参(以及指定分区的任何 firmware_prebuilts)。

如果提供(仅提供一个)fvm_partitionfxfs_partition,刷写脚本将刷写完整的操作系统、恢复 + Zircon + FVM(或 Fxfs)+ SSH 密钥。在这种情况下,引导加载程序还必须支持 fastboot oem add-staged-bootloader-file ssh.authorized_keys

否则,脚本会将恢复映像刷入所有 slot,这不需要 FVM 或 SSH 密钥。

当前值(来自默认值)""

来自 //build/images/args.gni:48

zircon_asserts

在内部用于启用 .不应在 args.gn 中设置此标志。

如需替换默认值,GN 目标应使用配置标签 //build/config/fuchsia:enable_zircon_asserts,而 Bazel 目标应使用功能名称“enable_zircon_asserts”。

当前值(来自默认值)false

来自 //build/config/fuchsia/zircon_asserts.gni:13

zircon_b_partition

当前值(来自默认值)""

来自 //build/images/args.gni:49

zircon_kernel_disable_asserts

强制停用 Zircon 内核的所有断言。如果设置了此值,则默认情况下,在构建内核时,系统会使用 zx_assert_level 的值来控制断言。

当前值(来自默认值)false

来自 //build/zircon/build_args.gni:9

zircon_r_partition

当前值(来自默认值)""

来自 //build/images/args.gni:50

zircon_toolchain

此属性绝不应作为 build 实参进行设置。 它仅用于在 toolchain_args 中设置。 对于 Zircon 工具链,这将是一个范围,其架构记录在 //build/toolchain/zircon/zircon_toolchain.gni 中。对于所有其他工具链,此值将为 false。

这样,您就可以使用以下命令测试 Zircon 特定的工具链:

if (zircon_toolchain != false) { // Zircon 特定工具链的代码路径 } else { // 非 Zircon 工具链的代码路径。 }

当前值(来自默认值)false

来自 //build/config/BUILDCONFIG.gn:970

zircon_tracelog

从 Zircon 的 GN 运行中发出跟踪日志的位置。如果提供空字符串,则不会生成任何轨迹。路径可以是源绝对路径,也可以是系统绝对路径。

当前值(来自默认值)""

来自 //build/zircon/build_args.gni:13

zx_assert_level

控制启用哪些断言。

ZX_ASSERT 始终处于启用状态。

  • 0 会停用标准 C assert()ZX_DEBUG_ASSERT
  • 1 会停用 ZX_DEBUG_ASSERT。标准 C assert() 保持启用状态。
  • 2 会启用所有断言。

当前值(来自默认值)2

来自 //build/config/zircon/levels.gni:13

target_cpu = "arm64"

arm_use_neon

是否使用 neon FPU 指令集。 TODO(https://fxbug.dev/42168336):将此内容移至 boards。

当前值(来自默认值)true

来自 //build/config/arm.gni:9

qemu_arm64_enable_user_pci

在 qemu-arm64 板驱动程序中启用用户空间 PCI 堆栈。

当前值(来自默认值)false

来自 //src/devices/board/drivers/qemu-arm64/pci.gni:7

target_cpu = "x64"

build_libvulkan_goldfish

当前值(来自默认值)"//third_party/android/device/generic/goldfish-opengl:libvulkan_goldfish"

来自 //src/graphics/lib/goldfish-vulkan/gnbuild/BUILD.gn:12