| # GN Build Arguments |
| |
| ## All builds |
| |
| ### active_partition |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:89 |
| |
| ### add_qemu_to_build_archives |
| Whether to include images necessary to run Fuchsia in QEMU in build |
| archives. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/args.gni:96 |
| |
| ### additional_bootserver_arguments |
| Additional bootserver args to add to pave.sh. New uses of this should be |
| added with caution, and ideally discussion. The present use case is to |
| enable throttling of netboot when specific network adapters are combined |
| with specific boards, due to driver and hardware challenges. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:102 |
| |
| ### all_font_file_paths |
| List of file paths to every font asset. Populated in fonts.gni. |
| |
| **Current value (from the default):** `[]` |
| |
| From //src/fonts/build/font_args.gni:35 |
| |
| ### always_zedboot |
| Build boot images that prefer Zedboot over local boot (only for EFI). |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/args.gni:114 |
| |
| ### asan_default_options |
| Default [AddressSanitizer](https://clang.llvm.org/docs/AddressSanitizer.html) |
| options (before the `ASAN_OPTIONS` environment variable is read at |
| runtime). This can be set as a build argument to affect most "asan" |
| variants in `known_variants` (which see), or overridden in |
| toolchain_args in one of those variants. |
| |
| The default is ":" which doesn't affect any ASan behavior, but ensures that |
| the ASan initializers run for all executable targets, including those that |
| do not link C/C++ code. Note that this may conflict with programs that |
| define their own `__asan_default_options` C function. Set this option to |
| the empty string to support this. |
| |
| **Current value (from the default):** `":"` |
| |
| From //build/config/sanitizers/BUILD.gn:20 |
| |
| ### audio_core_trace_enabled |
| Set to |true| to enable collecting execution traces of audio_core, or |false| to remove all |
| tracing overhead. |
| |
| **Current value (from the default):** `true` |
| |
| From //src/media/audio/audio_core/BUILD.gn:13 |
| |
| ### auto_login_to_guest |
| Whether basemgr should use a random identifier for sessions, leading to |
| a different persistent data location for every session. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/modular/bin/basemgr/BUILD.gn:15 |
| |
| ### auto_update_packages |
| Whether the component loader should automatically update packages. |
| |
| **Current value (from the default):** `true` |
| |
| From //src/sys/sysmgr/BUILD.gn:10 |
| |
| ### avb_algorithm |
| AVB algorithm type.Supported options: |
| SHA256_RSA2048 |
| SHA256_RSA4096 |
| SHA256_RSA8192 |
| SHA512_RSA2048 |
| SHA512_RSA4096 |
| SHA512_RSA8192 |
| |
| **Current value (from the default):** `"SHA512_RSA4096"` |
| |
| From //build/images/vbmeta.gni:33 |
| |
| ### avb_atx_metadata |
| AVB metadata which will be used to validate public key |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/vbmeta.gni:24 |
| |
| ### avb_key |
| a key which will be used to sign VBMETA and images for AVB |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/vbmeta.gni:21 |
| |
| ### base_cache_packages_allow_testonly |
| Whether to allow testonly=true targets in base/cache pacakges. Default to |
| true to allow testonly=true targets. It is preferrable to set to false for |
| production builds to avoid accidental inclusion of testing targets. |
| |
| **Current value (from the default):** `true` |
| |
| From //BUILD.gn:76 |
| |
| ### base_package_labels |
| If you add package labels to this variable, the packages will be included in |
| the 'base' package set, which represents the set of packages that are part |
| of an OTA. These pacakages are updated as an atomic unit during an OTA |
| process and are immutable and are a superset of the TCB (Trusted Computing |
| Base) for a product. These packages are never evicted by the system. |
| |
| **Current value for `target_cpu = "arm64"`:** `["//build/info:build-info", "//garnet/bin/http", "//src/connectivity/network/http_client", "//garnet/bin/log_listener:log_listener", "//garnet/bin/log_listener:log_listener_shell", "//garnet/bin/network_time_service", "//garnet/bin/scpi", "//garnet/bin/setui:setui_service", "//garnet/bin/sshd-host", "//garnet/bin/sshd-host:config", "//garnet/bin/sysmgr", "//garnet/bin/sysmgr:network_config", "//garnet/bin/sysmgr:services_config", "//garnet/bin/timezone", "//src/cobalt/bin/app:cobalt", "//src/cobalt/bin/app:cobalt_registry", "//src/cobalt/bin/app:config", "//src/cobalt/bin/system-metrics:cobalt_system_metrics", "//src/connectivity/bluetooth:core", "//src/connectivity/management:network_config_default", "//src/connectivity/network/mdns/bundles:config", "//src/connectivity/network/mdns/bundles:services", "//src/connectivity/network/net-cli", "//src/connectivity/network:config", "//src/connectivity/wlan:packages", "//src/connectivity/wlan/config:default", "//src/developer/exception_broker", "//src/developer/feedback/bugreport", "//src/developer/feedback/crash_reports:crash-reports", "//src/developer/feedback/feedback_data:feedback_agent", "//src/developer/feedback/last_reboot:last-reboot", "//src/developer/remote-control:pkg", "//src/diagnostics/archivist", "//src/diagnostics/archivist:with_default_config", "//src/hwinfo:hwinfo", "//src/hwinfo:default_product_config", "//src/media/audio/bundles:audio_config", "//src/recovery/factory_reset", "//src/security/policy:appmgr_policy_eng", "//src/security/root_ssl_certificates", "//src/sys/appmgr", "//src/sys/appmgr:appmgr_scheme_config", "//src/sys/appmgr:core_component_id_index", "//src/sys/core", "//src/sys/device_settings:device_settings_manager", "//src/sys/pkg:core", "//src/sys/pkg:pkgfs-disable-executability-restrictions", "//src/sys/pkg:system-update-checker", "//src/sys/pkg/bin/pkg-resolver:enable_dynamic_configuration", "//src/sys/stash:pkg", "//src/sys/timekeeper", "//third_party/openssh-portable/fuchsia/developer-keys:ssh_config", "//src/sys/pkg:tools", "//tools/cargo-gnaw", "//bundles:kitchen_sink"]` |
| |
| From //root_build_dir/args.gn:3 |
| |
| **Overridden from the default:** `[]` |
| |
| From //BUILD.gn:25 |
| |
| **Current value for `target_cpu = "x64"`:** `["//build/info:build-info", "//garnet/bin/http", "//src/connectivity/network/http_client", "//garnet/bin/log_listener:log_listener", "//garnet/bin/log_listener:log_listener_shell", "//garnet/bin/network_time_service", "//garnet/bin/scpi", "//garnet/bin/setui:setui_service", "//garnet/bin/sshd-host", "//garnet/bin/sshd-host:config", "//garnet/bin/sysmgr", "//garnet/bin/sysmgr:network_config", "//garnet/bin/sysmgr:services_config", "//garnet/bin/timezone", "//src/cobalt/bin/app:cobalt", "//src/cobalt/bin/app:cobalt_registry", "//src/cobalt/bin/app:config", "//src/cobalt/bin/system-metrics:cobalt_system_metrics", "//src/connectivity/bluetooth:core", "//src/connectivity/management:network_config_default", "//src/connectivity/network/mdns/bundles:config", "//src/connectivity/network/mdns/bundles:services", "//src/connectivity/network/net-cli", "//src/connectivity/network:config", "//src/connectivity/wlan:packages", "//src/connectivity/wlan/config:default", "//src/developer/exception_broker", "//src/developer/feedback/bugreport", "//src/developer/feedback/crash_reports:crash-reports", "//src/developer/feedback/feedback_data:feedback_agent", "//src/developer/feedback/last_reboot:last-reboot", "//src/developer/remote-control:pkg", "//src/diagnostics/archivist", "//src/diagnostics/archivist:with_default_config", "//src/hwinfo:hwinfo", "//src/hwinfo:default_product_config", "//src/media/audio/bundles:audio_config", "//src/recovery/factory_reset", "//src/security/policy:appmgr_policy_eng", "//src/security/root_ssl_certificates", "//src/sys/appmgr", "//src/sys/appmgr:appmgr_scheme_config", "//src/sys/appmgr:core_component_id_index", "//src/sys/core", "//src/sys/device_settings:device_settings_manager", "//src/sys/pkg:core", "//src/sys/pkg:pkgfs-disable-executability-restrictions", "//src/sys/pkg:system-update-checker", "//src/sys/pkg/bin/pkg-resolver:enable_dynamic_configuration", "//src/sys/stash:pkg", "//src/sys/timekeeper", "//third_party/openssh-portable/fuchsia/developer-keys:ssh_config", "//src/sys/pkg:tools", "//tools/cargo-gnaw", "//bundles:kitchen_sink"]` |
| |
| From //root_build_dir/args.gn:3 |
| |
| **Overridden from the default:** `[]` |
| |
| From //BUILD.gn:25 |
| |
| ### basic_env_names |
| The list of environment names to include in "basic_envs". |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/testing/environments.gni:14 |
| |
| ### blob_blobfs_maximum_bytes |
| For build/images:fvm.blob.sparse.blk, use this argument. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:70 |
| |
| ### blob_blobfs_minimum_data_bytes |
| For build/images:fvm.blob.sparse.blk, use this argument. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:56 |
| |
| ### blob_blobfs_minimum_inodes |
| For build/images:fvm.blob.sparse.blk, use this argument. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:45 |
| |
| ### blobfs_maximum_bytes |
| In addition to reserving space for inodes and data, fs needs additional |
| space for maintaining some internal data structures. So the |
| space required to reserve inodes and data may exceed sum of the space |
| needed for inodes and data. |
| maximum_bytes puts an upper bound on the total bytes reserved for inodes, |
| data bytes and reservation for all other internal fs metadata. |
| An empty string does not put any upper bound. A filesystem may |
| reserve few blocks required for its operations. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:66 |
| |
| ### blobfs_minimum_data_bytes |
| Number of bytes to reserve for data in the fs. This is in addition |
| to what is reserved, if any, for the inodes. Data bytes constitutes |
| "usable" space of the fs. |
| An empty string does not reserve any additional space than minimum |
| required for the filesystem. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:52 |
| |
| ### blobfs_minimum_inodes |
| minimum_inodes is the number of inodes to reserve for the fs |
| An empty string does not reserve any additional space than minimum |
| required for the filesystem. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:41 |
| |
| ### board_bootfs_labels |
| A list of bootfs manifest labels to include in the ZBI. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/board.gni:14 |
| |
| ### board_extra_vbmeta_images |
| Board level extra vbmeta images to be combined into the top-level vbmeta |
| struct. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/vbmeta.gni:40 |
| |
| ### board_has_libvulkan_arm_mali |
| Board files can set this to true if they have a package with a mali libvulkan VCD. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:49 |
| |
| ### board_kernel_cmdline_args |
| List of kernel command line this board to bake into the boot image that are |
| required by this board. See also kernel_cmdline_args in |
| //build/images/BUILD.gn |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/board.gni:19 |
| |
| ### board_name |
| Board name used for paving and amber updates. |
| |
| **Current value for `target_cpu = "arm64"`:** `"qemu-arm64"` |
| |
| From //boards/arm64.gni:7 |
| |
| **Overridden from the default:** `""` |
| |
| From //build/board.gni:7 |
| |
| **Current value for `target_cpu = "x64"`:** `"x64"` |
| |
| From //boards/x64.gni:7 |
| |
| **Overridden from the default:** `""` |
| |
| From //build/board.gni:7 |
| |
| ### board_package_labels |
| A list of package labels to include in the 'base' package set. Used by the |
| board definition rather than the product definition. |
| |
| **Current value for `target_cpu = "arm64"`:** `["//garnet/bin/power_manager", "//garnet/bin/power_manager:base_config", "//garnet/bin/thermd", "//garnet/bin/thermd:config", "//garnet/packages/prod:drivers", "//src/media/audio/bundles:virtual_audio_driver"]` |
| |
| From //boards/arm64.gni:9 |
| |
| **Overridden from the default:** `[]` |
| |
| From //build/board.gni:11 |
| |
| **Current value for `target_cpu = "x64"`:** `["//garnet/bin/power_manager", "//garnet/bin/power_manager:base_config", "//garnet/bin/thermd", "//garnet/bin/thermd:config", "//garnet/packages/prod:drivers", "//src/hwinfo:default_board_config", "//src/media/audio/bundles:virtual_audio_driver"]` |
| |
| From //boards/x64.gni:9 |
| |
| **Overridden from the default:** `[]` |
| |
| From //build/board.gni:11 |
| |
| ### board_zedboot_cmdline_args |
| List of kernel command line arguments to bake into the zedboot image that are |
| required by this board. See also zedboot_cmdline_args in |
| //build/images/zedboot/BUILD.gn |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/board.gni:24 |
| |
| ### bootfs_allowlist_recovery |
| List of binaries to include in the bootfs manifest for recovery. This |
| overrides the option set by `bootfs_zircon_groups` so that only the requested |
| binaries are included in the final image. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/recovery/BUILD.gn:15 |
| |
| ### bootfs_extra |
| List of extra manifest entries for files to add to the BOOTFS. |
| Each entry can be a "TARGET=SOURCE" string, or it can be a scope |
| with `sources` and `outputs` in the style of a copy() target: |
| `outputs[0]` is used as `TARGET` (see `gn help source_expansion`). |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/args.gni:35 |
| |
| ### bootfs_only |
| Put the "system image" package in the BOOTFS. Hence what would |
| otherwise be /system/... at runtime is /boot/... instead. |
| |
| **Current value for `target_cpu = "arm64"`:** `false` |
| |
| From //products/core.gni:11 |
| |
| **Overridden from the default:** `false` |
| |
| From //build/images/args.gni:14 |
| |
| **Current value for `target_cpu = "x64"`:** `false` |
| |
| From //products/core.gni:11 |
| |
| **Overridden from the default:** `false` |
| |
| From //build/images/args.gni:14 |
| |
| ### bootloader_hw_revision |
| (deprecated) HW revision of the bootloader to be included into OTA package |
| and paving process. |
| |
| See `firmware_prebuilts_path_suffix` instead. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:53 |
| |
| ### bootloader_prebuilt |
| (deprecated) Prebuilt bootloader image to be included into update (OTA) |
| package and paving process. |
| |
| See `firmware_prebuilts` instead. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:47 |
| |
| ### build_all_vp9_file_decoder_conformance_tests |
| |
| **Current value (from the default):** `false` |
| |
| From //src/media/codec/examples/BUILD.gn:10 |
| |
| ### build_id_format |
| Build ID algorithm to use for Fuchsia-target code. This does not apply |
| to host or guest code. The value is the argument to the linker's |
| `--build-id=...` switch. If left empty (the default), the linker's |
| default format is used. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/config/fuchsia/BUILD.gn:16 |
| |
| ### build_info_board |
| Board configuration of the current build |
| |
| **Current value (from the default):** `"qemu-arm64"` |
| |
| From //build/info/info.gni:12 |
| |
| ### build_info_product |
| Product configuration of the current build |
| |
| **Current value (from the default):** `""` |
| |
| From //build/info/info.gni:9 |
| |
| ### build_info_version |
| Logical version of the current build. If not set, defaults to the timestamp |
| of the most recent update. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/info/info.gni:16 |
| |
| ### build_libvulkan_arm_mali |
| Targets that will be built as mali vulkan ICDS. |
| |
| **Current value (from the default):** `[]` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:37 |
| |
| ### build_libvulkan_goldfish |
| This is a list of targets that will be built as goldfish vulkan ICDs. |
| |
| **Current value (from the default):** `[]` |
| |
| From //src/graphics/lib/goldfish-vulkan/gnbuild/BUILD.gn:18 |
| |
| ### build_libvulkan_img_rgx |
| Targets that will be built as IMG vulkan ICDS. |
| |
| **Current value (from the default):** `[]` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:46 |
| |
| ### build_libvulkan_qcom_adreno |
| Targets that will be built as qualcomm vulkan ICDS. |
| |
| **Current value (from the default):** `[]` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:43 |
| |
| ### build_libvulkan_vsl_gc |
| Targets that will be built as verisilicon vulkan ICDS. |
| |
| **Current value (from the default):** `[]` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:40 |
| |
| ### build_sdk_archives |
| Whether to build SDK tarballs. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/sdk/config.gni:7 |
| |
| ### cache_package_labels |
| If you add package labels to this variable, the packages will be included |
| in the 'cache' package set, which represents an additional set of software |
| that is made available on disk immediately after paving and in factory |
| flows. These packages are not updated with an OTA, but instead are updated |
| ephemerally. This cache of software can be evicted by the system if storage |
| pressure arises or other policies indicate. |
| |
| **Current value for `target_cpu = "arm64"`:** `[]` |
| |
| From //products/core.gni:91 |
| |
| **Overridden from the default:** `[]` |
| |
| From //BUILD.gn:33 |
| |
| **Current value for `target_cpu = "x64"`:** `[]` |
| |
| From //products/core.gni:91 |
| |
| **Overridden from the default:** `[]` |
| |
| From //BUILD.gn:33 |
| |
| ### camera_debug |
| |
| **Current value (from the default):** `false` |
| |
| From //src/camera/debug.gni:6 |
| |
| ### check_production_eligibility |
| Whether to perform check on the build's eligibility for production. |
| If true, base_packages and cache_packages are checked against dependencies |
| on //build/validate:non_production_tag, which is used to tag any |
| non-production GN labels. Build will fail if such dependency is found. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/args.gni:108 |
| |
| ### clang_lib_dir |
| Path to Clang lib directory. |
| |
| **Current value (from the default):** `"../build/prebuilt/third_party/clang/linux-x64/lib"` |
| |
| From //build/images/manifest.gni:9 |
| |
| ### clang_prefix |
| The default clang toolchain provided by the prebuilt. This variable is |
| additionally consumed by the Go toolchain. |
| |
| **Current value (from the default):** `"../prebuilt/third_party/clang/linux-x64/bin"` |
| |
| From //build/config/clang/clang.gni:12 |
| |
| ### cobalt_environment |
| Selects the Cobalt environment to send data to. Choices: |
| "LOCAL" - record log data locally to a file |
| "DEVEL" - the non-prod environment for use in testing |
| "PROD" - the production environment |
| |
| **Current value (from the default):** `"PROD"` |
| |
| From //src/cobalt/bin/app/BUILD.gn:15 |
| |
| ### compress_blobs |
| Whether to compress the blobfs image. |
| |
| **Current value (from the default):** `true` |
| |
| From //build/images/args.gni:111 |
| |
| ### concurrent_dart_jobs |
| Maximum number of Dart processes to run in parallel. |
| |
| Dart analyzer uses a lot of memory which may cause issues when building |
| with many parallel jobs e.g. when using goma. To avoid out-of-memory |
| errors we explicitly reduce the number of jobs. |
| |
| **Current value (from the default):** `32` |
| |
| From //build/dart/BUILD.gn:15 |
| |
| ### concurrent_go_jobs |
| Maximum number of Go processes to run in parallel. |
| |
| **Current value (from the default):** `32` |
| |
| From //build/go/BUILD.gn:11 |
| |
| ### concurrent_link_jobs |
| Maximum number of concurrent link jobs. |
| |
| We often want to run fewer links at once than we do compiles, because |
| linking is memory-intensive. The default to use varies by platform and by |
| the amount of memory available, so we call out to a script to get the right |
| value. |
| |
| **Current value (from the default):** `32` |
| |
| From //build/toolchain/BUILD.gn:15 |
| |
| ### concurrent_rust_jobs |
| Maximum number of Rust processes to run in parallel. |
| |
| We run multiple rustc jobs in parallel, each of which can cause significant |
| amount of memory, especially when using LTO. To avoid out-of-memory errors |
| we explicitly reduce the number of jobs. |
| |
| **Current value (from the default):** `32` |
| |
| From //build/rust/BUILD.gn:15 |
| |
| ### config_have_heap |
| Tells openweave to include files that require heap access. |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:32](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#32) |
| |
| ### crash_diagnostics_dir |
| Clang crash reports directory path. Use empty path to disable altogether. |
| |
| **Current value (from the default):** `"//root_build_dir/clang-crashreports"` |
| |
| From //build/config/BUILD.gn:13 |
| |
| ### crashpad_dependencies |
| |
| **Current value (from the default):** `"fuchsia"` |
| |
| From [//third_party/crashpad/build/crashpad_buildconfig.gni:22](https://chromium.googlesource.com/crashpad/crashpad/+/294d233ca09e33e55e6d2419f58199d3a4ab6c32/build/crashpad_buildconfig.gni#22) |
| |
| ### crashpad_use_boringssl_for_http_transport_socket |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/crashpad/util/net/tls.gni:22](https://chromium.googlesource.com/crashpad/crashpad/+/294d233ca09e33e55e6d2419f58199d3a4ab6c32/util/net/tls.gni#22) |
| |
| ### current_cpu |
| |
| **Current value (from the default):** `""` |
| |
| ### current_os |
| |
| **Current value (from the default):** `""` |
| |
| ### custom_signing_script |
| If non-empty, the given script will be invoked to produce a signed ZBI |
| image. The given script must accept -z for the input zbi path, and -o for |
| the output signed zbi path. The path must be in GN-label syntax (i.e. |
| starts with //). |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/custom_signing.gni:12 |
| |
| ### dart_default_app |
| Controls whether dart_app() targets generate JIT or AOT Dart snapshots. |
| This defaults to JIT, use `fx set <ARCH> --args |
| 'dart_default_app="dart_aot_app"' to switch to AOT. |
| |
| **Current value (from the default):** `"dart_jit_app"` |
| |
| From [//topaz/runtime/dart/dart_component.gni:19](https://fuchsia.googlesource.com/topaz/+/922d6dbea6a813d327d42f8d64d7eec9db13faf9/runtime/dart/dart_component.gni#19) |
| |
| ### dart_force_product |
| Forces all Dart and Flutter apps to build in a specific configuration that |
| we use to build products. |
| |
| **Current value (from the default):** `false` |
| |
| From [//topaz/runtime/dart/config.gni:10](https://fuchsia.googlesource.com/topaz/+/922d6dbea6a813d327d42f8d64d7eec9db13faf9/runtime/dart/config.gni#10) |
| |
| ### dart_space_dart |
| Whether experimental space dart mode is enabled for Dart applications. |
| |
| **Current value (from the default):** `false` |
| |
| From [//topaz/runtime/dart/dart_component.gni:35](https://fuchsia.googlesource.com/topaz/+/922d6dbea6a813d327d42f8d64d7eec9db13faf9/runtime/dart/dart_component.gni#35) |
| |
| ### data_partition_manifest |
| Path to manifest file containing data to place into the initial /data |
| partition. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:72 |
| |
| ### debian_guest_earlycon |
| |
| **Current value (from the default):** `false` |
| |
| From //src/virtualization/packages/debian_guest/BUILD.gn:10 |
| |
| ### debian_guest_qcow |
| Package the rootfs as a QCOW image (as opposed to a flat file). |
| |
| **Current value (from the default):** `true` |
| |
| From //src/virtualization/packages/debian_guest/BUILD.gn:9 |
| |
| ### debug_zircon_libraries_more |
| Use this flag to optimize source libraries imported from Zircon the same was |
| as other libraries in this build. |
| By default, they are optimized the same as in the ZN build, which leaves |
| less debugging information available. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/unification/config/BUILD.gn:10 |
| |
| ### devmgr_config |
| List of arguments to add to /boot/config/devmgr. |
| These come after synthesized arguments to configure blobfs and pkgfs. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/args.gni:18 |
| |
| ### enable_api_diff |
| Detect dart API changes |
| TODO(fxb/36723, fxb/6623) Remove this flag once issues are resolved |
| |
| **Current value (from the default):** `false` |
| |
| From //build/dart/dart_library.gni:17 |
| |
| ### enable_dart_analysis |
| Enable all dart analysis |
| |
| **Current value (from the default):** `true` |
| |
| From //build/dart/dart_library.gni:13 |
| |
| ### enable_frame_pointers |
| Controls whether the compiler emits full stack frames for function calls. |
| This reduces performance but increases the ability to generate good |
| stack traces, especially when we have bugs around unwind table generation. |
| It applies only for Fuchsia targets (see below where it is unset). |
| |
| TODO(ZX-2361): Theoretically unwind tables should be good enough so we can |
| remove this option when the issues are addressed. |
| |
| **Current value (from the default):** `true` |
| |
| From //build/config/BUILD.gn:23 |
| |
| ### enable_gfx_subsystem |
| |
| **Current value (from the default):** `true` |
| |
| From //src/ui/scenic/bin/BUILD.gn:11 |
| |
| ### enable_input_subsystem |
| |
| **Current value (from the default):** `true` |
| |
| From //src/ui/scenic/bin/BUILD.gn:12 |
| |
| ### enable_mdns_trace |
| Enables the tracing feature of mdns, which can be turned on using |
| "mdns-util verbose". |
| |
| **Current value (from the default):** `false` |
| |
| From //src/connectivity/network/mdns/service/BUILD.gn:15 |
| |
| ### enable_netboot |
| Whether to build the netboot zbi by default. |
| |
| You can still build //build/images:netboot explicitly even if enable_netboot is false. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/args.gni:77 |
| |
| ### escher_test_for_glsl_spirv_mismatch |
| If true, this enables the |SpirvNotChangedTest| to check if the precompiled |
| shaders on disk are up to date and reflect the current shader source code |
| compiled with the latest shaderc tools/optimizations. People on the Scenic |
| team should build with this flag turned on to make sure that any shader |
| changes that were not run through the precompiler have their updated spirv |
| written to disk. Other teams and CQ do not need to worry about this flag. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/ui/lib/escher/build_args.gni:26 |
| |
| ### escher_use_null_vulkan_config_on_host |
| Using Vulkan on host (i.e. Linux) is an involved affair that involves |
| downloading the Vulkan SDK, setting environment variables, and so forth... |
| all things that are difficult to achieve in a CQ environment. Therefore, |
| by default we use a stub implementation of Vulkan which fails to create a |
| VkInstance. This allows everything to build, and also allows running Escher |
| unit tests which don't require Vulkan. |
| |
| **Current value (from the default):** `true` |
| |
| From //src/ui/lib/escher/build_args.gni:12 |
| |
| ### escher_use_runtime_glsl |
| Determines whether or not escher will build with the glslang and shaderc |
| libraries. When false, these libraries will not be included in the scenic/ |
| escher binary and as a result shaders will not be able to be compiled at |
| runtime. Precompiled spirv code will be loaded into memory from disk instead. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/ui/lib/escher/build_args.gni:18 |
| |
| ### exclude_testonly_syscalls |
| If true, excludes syscalls with the [testonly] attribute. |
| |
| **Current value (from the default):** `false` |
| |
| From //zircon/vdso/vdso.gni:7 |
| |
| ### expat_build_root |
| |
| **Current value (from the default):** `"//third_party/expat"` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:14 |
| |
| ### experimental_wlan_client_mlme |
| Selects the SoftMAC client implementation to use. Choices: |
| false (default) - C++ Client MLME implementation |
| true - Rust Client MLME implementation |
| This argument is temporary until Rust MLME is ready to be used. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/connectivity/wlan/lib/mlme/cpp/BUILD.gn:10 |
| |
| ### extra_manifest_args |
| Extra args to globally apply to the manifest generation script. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/manifest.gni:12 |
| |
| ### extra_package_labels |
| |
| **Current value (from the default):** `[]` |
| |
| From //third_party/cobalt/BUILD.gn:9 |
| |
| ### extra_variants |
| Additional variant toolchain configs to support. |
| This is just added to [`known_variants`](#known_variants). |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/config/BUILDCONFIG.gn:671 |
| |
| ### fastboot_product |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:91 |
| |
| ### fidl_write_v1_wireformat |
| TODO(fxb/41298): This is a temporary change to activate writing the |
| v1 FIDL wire-format selectively. Remove this when all bindings start |
| writing v1 wire-format by default. |
| |
| **Current value (from the default):** `true` |
| |
| From //build/fidl/wireformat.gni:9 |
| |
| ### fidlc_deprecate_c_unions |
| |
| **Current value (from the default):** `false` |
| |
| From //zircon/tools/fidl/BUILD.gn:7 |
| |
| ### fidlc_union_not_simple |
| |
| **Current value (from the default):** `false` |
| |
| From //zircon/tools/fidl/BUILD.gn:6 |
| |
| ### filter_out_of_astro |
| Use this flag to exclude artifacts from Astro builds. |
| This is a very hacky way of ensuring that the resulting fuchsia.zbi fits |
| within the available space on device. |
| This will soon enough be replaced with a proper way to select image |
| artifacts based on board / product properties. |
| Artifacts that are known to not be useful on Astro builds (e.g. drivers for |
| other devices, tests) may be put in `if (!filter_out_of_astro)` blocks. |
| TODO(45680): remove this hack. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/unification/images/common_image_contents.gni:14 |
| |
| ### firmware_prebuilts |
| List of prebuilt firmware blobs to include in update packages. |
| |
| Each entry in the list is a scope defining `path` and `type`. A build can |
| only have a single firmware blob of each `type`. |
| |
| Note that `firmware_prebuilts_path_suffix` will be automatically appended to |
| all `path` variables, so do not include the suffix here. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/args.gni:62 |
| |
| ### firmware_prebuilts_path_suffix |
| Suffix to append to all `firmware_prebuilts` paths. |
| |
| Typically this indicates the hardware revision, and is made available so |
| that users can easily switch revisions using a single arg. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:68 |
| |
| ### flutter_default_app |
| |
| **Current value (from the default):** `"flutter_jit_app"` |
| |
| From [//topaz/runtime/dart/dart_component.gni:12](https://fuchsia.googlesource.com/topaz/+/922d6dbea6a813d327d42f8d64d7eec9db13faf9/runtime/dart/dart_component.gni#12) |
| |
| ### flutter_driver_enabled |
| Enables/Disables flutter driver using '--args=flutter_driver_enabled=[true/false]' |
| in fx set. (Disabled by default) |
| This is effective only on debug builds. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/testing/flutter_driver.gni:9 |
| |
| ### flutter_profile |
| |
| **Current value (from the default):** `true` |
| |
| From [//topaz/runtime/dart/dart_component.gni:26](https://fuchsia.googlesource.com/topaz/+/922d6dbea6a813d327d42f8d64d7eec9db13faf9/runtime/dart/dart_component.gni#26) |
| |
| ### flutter_space_dart |
| Whether experimental space dart mode is enabled for Flutter applications. |
| |
| **Current value (from the default):** `false` |
| |
| From [//topaz/runtime/dart/dart_component.gni:32](https://fuchsia.googlesource.com/topaz/+/922d6dbea6a813d327d42f8d64d7eec9db13faf9/runtime/dart/dart_component.gni#32) |
| |
| ### font_catalog_paths |
| |
| **Current value (from the default):** `["//prebuilt/third_party/fonts/fuchsia.font_catalog.json"]` |
| |
| From //src/fonts/build/font_args.gni:17 |
| |
| ### font_pkg_entries |
| Merged contents of .font_pkgs.json files. Populated in fonts.gni. |
| |
| **Current value (from the default):** `[]` |
| |
| From //src/fonts/build/font_args.gni:32 |
| |
| ### font_pkgs_paths |
| Locations of .font_pkgs.json files, which list the locations of font files |
| within the workspace, as well as safe names that are derived from the fonts' |
| file names and can be used to name Fuchsia packages. |
| |
| **Current value (from the default):** `["//prebuilt/third_party/fonts/fuchsia.font_pkgs.json"]` |
| |
| From //src/fonts/build/font_args.gni:22 |
| |
| ### fonts_dir |
| Directory into which all fonts are checked out from CIPD |
| |
| **Current value (from the default):** `"//prebuilt/third_party/fonts"` |
| |
| From //src/fonts/build/font_args.gni:12 |
| |
| ### fuchsia_sdk_root |
| Consumers of the Fuchsia SDK instantiate templates for various SDK parts at |
| a specific spot within their buildroots. The target name for the specific |
| part is then derived from the part name as specified in the meta.json |
| manifest. Different buildroot instantiate the SDK parts at different |
| locations and then set this variable. GN rules can then prefix this variable |
| name in SDK builds to the name of the SDK part. This flag is meaningless in |
| non-SDK buildroots. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/fuchsia/sdk.gni:17 |
| |
| ### fuchsia_ta_uuids |
| UUID of TAs to include in the Fuchsia build. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/ta.gni:13 |
| |
| ### fvm_image_size |
| The size in bytes of the FVM partition image to create. Normally this is |
| computed to be just large enough to fit the blob and data images. The |
| default value is "", which means to size based on inputs. Specifying a size |
| that is too small will result in build failure. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:12 |
| |
| ### fvm_max_disk_size |
| The max size of the disk where the FVM is written. This is used for |
| preallocating metadata to determine how much the FVM can expand on disk. |
| Only applies to sparse FVM images. At sparse image construction time, the |
| build fails if the inputs are larger than `fvm_max_disk_size`. At paving |
| time, the FVM will be sized to the target's disk size up to |
| `fvm_max_disk_size`. If the size of the disk increases after initial paving, |
| the FVM will resize up to `fvm_max_disk_size`. During paving, if the target |
| FVM has declared a smaller size than `fvm_max_disk_size`, the FVM is |
| reinitialized to the larger size. |
| The default value is "" which sets the max disk size to the size of the disk |
| at pave/format time. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:25 |
| |
| ### fvm_slice_size |
| The size of the FVM partition images "slice size". The FVM slice size is a |
| minimum size of a particular chunk of a partition that is stored within |
| FVM. A very small slice size may lead to decreased throughput. A very large |
| slice size may lead to wasted space. The selected default size of 8mb is |
| selected for conservation of space, rather than performance. |
| |
| **Current value (from the default):** `"8388608"` |
| |
| From //build/images/fvm.gni:32 |
| |
| ### glm_build_root |
| |
| **Current value (from the default):** `"//third_party/glm"` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:17 |
| |
| ### go_vet_enabled |
| go_vet_enabled |
| [bool] if false, go vet invocations are disabled for all builds. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/go/go_build.gni:21 |
| |
| ### gocache_dir |
| gocache_dir |
| Directory GOCACHE environment variable will be set to. This directory |
| will have build and test results cached, and is safe to be written to |
| concurrently. If overridden, this directory must be a full path. |
| |
| **Current value (from the default):** `"/b/s/w/ir/k/root_build_dir/fidling/.gocache"` |
| |
| From //build/go/go_build.gni:17 |
| |
| ### goma_dir |
| Directory containing the Goma source code. This can be a GN |
| source-absolute path ("//...") or a system absolute path. |
| |
| **Current value (from the default):** `"//prebuilt/third_party/goma/linux-x64"` |
| |
| From //build/toolchain/goma.gni:15 |
| |
| ### graphics_compute_generate_debug_shaders |
| Set to true in your args.gn file to generate pre-processed and |
| auto-formatted shaders under the "debug" sub-directory of HotSort |
| and Spinel target generation output directories. |
| |
| These are never used, but can be reviewed manually to verify the |
| impact of configuration parameters, or when modifying a compute |
| shader. |
| |
| Example results: |
| |
| out/default/ |
| gen/src/graphics/lib/compute/ |
| hotsort/targets/hs_amd_gcn3_u64/ |
| comp/ |
| hs_transpose.comp -> unpreprocessed shader |
| debug/ |
| hs_transpose.glsl -> preprocessed shader |
| |
| |
| **Current value (from the default):** `true` |
| |
| From //src/graphics/lib/compute/gn/glsl_shader_rules.gni:28 |
| |
| ### graphics_compute_skip_spirv_opt |
| At times we may want to compare the performance of unoptimized |
| vs. optimized shaders. On desktop platforms, use of spirv-opt |
| doesn't appear to provide major performance improvements but it |
| significantly reduces the size of the SPIR-V modules. |
| |
| Disabling the spirv-opt pass may also be useful in identifying and |
| attributing code generation bugs. |
| |
| |
| **Current value (from the default):** `true` |
| |
| From //src/graphics/lib/compute/gn/glsl_shader_rules.gni:38 |
| |
| ### graphics_compute_verbose_compile |
| The glslangValidator compiler is noisy by default. A cleanly |
| compiling shader still prints out its filename. |
| |
| This negatively impacts the GN build. |
| |
| For this reason, we silence the compiler with the "-s" option but |
| unfortunately this also disables all error reporting. |
| |
| Set to true to see detailed error reporting. |
| |
| |
| **Current value (from the default):** `false` |
| |
| From //src/graphics/lib/compute/gn/glsl_shader_rules.gni:50 |
| |
| ### host_byteorder |
| |
| **Current value (from the default):** `"undefined"` |
| |
| From //build/config/host_byteorder.gni:7 |
| |
| ### host_cpu |
| |
| **Current value (from the default):** `"x64"` |
| |
| ### host_os |
| |
| **Current value (from the default):** `"linux"` |
| |
| ### host_tools_dir |
| This is the directory where host tools intended for manual use by |
| developers get installed. It's something a developer might put |
| into their shell's $PATH. Host tools that are just needed as part |
| of the build do not get copied here. This directory is only for |
| things that are generally useful for testing or debugging or |
| whatnot outside of the GN build itself. These are only installed |
| by an explicit install_host_tools() rule (see //build/host.gni). |
| |
| **Current value (from the default):** `"//root_build_dir/host-tools"` |
| |
| From //build/host.gni:13 |
| |
| ### icu_use_data_file |
| Tells icu to load an external data file rather than rely on the icudata |
| being linked directly into the binary. |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/icu/config.gni:8](https://fuchsia.googlesource.com/third_party/icu/+/995c0373ab900da6cbf97cb3074d9f475efaa915/config.gni#8) |
| |
| ### include_devmgr_config_in_vbmeta |
| If true, /config/devmgr config will be included into a vbmeta image |
| instead of bootfs. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/vbmeta.gni:18 |
| |
| ### include_fvm_blob_sparse |
| Include fvm.blob.sparse.blk image into the build if set to true |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/args.gni:121 |
| |
| ### include_internal_fonts |
| Set to true to include internal fonts in the build. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/fonts/build/font_args.gni:7 |
| |
| ### include_tests_that_fail_on_nuc_asan |
| Whether to include tests that are known to fail on NUC with ASan. |
| Should be set to false in the infra builders that have board == "x64" and |
| "asan" in variants. |
| |
| **Current value (from the default):** `true` |
| |
| From //build/testing/environments.gni:11 |
| |
| ### include_zxdb_large_tests |
| Normally these tests are not built and run because they require large amounts of optional data |
| be downloaded. Set this to true to enable the build for the zxdb_large_tests. |
| See symbols/test_data/README.md for how to download the data required for this test. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/developer/debug/zxdb/BUILD.gn:13 |
| |
| ### inet_config_enable_async_dns_sockets |
| Tells inet to support additionally support async dns sockets. |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:17](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#17) |
| |
| ### inet_want_endpoint_dns |
| Tells inet to include support for the corresponding protocol. |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:10](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#10) |
| |
| ### inet_want_endpoint_raw |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:11](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#11) |
| |
| ### inet_want_endpoint_tcp |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:12](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#12) |
| |
| ### inet_want_endpoint_tun |
| |
| **Current value (from the default):** `false` |
| |
| From [//third_party/openweave-core/config.gni:14](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#14) |
| |
| ### inet_want_endpoint_udp |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:13](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#13) |
| |
| ### is_debug |
| Debug build. |
| |
| **Current value (from the default):** `true` |
| |
| From //build/config/BUILDCONFIG.gn:25 |
| |
| ### kernel_cmdline_args |
| List of kernel command line arguments to bake into the boot image. |
| See also [kernel_cmdline](/docs/reference/kernel/kernel_cmdline.md) and |
| [`devmgr_config`](#devmgr_config). |
| |
| **Current value for `target_cpu = "arm64"`:** `["console.shell=true", "kernel.enable-debugging-syscalls=true", "kernel.enable-serial-syscalls=true", "netsvc.all-features=true", "netsvc.disable=false", "kernel.oom.behavior=reboot"]` |
| |
| From //products/core.gni:17 |
| |
| **Overridden from the default:** `[]` |
| |
| From //build/images/args.gni:23 |
| |
| **Current value for `target_cpu = "x64"`:** `["console.shell=true", "kernel.enable-debugging-syscalls=true", "kernel.enable-serial-syscalls=true", "netsvc.all-features=true", "netsvc.disable=false", "kernel.oom.behavior=reboot"]` |
| |
| From //products/core.gni:17 |
| |
| **Overridden from the default:** `[]` |
| |
| From //build/images/args.gni:23 |
| |
| ### kernel_cmdline_files |
| Files containing additional kernel command line arguments to bake into |
| the boot image. The contents of these files (in order) come after any |
| arguments directly in [`kernel_cmdline_args`](#kernel_cmdline_args). |
| These can be GN `//` source pathnames or absolute system pathnames. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/args.gni:29 |
| |
| ### known_variants |
| List of variants that will form the basis for variant toolchains. |
| To make use of a variant, set [`select_variant`](#select_variant). |
| |
| Normally this is not set as a build argument, but it serves to |
| document the available set of variants. |
| See also [`universal_variants`](#universal_variants). |
| Only set this to remove all the default variants here. |
| To add more, set [`extra_variants`](#extra_variants) instead. |
| |
| Each element of the list is one variant, which is a scope defining: |
| |
| `configs` (optional) |
| [list of labels] Each label names a config that will be |
| automatically used by every target built in this variant. |
| For each config `${label}`, there must also be a target |
| `${label}_deps`, which each target built in this variant will |
| automatically depend on. The `variant()` template is the |
| recommended way to define a config and its `_deps` target at |
| the same time. |
| |
| `remove_common_configs` (optional) |
| `remove_shared_configs` (optional) |
| [list of labels] This list will be removed (with `-=`) from |
| the `default_common_binary_configs` list (or the |
| `default_shared_library_configs` list, respectively) after |
| all other defaults (and this variant's configs) have been |
| added. |
| |
| `deps` (optional) |
| [list of labels] Added to the deps of every target linked in |
| this variant (as well as the automatic `${label}_deps` for |
| each label in configs). |
| |
| `name` (required if configs is omitted) |
| [string] Name of the variant as used in |
| [`select_variant`](#select_variant) elements' `variant` fields. |
| It's a good idea to make it something concise and meaningful when |
| seen as e.g. part of a directory name under `$root_build_dir`. |
| If name is omitted, configs must be nonempty and the simple names |
| (not the full label, just the part after all `/`s and `:`s) of these |
| configs will be used in toolchain names (each prefixed by a "-"), |
| so the list of config names forming each variant must be unique |
| among the lists in `known_variants + extra_variants`. |
| |
| `toolchain_args` (optional) |
| [scope] Each variable defined in this scope overrides a |
| build argument in the toolchain context of this variant. |
| |
| `host_only` (optional) |
| `target_only` (optional) |
| [scope] This scope can contain any of the fields above. |
| These values are used only for host or target, respectively. |
| Any fields included here should not also be in the outer scope. |
| |
| |
| **Current value (from the default):** |
| ``` |
| [{ |
| configs = ["//build/config/lto"] |
| }, { |
| configs = ["//build/config/lto:thinlto"] |
| }, { |
| configs = ["//build/config/profile"] |
| instrumented = true |
| }, { |
| configs = ["//build/config/scudo"] |
| }, { |
| configs = ["//build/config/sanitizers:ubsan"] |
| instrumented = true |
| }, { |
| configs = ["//build/config/sanitizers:ubsan", "//build/config/sanitizers:sancov"] |
| instrumented = true |
| }, { |
| configs = ["//build/config/sanitizers:asan"] |
| host_only = { |
| remove_shared_configs = ["//build/config:symbol_no_undefined"] |
| } |
| instrumented = true |
| toolchain_args = { |
| use_scudo = false |
| } |
| }, { |
| configs = ["//build/config/sanitizers:asan", "//build/config/sanitizers:ubsan"] |
| host_only = { |
| remove_shared_configs = ["//build/config:symbol_no_undefined"] |
| } |
| instrumented = true |
| toolchain_args = { |
| use_scudo = false |
| } |
| }, { |
| configs = ["//build/config/sanitizers:asan", "//build/config/sanitizers:sancov"] |
| host_only = { |
| remove_shared_configs = ["//build/config:symbol_no_undefined"] |
| } |
| instrumented = true |
| toolchain_args = { |
| use_scudo = false |
| } |
| }, { |
| configs = ["//build/config/sanitizers:asan"] |
| host_only = { |
| remove_shared_configs = ["//build/config:symbol_no_undefined"] |
| } |
| instrumented = true |
| name = "asan_no_detect_leaks" |
| toolchain_args = { |
| asan_default_options = "detect_leaks=0" |
| use_scudo = false |
| } |
| }, { |
| configs = ["//build/config/sanitizers:asan", "//build/config/sanitizers:rust-asan", "//build/config/sanitizers:fuzzer", "//build/config/fuchsia:icf"] |
| host_only = { |
| remove_shared_configs = ["//build/config:symbol_no_undefined"] |
| } |
| instrumented = true |
| name = "asan-fuzzer" |
| remove_common_configs = ["//build/config/fuchsia:icf"] |
| remove_shared_configs = ["//build/config:symbol_no_undefined"] |
| 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:malloc_context_size=128:print_summary=1:print_suppressions=0:strict_memcmp=0:symbolize=0:clear_shadow_mmap_threshold=0" |
| use_scudo = false |
| } |
| }, { |
| configs = ["//build/config/sanitizers:ubsan", "//build/config/sanitizers:fuzzer", "//build/config/fuchsia:icf"] |
| instrumented = true |
| name = "ubsan-fuzzer" |
| remove_common_configs = ["//build/config/fuchsia:icf"] |
| remove_shared_configs = ["//build/config:symbol_no_undefined"] |
| }] |
| ``` |
| |
| From //build/config/BUILDCONFIG.gn:596 |
| |
| ### launch_basemgr_on_boot |
| Indicates whether to include basemgr.cmx in the boot sequence for the |
| product image. |
| |
| **Current value (from the default):** `true` |
| |
| From //src/modular/build/modular_config/modular_config.gni:12 |
| |
| ### linux_guest_extras_path |
| |
| **Current value (from the default):** `""` |
| |
| From //src/virtualization/packages/linux_guest/BUILD.gn:12 |
| |
| ### linux_runner_extras_tests |
| If `true`, adds additional testonly content to extras.img, which will be |
| built and mounted inside the container at /mnt/chromeos. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/virtualization/packages/biscotti_guest/linux_runner/BUILD.gn:25 |
| |
| ### linux_runner_gateway |
| |
| **Current value (from the default):** `"10.0.0.1"` |
| |
| From //src/virtualization/packages/biscotti_guest/linux_runner/BUILD.gn:20 |
| |
| ### linux_runner_ip |
| Default values for the guest network configuration. |
| |
| These are currently hard-coded to match what is setup in the virtio-net |
| device. |
| |
| See //src/virtualization/bin/vmm/device/virtio_net.cc for more details. |
| |
| **Current value (from the default):** `"10.0.0.2"` |
| |
| From //src/virtualization/packages/biscotti_guest/linux_runner/BUILD.gn:19 |
| |
| ### linux_runner_netmask |
| |
| **Current value (from the default):** `"255.255.255.0"` |
| |
| From //src/virtualization/packages/biscotti_guest/linux_runner/BUILD.gn:21 |
| |
| ### linux_runner_volatile_block |
| If `true`, all block devices that would normally load as READ_WRITE will |
| be loaded as VOLATILE_WRITE. This is useful when working on changes to |
| the linux kernel as crashes and panics can sometimes corrupt the images. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/virtualization/packages/biscotti_guest/linux_runner/BUILD.gn:30 |
| |
| ### local_bench |
| Used to enable local benchmarking/fine-tuning when running benchmarks |
| in `fx shell`. Pass `--args=local_bench='true'` to `fx set` in order to |
| enable it. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/developer/fuchsia-criterion/BUILD.gn:14 |
| |
| ### log_startup_sleep |
| |
| **Current value (from the default):** `"30000"` |
| |
| From //garnet/bin/log_listener/BUILD.gn:15 |
| |
| ### magma_build_root |
| |
| **Current value (from the default):** `"//src/graphics/lib/magma"` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:13 |
| |
| ### magma_enable_developer_build |
| Enable this to have the msd include a suite of tests and invoke them |
| automatically when the driver starts. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:27 |
| |
| ### magma_enable_tracing |
| Enable this to include fuchsia tracing capability |
| |
| **Current value (from the default):** `true` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:23 |
| |
| ### magma_python_path |
| |
| **Current value (from the default):** `"/b/s/w/ir/k/third_party/mako"` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:20 |
| |
| ### max_blob_contents_size |
| Maximum allowable contents for the /blob in a release mode build. |
| Zero means no limit. |
| contents_size refers to contents stored within the filesystem (regardless |
| of how they are stored). |
| |
| **Current value (from the default):** `"0"` |
| |
| From //build/images/filesystem_limits.gni:10 |
| |
| ### max_blob_image_size |
| Maximum allowable image_size for /blob in a release mode build. |
| Zero means no limit. |
| image_size refers to the total image size, including both contents and |
| metadata. |
| |
| **Current value (from the default):** `"0"` |
| |
| From //build/images/filesystem_limits.gni:16 |
| |
| ### max_data_contents_size |
| Maximum allowable contents_size for /data in a release mode build. |
| Zero means no limit. |
| contents_size refers to contents stored within the filesystem (regardless |
| of how they are stored). |
| |
| **Current value (from the default):** `"0"` |
| |
| From //build/images/filesystem_limits.gni:22 |
| |
| ### max_data_image_size |
| Maximum allowable image_size for /data in a release mode build. |
| Zero means no limit. |
| image_size refers to the total image size, including both contents and |
| metadata. |
| |
| **Current value (from the default):** `"0"` |
| |
| From //build/images/filesystem_limits.gni:28 |
| |
| ### max_fuchsia_zbi_size |
| Maximum allowable size for fuchsia.zbi |
| |
| **Current value for `target_cpu = "arm64"`:** `"16777216"` |
| |
| From //boards/arm64.gni:20 |
| |
| **Overridden from the default:** `"0"` |
| |
| From //build/images/filesystem_limits.gni:31 |
| |
| **Current value for `target_cpu = "x64"`:** `"16777216"` |
| |
| From //boards/x64.gni:21 |
| |
| **Overridden from the default:** `"0"` |
| |
| From //build/images/filesystem_limits.gni:31 |
| |
| ### max_fvm_size |
| Maximum allowable size for the FVM in a release mode build |
| Zero means no limit |
| |
| **Current value (from the default):** `"0"` |
| |
| From //build/images/max_fvm_size.gni:8 |
| |
| ### max_log_disk_usage |
| Controls how many bytes of space on disk are used to persist device logs. |
| Should be a string value that only contains digits. |
| |
| **Current value (from the default):** `"0"` |
| |
| From //garnet/bin/log_listener/BUILD.gn:14 |
| |
| ### max_zedboot_zbi_size |
| Maximum allowable size for zedboot.zbi |
| |
| **Current value for `target_cpu = "arm64"`:** `"16777216"` |
| |
| From //boards/arm64.gni:21 |
| |
| **Overridden from the default:** `"0"` |
| |
| From //build/images/filesystem_limits.gni:34 |
| |
| **Current value for `target_cpu = "x64"`:** `"16777216"` |
| |
| From //boards/x64.gni:22 |
| |
| **Overridden from the default:** `"0"` |
| |
| From //build/images/filesystem_limits.gni:34 |
| |
| ### meta_package_labels |
| A list of labels for meta packages to be included in the monolith. |
| |
| **Current value for `target_cpu = "arm64"`:** `["//build/images:config-data", "//build/images:shell-commands", "//src/sys/component_index:component_index"]` |
| |
| From //products/core.gni:19 |
| |
| **Overridden from the default:** `[]` |
| |
| From //build/images/args.gni:80 |
| |
| **Current value for `target_cpu = "x64"`:** `["//build/images:config-data", "//build/images:shell-commands", "//src/sys/component_index:component_index"]` |
| |
| From //products/core.gni:19 |
| |
| **Overridden from the default:** `[]` |
| |
| From //build/images/args.gni:80 |
| |
| ### minfs_maximum_bytes |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:67 |
| |
| ### minfs_minimum_data_bytes |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:53 |
| |
| ### minfs_minimum_inodes |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/fvm.gni:42 |
| |
| ### msd_arm_enable_all_cores |
| Enable all 8 cores, which is faster but emits more heat. |
| |
| **Current value (from the default):** `true` |
| |
| From //src/graphics/drivers/msd-arm-mali/src/BUILD.gn:9 |
| |
| ### msd_arm_enable_cache_coherency |
| With this flag set the system tries to use cache coherent memory if the |
| GPU supports it. |
| |
| **Current value (from the default):** `true` |
| |
| From //src/graphics/drivers/msd-arm-mali/src/BUILD.gn:13 |
| |
| ### msd_arm_enable_protected_debug_swap_mode |
| In protected mode, faults don't return as much information so they're much harder to debug. To |
| work around that, add a mode where protected atoms are executed in non-protected mode and |
| vice-versa. |
| |
| NOTE: The memory security ranges should also be set (in TrustZone) to the opposite of normal, so |
| that non-protected mode accesses can only access protected memory and vice versa. Also, |
| growable memory faults won't work in this mode, so larger portions of growable memory should |
| precommitted (which is not done by default). |
| |
| **Current value (from the default):** `false` |
| |
| From //src/graphics/drivers/msd-arm-mali/src/BUILD.gn:23 |
| |
| ### msd_build_root |
| |
| **Current value (from the default):** `"//src/graphics/drivers"` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:15 |
| |
| ### msd_intel_gen_build_root |
| |
| **Current value (from the default):** `"//src/graphics/drivers/msd-intel-gen"` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:16 |
| |
| ### netcfg_autostart |
| |
| **Current value (from the default):** `true` |
| |
| From //src/connectivity/network/netcfg/BUILD.gn:12 |
| |
| ### netsvc_extra_defines |
| |
| **Current value (from the default):** `[]` |
| |
| From //zircon/system/core/netsvc/BUILD.gn:18 |
| |
| ### omaha_app_id |
| Default app id will always return no update. |
| |
| **Current value (from the default):** `"fuchsia-test:no-update"` |
| |
| From //src/sys/pkg/bin/omaha-client/BUILD.gn:15 |
| |
| ### on_second_thought_keep_on_astro |
| Use this flag to include previously excluded artifacts on products based on |
| Astro. |
| Yes, our image building system is so broken that this is currently the only |
| way to accommodate the configurations we run on our infrastructure. |
| |
| **Current value for `target_cpu = "arm64"`:** `false` |
| |
| From //products/core.gni:9 |
| |
| **Overridden from the default:** `false` |
| |
| From //build/unification/images/common_image_contents.gni:20 |
| |
| **Current value for `target_cpu = "x64"`:** `false` |
| |
| From //products/core.gni:9 |
| |
| **Overridden from the default:** `false` |
| |
| From //build/unification/images/common_image_contents.gni:20 |
| |
| ### optimize |
| * `none`: really unoptimized, usually only build-tested and not run |
| * `debug`: "optimized for debugging", light enough to avoid confusion |
| * `default`: default optimization level |
| * `size`: optimized for space rather than purely for speed |
| * `speed`: optimized purely for speed |
| * `sanitizer`: optimized for sanitizers (ASan, etc.) |
| * `profile`: optimized for coverage/profile data collection |
| |
| **Current value (from the default):** `"debug"` |
| |
| From //build/config/compiler.gni:33 |
| |
| ### output_breakpad_syms |
| Sets if we should output breakpad symbols for Fuchsia binaries. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/config/BUILDCONFIG.gn:28 |
| |
| ### persist_logs |
| |
| **Current value (from the default):** `false` |
| |
| From //build/persist_logs.gni:13 |
| |
| ### pkgfs_packages_allowlist |
| |
| **Current value (from the default):** `"//src/security/policy/pkgfs_non_static_pkgs_allowlist_eng.txt"` |
| |
| From //build/images/args.gni:118 |
| |
| ### platform_enable_user_pci |
| |
| **Current value (from the default):** `false` |
| |
| From //src/devices/bus/drivers/pci/pci.gni:10 |
| |
| ### pre_erase_flash |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/args.gni:92 |
| |
| ### prebuilt_dart_sdk |
| Directory containing prebuilt Dart SDK. |
| This must have in its `bin/` subdirectory `gen_snapshot.OS-CPU` binaries. |
| Set to empty for a local build. |
| |
| **Current value (from the default):** `"//prebuilt/third_party/dart/linux-x64"` |
| |
| From //build/dart/dart.gni:9 |
| |
| ### prebuilt_libvulkan_arm_path |
| |
| **Current value (from the default):** `""` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:29 |
| |
| ### prebuilt_libvulkan_goldfish_path |
| |
| **Current value (from the default):** `""` |
| |
| From //src/graphics/lib/goldfish-vulkan/gnbuild/BUILD.gn:9 |
| |
| ### prebuilt_libvulkan_img_path |
| The path to a prebuilt libvulkan.so for an IMG GPU. |
| |
| **Current value (from the default):** `""` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:32 |
| |
| ### prototype_account_transfer |
| Whether or not prototype account transfer is enabled. |
| NOTE: This is not secure and should NOT be enabled for any products! This |
| is only for use during local development. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/identity/bin/account_manager/BUILD.gn:12 |
| |
| ### recovery_ta_uuids |
| UUID of TAs to include in the Recovery build. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/ta.gni:19 |
| |
| ### rust_cap_lints |
| Sets the maximum lint level. |
| "deny" will make all warnings into errors, "warn" preserves them as warnings, and "allow" will |
| ignore warnings. |
| |
| **Current value (from the default):** `"deny"` |
| |
| From //build/rust/config.gni:35 |
| |
| ### rust_lto |
| Sets the default LTO type for rustc bulids. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/rust/config.gni:27 |
| |
| ### rust_override_lto |
| Overrides the LTO setting for all Rust builds, regardless of |
| debug/release flags or the `with_lto` arg to the rustc_ templates. |
| Valid values are "none", "thin", and "fat". |
| |
| **Current value (from the default):** `""` |
| |
| From //build/rust/config.gni:45 |
| |
| ### rust_override_opt |
| Overrides the optimization level for all Rust builds, regardless of |
| debug/release flags or the `force_opt` arg to the rustc_ templates. |
| Valid values are 0-3, o, and z. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/rust/config.gni:40 |
| |
| ### rust_sysroot |
| Sets a custom base directory for where rust tooling |
| looks for the standard library |
| |
| **Current value (from the default):** `"../prebuilt/third_party/rust/linux-x64"` |
| |
| From //build/rust/config.gni:24 |
| |
| ### rust_toolchain_triple_suffix |
| Sets the fuchsia toolchain target triple suffix (after arch) |
| |
| **Current value (from the default):** `"fuchsia"` |
| |
| From //build/rust/config.gni:30 |
| |
| ### rustc_prefix |
| Sets a custom base directory for `rustc` and `cargo`. |
| This can be used to test custom Rust toolchains. |
| |
| **Current value (from the default):** `"../prebuilt/third_party/rust/linux-x64/bin"` |
| |
| From //build/rust/config.gni:20 |
| |
| ### scenic_display_frame_number |
| Draws the current frame number in the top-left corner. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/ui/scenic/lib/gfx/BUILD.gn:11 |
| |
| ### scenic_enable_vulkan_validation |
| Include the vulkan validation layers in scenic. |
| |
| **Current value (from the default):** `true` |
| |
| From //src/ui/scenic/BUILD.gn:114 |
| |
| ### scenic_ignore_vsync |
| |
| **Current value (from the default):** `false` |
| |
| From //src/ui/scenic/lib/gfx/BUILD.gn:8 |
| |
| ### scudo_default_options |
| Default [Scudo](https://llvm.org/docs/ScudoHardenedAllocator.html) |
| options (before the `SCUDO_OPTIONS` environment variable is read at |
| runtime). *NOTE:* This affects only components using the `scudo` |
| variant (see GN build argument `select_variant`), and does not affect |
| anything when the `use_scudo` build flag is set instead. |
| |
| **Current value (from the default):** `["abort_on_error=1", "QuarantineSizeKb=0", "ThreadLocalQuarantineSizeKb=0", "DeallocationTypeMismatch=false", "DeleteSizeMismatch=false", "allocator_may_return_null=true"]` |
| |
| From //build/config/scudo/scudo.gni:17 |
| |
| ### sdk_dirs |
| The directories to search for parts of the SDK. |
| |
| By default, we search the public directories for the various layers. |
| In the future, we'll search a pre-built SDK as well. |
| |
| **Current value (from the default):** `["//garnet/public", "//topaz/public"]` |
| |
| From //build/config/fuchsia/sdk.gni:10 |
| |
| ### sdk_id |
| Identifier for the Core SDK. |
| |
| **Current value (from the default):** `""` |
| |
| From //sdk/config.gni:7 |
| |
| ### select_variant |
| List of "selectors" to request variant builds of certain targets. |
| Each selector specifies matching criteria and a chosen variant. |
| The first selector in the list to match a given target determines |
| which variant is used for that target. |
| |
| Each selector is either a string or a scope. A shortcut selector is |
| a string; it gets expanded to a full selector. A full selector is a |
| scope, described below. |
| |
| A string selector can match a name in |
| [`select_variant_shortcuts`](#select_variant_shortcuts). If it's not a |
| specific shortcut listed there, then it can be the name of any variant |
| described in [`known_variants`](#known_variants) and |
| [`universal_variants`](#universal_variants) (and combinations thereof). |
| A `selector` that's a simple variant name selects for every binary |
| built in the target toolchain: `{ host=false variant=selector }`. |
| |
| If a string selector contains a slash, then it's `"shortcut/filename"` |
| and selects only the binary in the target toolchain whose `output_name` |
| matches `"filename"`, i.e. it adds `output_name=["filename"]` to each |
| selector scope that the shortcut's name alone would yield. |
| |
| The scope that forms a full selector defines some of these: |
| |
| 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) and |
| [`universal_variants`](#universal_variants). |
| |
| The rest below are matching criteria. All are optional. |
| The selector matches if and only if all of its criteria match. |
| If none of these is defined, then the selector always matches. |
| |
| The first selector in the list to match wins and then the rest of |
| the list is ignored. To construct more complex rules, use a blocklist |
| selector with `variant=false` before a catch-all default variant, or |
| a list of specific variants before a catch-all false variant. |
| |
| Each "[strings]" criterion is a list of strings, and the criterion |
| is satisfied if any of the strings matches against the candidate string. |
| |
| host |
| [boolean] If true, the selector matches in the host toolchain. |
| If false, the selector matches in the target toolchain. |
| |
| 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 `"driver_module"` |
| |
| 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`). |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/config/BUILDCONFIG.gn:893 |
| |
| ### select_variant_canonical |
| *This should never be set as a build argument.* |
| It exists only to be set in `toolchain_args`. |
| See //build/toolchain/clang_toolchain.gni for details. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/config/BUILDCONFIG.gn:898 |
| |
| ### select_variant_shortcuts |
| List of short names for commonly-used variant selectors. Normally this |
| is not set as a build argument, but it serves to document the available |
| set of short-cut names for variant selectors. Each element of this list |
| is a scope where `.name` is the short name and `.select_variant` is a |
| a list that can be spliced into [`select_variant`](#select_variant). |
| |
| **Current value (from the default):** |
| ``` |
| [{ |
| name = "host_asan" |
| select_variant = [{ |
| dir = ["//third_party/yasm", "//third_party/vboot_reference", "//tools/vboot_reference", "//src/fonts/font_info"] |
| host = true |
| variant = "asan_no_detect_leaks" |
| }, { |
| dir = ["//zircon/tools/blobfs"] |
| host = true |
| variant = false |
| }, { |
| host = true |
| variant = "asan" |
| }] |
| }, { |
| name = "kasan" |
| select_variant = [] |
| }] |
| ``` |
| |
| From //build/config/BUILDCONFIG.gn:717 |
| |
| ### shaderc_enable_spvc_parser |
| Enables using the parsing built into spvc instead spirv-cross |
| |
| **Current value (from the default):** `false` |
| |
| From [//third_party/shaderc/shaderc_features.gni:17](https://fuchsia.googlesource.com/third_party/shaderc/+/ae50f26a6453fd8f8cd148fbd62a6ae9a94d4472/shaderc_features.gni#17) |
| |
| ### shaderc_spvc_disable_context_logging |
| Disables logging to messages in context struct |
| |
| **Current value (from the default):** `false` |
| |
| From [//third_party/shaderc/shaderc_features.gni:23](https://fuchsia.googlesource.com/third_party/shaderc/+/ae50f26a6453fd8f8cd148fbd62a6ae9a94d4472/shaderc_features.gni#23) |
| |
| ### shaderc_spvc_enable_direct_logging |
| Enables logging directly out to the terminal |
| |
| **Current value (from the default):** `false` |
| |
| From [//third_party/shaderc/shaderc_features.gni:20](https://fuchsia.googlesource.com/third_party/shaderc/+/ae50f26a6453fd8f8cd148fbd62a6ae9a94d4472/shaderc_features.gni#20) |
| |
| ### signed_image |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/args.gni:90 |
| |
| ### size_checker_input |
| The input to the size checker. |
| The build system will produce a JSON file to be consumed by the size checker, which |
| will check and prevent integration of subsystems that are over their space allocation. |
| The input consists of the following keys: |
| |
| asset_ext(string array): a list of extensions that should be considered as assets. |
| |
| asset_limit(number): maximum size (in bytes) allocated for the assets. |
| |
| core_limit(number): maximum size (in bytes) allocated for the core system and/or services. |
| This is sort of a "catch all" component that consists of all the area / packages that weren't |
| specified in the components list below. |
| |
| components(object array): a list of component objects. Each object should contain the following keys: |
| |
| component(string): name of the component. |
| |
| src(string array): path of the area / package to be included as part of the component. |
| The path should be relative to the obj/ in the output directory. |
| For example, consider two packages foo and far, built to out/.../obj/some_big_component/foo and out/.../obj/some_big_component/bar. |
| If you want to impose a limit on foo, your src will be ["some_big_component/foo"]. |
| If you want to impose a limit on both foo and far, your src will be ["some_big_component"]. |
| If a package has config-data, those prebuilt blobs actually live under the config-data package. |
| If you wish to impose a limit of those data as well, you should add "build/images/config-data/$for_pkg" to your src. |
| The $for_pkg corresponds to the $for_pkg field in config.gni. |
| |
| limit(number): maximum size (in bytes) allocated for the component. |
| |
| Example: |
| size_checker_input = { |
| asset_ext = [ ".ttf" ] |
| asset_limit = 10240 |
| core_limit = 10240 |
| components = [ |
| { |
| component = "Foo" |
| src = [ "topaz/runtime/foo_runner" ] |
| limit = 10240 |
| }, |
| { |
| component = "Bar" |
| src = [ "build/images" ] |
| limit = 20480 |
| }, |
| ] |
| } |
| |
| **Current value (from the default):** `{ }` |
| |
| From //tools/size_checker/cmd/BUILD.gn:52 |
| |
| ### symbol_level |
| How many symbols to include in the build. This affects the performance of |
| the build since the symbols are large and dealing with them is slow. |
| 2 means regular build with symbols. |
| 1 means minimal symbols, usually enough for backtraces only. Symbols with |
| internal linkage (static functions or those in anonymous namespaces) may not |
| appear when using this level. |
| 0 means no symbols. |
| |
| **Current value (from the default):** `2` |
| |
| From //build/config/compiler.gni:20 |
| |
| ### syzkaller_dir |
| Used by syz-ci to build with own syz-executor source. |
| |
| **Current value (from the default):** `"//third_party/syzkaller"` |
| |
| From //src/testing/fuzzing/syzkaller/BUILD.gn:11 |
| |
| ### ta_dest_suffix |
| File name suffix of TA images deployed on bootfs. Usually it is ".ta". |
| The TA image file names are "$ta_uuid$ta_dest_suffix". |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/ta.gni:27 |
| |
| ### ta_path |
| Source absolute path to the prebuilt TA images. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/ta.gni:10 |
| |
| ### ta_src_suffix |
| File name suffix of prebuilt TA images. ".ta.prod" and ".ta.dev" are |
| usually used. The TA image file names are "$ta_uuid$ta_src_suffix". |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/ta.gni:23 |
| |
| ### target_cpu |
| |
| **Current value for `target_cpu = "arm64"`:** `"arm64"` |
| |
| From //boards/arm64.gni:5 |
| |
| **Overridden from the default:** `""` |
| |
| **Current value for `target_cpu = "x64"`:** `"x64"` |
| |
| From //boards/x64.gni:5 |
| |
| **Overridden from the default:** `""` |
| |
| ### target_os |
| |
| **Current value (from the default):** `""` |
| |
| ### target_sysroot |
| The absolute path of the sysroot that is used with the target toolchain. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/config/sysroot.gni:7 |
| |
| ### termina_disk |
| The termina disk image. |
| |
| Defaults to the disk image from CIPD, but can be overridden to use a |
| custom disk for development purposes. |
| |
| **Current value (from the default):** `"//prebuilt/virtualization/packages/termina_guest/images/arm64/vm_rootfs.img"` |
| |
| From //src/virtualization/packages/termina_guest/BUILD.gn:18 |
| |
| ### termina_kernel |
| The termina kernel image. |
| |
| Defaults to the common linux kernel image from CIPD, but can be overridden to use a |
| custom kernel for development purposes. |
| |
| **Current value (from the default):** `"//prebuilt/virtualization/packages/linux_guest/images/arm64/Image"` |
| |
| From //src/virtualization/packages/termina_guest/BUILD.gn:12 |
| |
| ### test_durations_file |
| A file in integration containing historical test duration data for this |
| build configuration. This file is used by infra to efficiently schedule |
| tests. "default.json" is a dummy file that contains no real duration data, |
| and causes infra to schedule tests as if each one has the same duration. |
| |
| **Current value (from the default):** `"//integration/infra/test_durations/default.json"` |
| |
| From //BUILD.gn:39 |
| |
| ### thinlto_cache_dir |
| ThinLTO cache directory path. |
| |
| **Current value (from the default):** `"dartlang/thinlto-cache"` |
| |
| From //build/config/lto/config.gni:16 |
| |
| ### thinlto_jobs |
| Number of parallel ThinLTO jobs. |
| |
| **Current value (from the default):** `8` |
| |
| From //build/config/lto/config.gni:13 |
| |
| ### toolchain_variant |
| *This should never be set as a build argument.* |
| It exists only to be set in `toolchain_args`. |
| See //build/toolchain/clang_toolchain.gni for details. |
| This variable is a scope giving details about the current toolchain: |
| `toolchain_variant.base` |
| [label] The "base" toolchain for this variant, *often the |
| right thing to use in comparisons, not `current_toolchain`.* |
| This is the toolchain actually referenced directly in GN |
| source code. If the current toolchain is not |
| `shlib_toolchain` or a variant toolchain, this is the same |
| as `current_toolchain`. In one of those derivative |
| toolchains, this is the toolchain the GN code probably |
| thought it was in. This is the right thing to use in a test |
| like `toolchain_variant.base == target_toolchain`, rather |
| rather than comparing against `current_toolchain`. |
| `toolchain_variant.name` |
| [string] The name of this variant, as used in `variant` fields |
| in [`select_variant`](#select_variant) clauses. In the base |
| toolchain and its `shlib_toolchain`, this is `""`. |
| `toolchain_variant.suffix` |
| [string] This is "-${toolchain_variant.name}", "" if name is empty. |
| `toolchain_variant.is_pic_default` |
| [bool] This is true in `shlib_toolchain`. |
| The other fields are the variant's effects as defined in |
| [`known_variants`](#known_variants). |
| |
| **Current value (from the default):** |
| ``` |
| { |
| base = "//build/toolchain/fuchsia:arm64" |
| } |
| ``` |
| |
| From //build/config/BUILDCONFIG.gn:99 |
| |
| ### ubsan_default_options |
| Default [UndefinedBehaviorSanitizer](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html) |
| options (before the `UBSAN_OPTIONS` environment variable is read at |
| runtime). This can be set as a build argument to affect most "ubsan" |
| variants in `known_variants` (which see), or overridden in |
| toolchain_args in one of those variants. Note that setting this |
| nonempty may conflict with programs that define their own |
| `__ubsan_default_options` C function. |
| |
| **Current value (from the default):** `"print_stacktrace=1:halt_on_error=1"` |
| |
| From //build/config/sanitizers/BUILD.gn:35 |
| |
| ### universal_variants |
| |
| **Current value (from the default):** |
| ``` |
| [{ |
| configs = [] |
| name = "release" |
| toolchain_args = { |
| is_debug = false |
| } |
| }] |
| ``` |
| |
| From //build/config/BUILDCONFIG.gn:691 |
| |
| ### universe_package_labels |
| If you add package labels to this variable, the packages will be included |
| in the 'universe' package set, which represents all software that is |
| produced that is to be published to a package repository or to the SDK by |
| the build. The build system ensures that the universe package set includes |
| the base and cache package sets, which means you do not need to redundantly |
| include those labels in this variable. |
| |
| **Current value for `target_cpu = "arm64"`:** `["//tools/net/dev_finder:host", "//tools/vboot_reference:cgpt_host", "//tools/vboot_reference:futility_host", "//bundles:tools"]` |
| |
| From //products/core.gni:93 |
| |
| **Overridden from the default:** `[]` |
| |
| From //BUILD.gn:47 |
| |
| **Current value for `target_cpu = "x64"`:** `["//tools/net/dev_finder:host", "//tools/vboot_reference:cgpt_host", "//tools/vboot_reference:futility_host", "//bundles:tools"]` |
| |
| From //products/core.gni:93 |
| |
| **Overridden from the default:** `[]` |
| |
| From //BUILD.gn:47 |
| |
| ### unpack_debug_archives |
| To ensure that everything can be built without debug symbols present we |
| gate weather or not these are consumed on a build argument. When set, |
| unpack_debug_archives creates an additional build step that unpacks |
| debug archives in tar.bzip2 format into the .build-id directory |
| |
| **Current value (from the default):** `false` |
| |
| From //build/packages/prebuilt_package.gni:13 |
| |
| ### update_kernels |
| (deprecated) List of kernel images to include in the update (OTA) package. |
| If no list is provided, all built kernels are included. The names in the |
| list are strings that must match the filename to be included in the update |
| package. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/args.gni:41 |
| |
| ### use_cast_runner_canary |
| If true then the most recent canary version of the Cast Runner is used, |
| otherwise the most recently validated version is used. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/cast/BUILD.gn:11 |
| |
| ### use_ccache |
| Set to true to enable compiling with ccache |
| |
| **Current value (from the default):** `false` |
| |
| From //build/toolchain/ccache.gni:9 |
| |
| ### use_chromium_canary |
| Set to use the most recent canary version of prebuilt Chromium components |
| otherwise the most recently validated version is used. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/chromium/BUILD.gn:13 |
| |
| ### use_dns_resolver |
| Transitional flag to enable dns-resolver as the provider for |
| fuchsia.net.name.LookupAdmin and fuchsia.net.NameLookup instead of netstack. |
| |
| **Current value (from the default):** `false` |
| |
| From //src/connectivity/network/BUILD.gn:10 |
| |
| ### use_goma |
| Set to true to enable distributed compilation using Goma. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/toolchain/goma.gni:11 |
| |
| ### use_lto |
| Use link time optimization (LTO). |
| |
| **Current value (from the default):** `false` |
| |
| From //build/config/lto/config.gni:7 |
| |
| ### use_netstack3 |
| |
| **Current value (from the default):** `false` |
| |
| From //src/connectivity/network/BUILD.gn:6 |
| |
| ### use_prebuilt_dart_sdk |
| Whether to use the prebuilt Dart SDK for everything. |
| When setting this to false, the preubilt Dart SDK will not be used in |
| situations where the version of the SDK matters, but may still be used as an |
| optimization where the version does not matter. |
| |
| **Current value (from the default):** `true` |
| |
| From //build/dart/dart.gni:15 |
| |
| ### use_prebuilt_ffmpeg |
| Use a prebuilt ffmpeg binary rather than building it locally. See |
| //src/media/lib/ffmpeg/README.md for details. This is ignored when |
| building in variant builds for which there is no prebuilt. In that |
| case, ffmpeg is always built from source so as to be built with the |
| selected variant's config. When this is false (either explicitly or in |
| a variant build) then //third_party/ffmpeg must be in the source tree, |
| which requires: |
| `jiri import -name integration third_party/ffmpeg https://fuchsia.googlesource.com/integration` |
| |
| **Current value (from the default):** `true` |
| |
| From //src/media/lib/ffmpeg/BUILD.gn:14 |
| |
| ### use_scudo |
| TODO(davemoore): Remove this entire mechanism once standalone scudo is the |
| default (DNO-442) |
| Enable the [Scudo](https://llvm.org/docs/ScudoHardenedAllocator.html) |
| memory allocator. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/config/scudo/scudo.gni:10 |
| |
| ### use_thinlto |
| Use ThinLTO variant of LTO if use_lto = true. |
| |
| **Current value (from the default):** `true` |
| |
| From //build/config/lto/config.gni:10 |
| |
| ### use_vbmeta |
| If true, then a vbmeta image will be generated for provided ZBI |
| and the paving script will pave vbmeta images to the target device. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/vbmeta.gni:14 |
| |
| ### use_vboot |
| Use vboot images |
| |
| **Current value (from the default):** `false` |
| |
| From //build/images/args.gni:10 |
| |
| ### using_fuchsia_sdk |
| Only set in buildroots where targets configure themselves for use with the |
| Fuchsia SDK |
| |
| **Current value (from the default):** `false` |
| |
| From //build/fuchsia/sdk.gni:8 |
| |
| ### variants |
| List of "selectors" to request variant builds of certain targets. Each |
| selector specifies matching criteria and a chosen variant. The first |
| selector in the list to match a given target determines which variant is |
| used for that target. |
| |
| The $default_variants list is appended to the list set here. So if no |
| selector set in $variants matches (e.g. if the list is empty, as is the |
| default), then the first match in $default_variants chooses the variant. |
| |
| Each selector is either a string or a scope. A selector that's a string |
| is a shorthand that gets expanded to a full selector (a scope); the full |
| selector form is described below. |
| |
| If a string selector contains a slash, then it's "shorthand/filename". |
| This is like the plain "shorthand" selector, but further constrained to |
| apply only to a binary whose `output_name` exactly matches "filename". |
| |
| The "shorthand" string (a whole string selector or the part before slash) |
| is first looked up in $variant_shorthands, which see. If it doesn't match |
| a name defined there, then it must be the name of a variant. In that case, |
| it's equivalent to `{ variant = "..." host = false }`, meaning it applies |
| to every binary not built to be a host tool. |
| |
| A full selector is a scope with the following fields. All the fields |
| other than `.variant` are matching criteria. A selector matches if all of |
| its matching criteria match. Hence, a selector with no criteria defined |
| always matches and is referred to as a "catch-all". The $default_variants |
| list ends with a catch-all, so each target always chooses some variant. |
| |
| Selector scope parameters |
| |
| * variant |
| - Required: The variant to use when this selector matches. If this |
| is a string then it must match a fully-defined variant elsewhere in |
| the list (or in $default_variants + $standard_variants, which is |
| appended implicitly to the $variants list). If it's a scope then |
| it defines a new variant (see details below). |
| - Type: string or scope, described below |
| |
| * cpu |
| - Optional: If nonempty, match only when $current_cpu is one in the |
| - list. |
| - Type: list(string) |
| |
| * os |
| - Optional: If nonempty, match only when $current_os is one in the |
| - list. |
| - Type: list(string) |
| |
| * host |
| - Optional: If present, match only in host environments if true or |
| non-host environments if false. This means a context in which |
| $is_host is true, not specifically the build host. For example, it |
| would be true when cross-compiling host tools for an SDK build but |
| would be false when compiling code for a hypervisor guest system |
| that happens to be the same CPU and OS as the build host. |
| - Type: bool |
| |
| * kernel |
| - Optional: If present, match only in kernel environments if true or |
| non-kernel environments if false. This means a context in which |
| $is_kernel is true, not just the "kernel" environment itself. |
| For different machine architectures there may be multiple different |
| specialized environments that set $is_kernel, e.g. for boot loaders |
| and for special circumstances used within the kernel. See also the |
| $tags field in $variant, described below. |
| - Type: bool |
| |
| * environment |
| - Optional: If nonempty, a list of environment names that match. This |
| looks at ${toolchain.environment}, which is the simple name (no |
| directories) in an environment label defined by environment(). Each |
| element can match either the whole environment name, or just the |
| "base" environment, which is the part of the name before a `.` if it |
| has one. For example, "host" would match both "host" and "host.fuzz". |
| - Type: list(string) |
| |
| * target_type |
| - Optional: If nonempty, a list of target types to match. This is |
| one of "executable", "host_tool", "loadable_module", "driver", or |
| "test". |
| Note, test_driver() matches as "driver". |
| - Type: list(string) |
| |
| * label |
| - Optional: If nonempty, match only when the canonicalized target label |
| (as returned by `get_label_info(..., "label_no_toolchain")`) is one in |
| the list. |
| - Type: list(label_no_toolchain) |
| |
| * dir |
| - Optional: If nonempty, match only when the directory part of the |
| target label (as returned by `get_label_info(..., "dir")`) is one in |
| the list. |
| - Type: list(label_no_toolchain) |
| |
| * name |
| - Optional: If nonempty, match only when the name part of the target |
| label (as returned by `get_label_info(..., "name")`) is one in the |
| list. |
| - Type: list(label_no_toolchain) |
| |
| * output_name |
| - Optional: If nonempty, match only when the `output_name` of the |
| target is one in the list. Note `output_name` defaults to |
| `target_name`, and does not include prefixes or suffixes like ".so" |
| or ".exe". |
| - Type: list(string) |
| |
| An element with a scope for `.variant` defines a new variant. Each |
| variant name used in a selector must be defined exactly once. Other |
| selectors can refer to the same variant by using the name string in the |
| `.variant` field. Definitions in $variants take precedence over the same |
| name defined in $standard_variants, but it would probably cause confusion |
| to use the name of a standard variant with a non-standard definition. |
| |
| Variant scope parameters |
| |
| * name |
| - Required: Name for the variant. This must be unique among all |
| variants used with the same environment. It becomes part of the GN |
| toolchain names defined for the environment, which in turn forms part |
| of directory names used in $root_build_dir; so it must meet Ninja's |
| constraints on file names (sticking to `[a-z0-9_-]` is a good idea). |
| |
| * globals |
| - Optional: Variables in this scope are introduced as globals visible |
| to all GN code in the toolchain. For example, the standard "gcc" |
| variant sets `is_gcc = true` in $globals. This should be used |
| sparingly and is safest when restricted to variables that |
| $zx/public/gn/BUILDCONFIG.gn sets defaults for. |
| - Type: scope |
| |
| * toolchain_args |
| - Optional: See toolchain(). Variables in this scope must match GN |
| build arguments defined somewhere in the build with declare_args(). |
| Use this when the variant should change something that otherwise is a |
| manual tuning variable to set via `gn args`. *Do not* define |
| variables in declare_args() just for the purpose of setting them here, |
| i.e. if they should not *also* be available to set via `gn args` to |
| affect other variants that don't override them here. Instead, use |
| either $globals (above) or $toolchain_vars (below). |
| - Type: scope |
| |
| * toolchain_vars |
| - Optional: Variables in this scope are visible in the scope-typed |
| $toolchain global variable seen in toolchains for this variant. |
| Use this to pass along interesting information without cluttering |
| the global scope via $globals. |
| - Type: scope |
| |
| * configs |
| - Optional: List of changes to the pre-set $configs variable in targets |
| being defined in toolchains for this variant. This is the same as in |
| the $configs parameter to environment(). Each element is either a |
| string or a scope. A string element is simply appended to the default |
| $configs list: it's equivalent to a scope element of `{add=["..."]}`. |
| The string is the GN label (without toolchain) for a config() target. |
| A scope element can be more selective, as described below. |
| - Type: list(label_no_toolchain or scope) |
| * shlib |
| - Optional: If present, this element applies only when |
| `current_toolchain == toolchain.shlib` (if true) or |
| `current_toolchain != toolchain.shlib` (if false). That is, it |
| applies only in (not ni) the companion toolchain used to compile |
| shared_library() and loadable_module() (including driver()) code. |
| - Type: bool |
| |
| * types |
| - Optional: If present, this element applies only to a target whose |
| type is one in this list (same as `target_type` in a selector, |
| described above). |
| - Type: list(string) |
| |
| * add |
| - Optional: List of labels to append to $configs. |
| - Type: list(label_no_toolchain) |
| |
| * remove |
| - Optional: List of labels to remove from $configs. This does |
| exactly `configs -= remove` so it has the normal GN semantics that |
| it's an error if any element in the $remove list is not present in |
| the $configs list beforehand. |
| - Type: list(label_no_toolchain) |
| |
| * implicit_deps |
| - Optional: List of changes to the list added to $deps of all linking |
| targets in toolchains for this variant. This is the same as in the |
| $implicit_deps parameter to environment(). |
| - Type: See $configs |
| |
| * tags |
| - Optional: List of tags that describe this variant. This list will be |
| visible within the variant's toolchains as ${toolchain.tags}. Its main |
| purpose is to match the $exclude_variant_tags list in an environment() |
| definition. For example, several of the standard variants listed in |
| $standard_variants use the "useronly" tag. The environment() defining |
| the kernel toolchains uses `exclude_variant_tags = [ "useronly" ]`. |
| Then $variants selectors that choose variants that are incompatible |
| with the kernel are automatically ignored in the kernel toolchains, |
| so there's no need to add `kernel = false` to every such selector. |
| - Type: list(string) |
| |
| * bases |
| - Optional: A list of other variant names that this one inherits from. |
| This is a very primitive mechanism for deriving a new variant from an |
| existing variant. All of fields from all the bases except for `name` |
| and `bases` are combined with the fields defined explicitly for the |
| new variant. The fields of list type are just concatenated in order |
| (each $bases variant in the order listed, then this variant). The |
| fields of scope type are merged in the same order, with a variant |
| later in the list overriding values set earlier (so this variant's |
| values override all the bases). There is *only one* level of |
| inheritance: a base variant listed in $bases cannot have $bases itself. |
| - Type: list(string) |
| |
| |
| **Current value (from the default):** `[]` |
| |
| From //zircon/public/gn/toolchain/variants.gni:222 |
| |
| ### vbmeta_a_partition |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:86 |
| |
| ### vbmeta_b_partition |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:87 |
| |
| ### vbmeta_r_partition |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:88 |
| |
| ### vendor_linting |
| Whether libraries under //vendor should be linted. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/fidl/fidl_library.gni:13 |
| |
| ### virtmagma_debug |
| Enable verbose logging in virtmagma-related code |
| |
| **Current value (from the default):** `false` |
| |
| From //src/graphics/lib/magma/include/virtio/virtmagma_debug.gni:7 |
| |
| ### vulkan_sdk |
| |
| **Current value (from the default):** `""` |
| |
| From //src/graphics/examples/vkprimer/BUILD.gn:46 |
| |
| ### warn_on_sdk_changes |
| Whether to only warn when an SDK has been modified. |
| If false, any unacknowledged SDK change will cause a build failure. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/sdk/config.gni:11 |
| |
| ### weave_build_legacy_wdm |
| Tells openweave to support legacy WDM mode. |
| |
| **Current value (from the default):** `false` |
| |
| From [//third_party/openweave-core/config.gni:29](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#29) |
| |
| ### weave_build_warm |
| Tells openweave to build WARM libraries. |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:26](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#26) |
| |
| ### weave_system_config_use_sockets |
| Tells openweave components to use bsd-like sockets. |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:7](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#7) |
| |
| ### weave_with_nlfaultinjection |
| Tells openweave components to support fault injection. |
| |
| **Current value (from the default):** `false` |
| |
| From [//third_party/openweave-core/config.gni:20](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#20) |
| |
| ### weave_with_verhoeff |
| Tells openweave to support Verhoeff checksum. |
| |
| **Current value (from the default):** `true` |
| |
| From [//third_party/openweave-core/config.gni:23](https://fuchsia.googlesource.com/third_party/openweave-core/+/8bde75a87ade87a1fb4afdf5103759b216d56a9e/config.gni#23) |
| |
| ### wlancfg_config_type |
| Selects the wlan configuration type to use. Choices: |
| "client" - client mode |
| "ap" - access point mode |
| "" (empty string) - no configuration |
| |
| **Current value (from the default):** `"client"` |
| |
| From //src/connectivity/wlan/wlancfg/BUILD.gn:16 |
| |
| ### zbi_compression |
| Compression setting for ZBI "storage" items. |
| This can be "zstd", optionally followed by ".LEVEL" |
| where `LEVEL` can be an integer or "max". |
| |
| **Current value (from the default):** `"zstd"` |
| |
| From //build/config/fuchsia/zbi.gni:11 |
| |
| ### zedboot_cmdline_args |
| List of kernel command line arguments to bake into the Zedboot image. |
| See //docs/reference/kernel_cmdline.md and |
| [`zedboot_devmgr_config`](#zedboot_devmgr_config). |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/zedboot/zedboot_args.gni:9 |
| |
| ### zedboot_cmdline_files |
| Files containing additional kernel command line arguments to bake into |
| the Zedboot image. The contents of these files (in order) come after any |
| arguments directly in [`zedboot_cmdline_args`](#zedboot_cmdline_args). |
| These can be GN `//` source pathnames or absolute system pathnames. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/zedboot/zedboot_args.gni:15 |
| |
| ### zedboot_devmgr_config |
| List of arguments to populate /boot/config/devmgr in the Zedboot image. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/zedboot/zedboot_args.gni:18 |
| |
| ### zedboot_ta_uuids |
| UUID of TAs to include in the Zedboot build. |
| |
| **Current value (from the default):** `[]` |
| |
| From //build/images/ta.gni:16 |
| |
| ### zircon_a_partition |
| arguments to fx flash script |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:83 |
| |
| ### zircon_args |
| [Zircon GN build arguments](/docs/gen/zircon_build_arguments.md). |
| The default passes through GOMA/ccache settings and |
| [`select_variant`](#select_variant) shorthand selectors. |
| **Only set this if you want to wipe out all the defaults that |
| propagate from Fuchsia GN to Zircon GN.** The default value |
| folds in [`zircon_extra_args`](#zircon_extra_args), so usually |
| it's better to just set `zircon_extra_args` and leave `zircon_args` alone. |
| Any individual Zircon build argument set in `zircon_extra_args` will |
| silently clobber the default value shown here. |
| |
| **Current value (from the default):** |
| ``` |
| { |
| default_deps = ["//:legacy-arm64", "//:legacy_host_targets-linux-x64", "//:legacy_unification-arm64", "//tools:all-hosts"] |
| disable_kernel_pci = false |
| goma_dir = "/b/s/w/ir/k/prebuilt/third_party/goma/linux-x64" |
| use_ccache = false |
| use_goma = false |
| variants = [] |
| zbi_compression = "zstd" |
| } |
| ``` |
| |
| From //BUILD.gn:97 |
| |
| ### zircon_asserts |
| |
| **Current value (from the default):** `true` |
| |
| From //build/config/fuchsia/BUILD.gn:205 |
| |
| ### zircon_b_partition |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:84 |
| |
| ### zircon_build_root |
| |
| **Current value (from the default):** `"//zircon"` |
| |
| From //src/graphics/lib/magma/gnbuild/magma.gni:18 |
| |
| ### zircon_compdb_filter |
| Compilation database filter. Gets passed to --export-compile-commands=<filter>. |
| |
| **Current value (from the default):** `"legacy-arm64"` |
| |
| From //BUILD.gn:71 |
| |
| ### zircon_extra_args |
| [Zircon GN build arguments](/docs/gen/zircon_build_arguments.md). |
| This is included in the default value of [`zircon_args`](#zircon_args) so |
| you can set this to add things there without wiping out the defaults. |
| When you set `zircon_args` directly, then this has no effect at all. |
| Arguments you set here override any arguments in the default |
| `zircon_args`. There is no way to append to a value from the defaults. |
| Note that for just setting simple (string-only) values in Zircon GN's |
| [`variants`](/docs/gen/zircon_build_arguments.md#variants), the |
| default [`zircon_args`](#zircon_args) uses a `variants` value derived from |
| [`select_variant`](#select_variant) so for simple cases there is no need |
| to explicitly set Zircon's `variants` here. |
| |
| **Current value (from the default):** `{ }` |
| |
| From //BUILD.gn:60 |
| |
| ### zircon_extra_deps |
| Additional Zircon GN labels to include in the Zircon build. |
| |
| **Current value (from the default):** `[]` |
| |
| From //BUILD.gn:64 |
| |
| ### zircon_r_partition |
| |
| **Current value (from the default):** `""` |
| |
| From //build/images/args.gni:85 |
| |
| ### zircon_tracelog |
| Where to emit a tracelog from Zircon's GN run. No trace will be produced if |
| given the empty string. Path can be source-absolute or system-absolute. |
| |
| **Current value (from the default):** `""` |
| |
| From //BUILD.gn:68 |
| |
| ### zvb_partition_name |
| Partition name from where image will be verified |
| |
| **Current value (from the default):** `"zircon"` |
| |
| From //build/images/vbmeta.gni:36 |
| |
| ### zxcrypt_key_source |
| This argument specifies from where the system should obtain the zxcrypt |
| master key to the system data partition. |
| |
| This value be reified as /boot/config/zxcrypt in both the zircon boot image |
| and the zedboot boot image, for consumption by fshost and the paver, |
| respectively. |
| |
| Acceptable values are: |
| * "null": the device should use an all-0's master key, as we lack support |
| for any secure on-device storage. |
| * "tee": the device is required to have a Trusted Execution Environment |
| (TEE) which includes the "keysafe" Trusted Application (associated with the |
| KMS service). The zxcrypt master key should be derived from a per-device |
| key accessible only to trusted apps running in the TEE. |
| * "tee-opportunistic": the device will attempt to use keys from the TEE if |
| available, but will fall back to using the null key if the key from the TEE |
| does not work, or if the TEE is not functional on this device. |
| * "tee-transitional": the device will require the use of a key from the TEE |
| for new volume creation, but will continue to try both a TEE-sourced key and |
| the null key when unsealing volumes. |
| |
| In the future, we may consider adding support for TPMs, or additional logic |
| to explicitly support other fallback behavior. |
| |
| **Current value (from the default):** `"null"` |
| |
| From //build/images/zxcrypt.gni:29 |
| |
| ## `target_cpu = "arm64"` |
| |
| ### amlogic_decoder_firmware_path |
| Path to the amlogic decoder firmware file. Overrides the default in the build. |
| |
| **Current value (from the default):** `""` |
| |
| From //src/media/drivers/amlogic_decoder/BUILD.gn:12 |
| |
| ### arm_float_abi |
| The ARM floating point mode. This is either the string "hard", "soft", or |
| "softfp". An empty string means to use the default one for the |
| arm_version. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/config/arm.gni:20 |
| |
| ### arm_optionally_use_neon |
| Whether to enable optional NEON code paths. |
| |
| **Current value (from the default):** `false` |
| |
| From //build/config/arm.gni:31 |
| |
| ### arm_tune |
| The ARM variant-specific tuning mode. This will be a string like "armv6" |
| or "cortex-a15". An empty string means to use the default for the |
| arm_version. |
| |
| **Current value (from the default):** `""` |
| |
| From //build/config/arm.gni:25 |
| |
| ### arm_use_neon |
| Whether to use the neon FPU instruction set or not. |
| |
| **Current value (from the default):** `true` |
| |
| From //build/config/arm.gni:28 |
| |
| ### arm_version |
| |
| **Current value (from the default):** `8` |
| |
| From //build/config/arm.gni:12 |
| |
| ## `target_cpu = "x64"` |
| |
| ### acpica_debug_output |
| Enable debug output in the ACPI library (used by the ACPI bus driver). |
| |
| **Current value (from the default):** `false` |
| |
| From [//third_party/acpica/BUILD.gn:7](https://fuchsia.googlesource.com/third_party/acpica/+/b4e0457ad8f111cf0ec5bd86f34f6d3e78eee711/BUILD.gn#7) |
| |