| # Copyright 2020 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/toolchain/variant_tags.gni") |
| |
| # The list of all valid toolchain tag strings that can appear inside a |
| # `tags` definition when calling variant_toolchain_suite(). Note that the |
| # `toolchain_variant.tags` value will contain both the tags from the |
| # base toolchain, and those from the corresponding variant descriptor, if any. |
| # |
| # Tags are used to specify various properties of a toolchain, and allows some |
| # filtering to happen during variant toolchain selection, or directly inside |
| # a target's build rules by looking at `toolchain_variant.tags`. |
| # |
| all_toolchain_tags = all_variant_tags |
| all_toolchain_tags += [ |
| # This tag is used for toolchains that are only used to build parts of the |
| # Zircon kernel. Generally this means there is no C standard library. Some |
| # Zircon targets affect their build settings based on the presence of this |
| # tag. |
| "kernel", |
| |
| # Used by the EFI toolchain used to build the Gigaboot bootloader. |
| "efi", |
| |
| # This tag is used by Zircon toolchains that generate static PIE executable |
| # binaries. |
| "static-pie", |
| |
| # This tag is used by Zircon toolchains that generate code that assumes that |
| # unaligned access will crash the system. |
| "strict-align", |
| |
| # This tag is used by Zircon toolchain that generate code that doesn't link |
| # to any system runtime (e.g. the C library). |
| "standalone", |
| |
| # This tag is used by Zircon toolchains that enables the 'tiny' code generation |
| # model (i.e. the program and its statically defined symbols must be within 1 GiB). |
| "tiny", |
| ] |