• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("//cc/toolchains:feature.bzl", "cc_feature")
2
3package(default_visibility = ["//visibility:public"])
4
5# All of these arguments originate from the legacy features defined in Bazel's Java code:
6#     https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/rules/cpp/CppActionConfigs.java
7
8# This feature replaces the need for action configs to list legacy features
9# in `implies` to produce a working toolchain. The full list is the set of
10# features that are implied (enabled) by built-in action  config definitions.
11# Note that some other legacy features are still hidden and enabled by default,
12# and others exist that are NOT enabled at all by default. As args are built
13# out, the `implies` entry should be removed and then moved into `args`.
14cc_feature(
15    name = "experimental_replace_legacy_action_config_features",
16    args = [
17        "//cc/toolchains/args/archiver_flags",
18        "//cc/toolchains/args/force_pic_flags",
19        "//cc/toolchains/args/libraries_to_link",
20        "//cc/toolchains/args/linker_param_file",
21        "//cc/toolchains/args/runtime_library_search_directories",
22        "//cc/toolchains/args/shared_flag",
23    ],
24    feature_name = "experimental_replace_legacy_action_config_features",
25    # TODO: Convert remaining items in this list into their actual args.
26    implies = [
27        "//cc/toolchains/features/legacy:build_interface_libraries",
28        "//cc/toolchains/features/legacy:compiler_input_flags",
29        "//cc/toolchains/features/legacy:compiler_output_flags",
30        "//cc/toolchains/features/legacy:dynamic_library_linker_tool",
31        "//cc/toolchains/features/legacy:fission_support",
32        "//cc/toolchains/features/legacy:legacy_compile_flags",
33        "//cc/toolchains/features/legacy:legacy_link_flags",
34        "//cc/toolchains/features/legacy:library_search_directories",
35        "//cc/toolchains/features/legacy:linkstamps",
36        "//cc/toolchains/features/legacy:output_execpath_flags",
37        "//cc/toolchains/features/legacy:strip_debug_symbols",
38        "//cc/toolchains/features/legacy:unfiltered_compile_flags",
39        "//cc/toolchains/features/legacy:user_compile_flags",
40        "//cc/toolchains/features/legacy:user_link_flags",
41    ],
42)
43