• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("//cc/toolchains:feature_set.bzl", "cc_feature_set")
2load("//cc/toolchains/impl:external_feature.bzl", "cc_external_feature")
3
4package(default_visibility = ["//visibility:public"])
5
6# See https://bazel.build/docs/cc-toolchain-config-reference#wellknown-features
7
8cc_external_feature(
9    name = "opt",
10    feature_name = "opt",
11    overridable = True,
12)
13
14cc_external_feature(
15    name = "dbg",
16    feature_name = "dbg",
17    overridable = True,
18)
19
20cc_external_feature(
21    name = "fastbuild",
22    feature_name = "fastbuild",
23    overridable = True,
24)
25
26cc_external_feature(
27    name = "static_linking_mode",
28    feature_name = "static_linking_mode",
29    overridable = True,
30)
31
32cc_external_feature(
33    name = "dynamic_linking_mode",
34    feature_name = "dynamic_linking_mode",
35    overridable = True,
36)
37
38cc_external_feature(
39    name = "per_object_debug_info",
40    feature_name = "per_object_debug_info",
41    overridable = True,
42)
43
44cc_external_feature(
45    name = "static_link_cpp_runtimes",
46    feature_name = "static_link_cpp_runtimes",
47    overridable = True,
48)
49
50cc_feature_set(
51    name = "all_non_legacy_builtin_features",
52    all_of = [
53        ":opt",
54        ":dbg",
55        ":fastbuild",
56        ":static_linking_mode",
57        ":dynamic_linking_mode",
58        ":per_object_debug_info",
59        ":static_link_cpp_runtimes",
60    ],
61    visibility = ["//visibility:private"],
62)
63
64cc_feature_set(
65    name = "all_builtin_features",
66    all_of = [
67        ":all_non_legacy_builtin_features",
68        "//cc/toolchains/features/legacy:all_legacy_builtin_features",
69    ],
70)
71