mirror of
https://github.com/bazelbuild/rules_cc
synced 2024-11-28 21:34:00 +00:00
0d1b084cfa
BEGIN_PUBLIC Update toolchain variable definitions to allow static linking Updates the rules-based-toolchain variable definitions to reflect the how the variables are used in Bazel's CppActionConfigs.java Java implementation, particularly with respect to static linking. END_PUBLIC PiperOrigin-RevId: 647301605 Change-Id: I7ff87a75f9654d70ea160282ba66e99363c79ce5
545 lines
14 KiB
Python
545 lines
14 KiB
Python
load("//cc/toolchains/impl:variables.bzl", "cc_builtin_variables", "cc_variable", "types")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
cc_variable(
|
|
name = "cs_fdo_instrument_path",
|
|
actions = [
|
|
"//cc/toolchains/actions:link_actions",
|
|
"//cc/toolchains/actions:compile_actions",
|
|
],
|
|
type = types.directory,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "def_file_path",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "dependency_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "dependent_module_map_files",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.list(types.file)),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "external_include_paths",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.list(types.directory)),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "fdo_instrument_path",
|
|
actions = [
|
|
"//cc/toolchains/actions:link_actions",
|
|
"//cc/toolchains/actions:compile_actions",
|
|
],
|
|
type = types.directory,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "fdo_prefetch_hints_path",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "fdo_profile_path",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "force_pic",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
# Provided when --force-pic is passed
|
|
type = types.option(types.void),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "framework_include_paths",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.directory),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "gcov_gcno_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "generate_interface_library",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
# "yes" or "no"
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "include",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "include_paths",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.directory),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "includes",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.list(types.file)),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "input_file",
|
|
actions = ["//cc/toolchains/actions:strip"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "interface_library_builder_path",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
# Should be a file, but contains the string "ignored" when there's no value.
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "interface_library_input_path",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
# Should be a file, but contains the string "ignored" when there's no value.
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "interface_library_output_path",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
# Should be a file, but contains the string "ignored" when there's no value.
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "is_cc_test",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.bool),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "is_using_fission",
|
|
actions = [
|
|
"//cc/toolchains/actions:link_actions",
|
|
"//cc/toolchains/actions:compile_actions",
|
|
],
|
|
type = types.option(types.void),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "legacy_compile_flags",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "legacy_link_flags",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.list(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link",
|
|
actions = [
|
|
"//cc/toolchains/actions:cpp_link_static_library",
|
|
"//cc/toolchains/actions:link_actions",
|
|
],
|
|
type = types.option(types.list(types.struct(
|
|
name = types.string,
|
|
is_whole_archive = types.bool,
|
|
object_files = types.list(types.file),
|
|
path = types.string,
|
|
shared_libraries = types.list(types.struct(
|
|
name = types.string,
|
|
is_whole_archive = types.bool,
|
|
object_files = types.list(types.file),
|
|
path = types.file,
|
|
type = types.string,
|
|
)),
|
|
type = types.string,
|
|
))),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.type",
|
|
actions = [
|
|
"//cc/toolchains/actions:cpp_link_static_library",
|
|
"//cc/toolchains/actions:link_actions",
|
|
],
|
|
# See :libraries_to_link.
|
|
type = types.string,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.name",
|
|
actions = [
|
|
"//cc/toolchains/actions:cpp_link_static_library",
|
|
"//cc/toolchains/actions:link_actions",
|
|
],
|
|
# See :libraries_to_link.
|
|
type = types.string,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.path",
|
|
actions = [
|
|
"//cc/toolchains/actions:cpp_link_static_library",
|
|
"//cc/toolchains/actions:link_actions",
|
|
],
|
|
# See :libraries_to_link.
|
|
type = types.string,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.object_files",
|
|
actions = [
|
|
"//cc/toolchains/actions:cpp_link_static_library",
|
|
"//cc/toolchains/actions:link_actions",
|
|
],
|
|
# See :libraries_to_link.
|
|
type = types.list(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.is_whole_archive",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.bool,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.shared_libraries",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
# See :libraries_to_link.
|
|
type = types.unknown,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.shared_libraries.is_whole_archive",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.string,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.shared_libraries.name",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.string,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.shared_libraries.object_files",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.list(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.shared_libraries.path",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "libraries_to_link.shared_libraries.type",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.string,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "library_search_directories",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.list(types.directory),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "linker_param_file",
|
|
actions = [
|
|
"//cc/toolchains/actions:cpp_link_static_library",
|
|
"//cc/toolchains/actions:link_actions",
|
|
],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "linkstamp_paths",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.list(types.directory),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "lto_indexing_bitcode_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "module_files",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.list(types.file)),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "module_map_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "module_name",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "output_assembly_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "output_execpath",
|
|
actions = [
|
|
"//cc/toolchains/actions:cpp_link_static_library",
|
|
"//cc/toolchains/actions:link_actions",
|
|
],
|
|
type = types.option(types.directory),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "output_file",
|
|
actions = [
|
|
"//cc/toolchains/actions:compile_actions",
|
|
"//cc/toolchains/actions:strip",
|
|
],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "output_preprocess_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "per_object_debug_info_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "pic",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.void),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "preprocessor_defines",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "propellor_optimize_ld_path",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "quote_include_paths",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.directory),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "runtime_library_search_directories",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.list(types.directory)),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "runtime_solib_name",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "serialized_diagnostics_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "source_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.file,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "strip_debug_symbols",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.void),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "stripopts",
|
|
actions = ["//cc/toolchains/actions:strip"],
|
|
type = types.list(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "sysroot",
|
|
type = types.directory,
|
|
)
|
|
|
|
cc_variable(
|
|
name = "system_include_paths",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.directory),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "thinlto_index",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "thinlto_indexing_param_file",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "thinlto_input_bitcode_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "thinlto_merged_object_file",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "thinlto_object_suffix_replace",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "thinlto_output_object_file",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "thinlto_param_file",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.file),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "thinlto_prefix_replace",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.option(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "unfiltered_compile_flags",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "user_compile_flags",
|
|
actions = ["//cc/toolchains/actions:compile_actions"],
|
|
type = types.list(types.string),
|
|
)
|
|
|
|
cc_variable(
|
|
name = "user_link_flags",
|
|
actions = ["//cc/toolchains/actions:link_actions"],
|
|
type = types.list(types.string),
|
|
)
|
|
|
|
cc_builtin_variables(
|
|
name = "variables",
|
|
srcs = [
|
|
":cs_fdo_instrument_path",
|
|
":def_file_path",
|
|
":dependency_file",
|
|
":dependent_module_map_files",
|
|
":external_include_paths",
|
|
":fdo_instrument_path",
|
|
":fdo_prefetch_hints_path",
|
|
":fdo_profile_path",
|
|
":force_pic",
|
|
":framework_include_paths",
|
|
":gcov_gcno_file",
|
|
":generate_interface_library",
|
|
":include",
|
|
":include_paths",
|
|
":includes",
|
|
":input_file",
|
|
":interface_library_builder_path",
|
|
":interface_library_input_path",
|
|
":interface_library_output_path",
|
|
":is_cc_test",
|
|
":is_using_fission",
|
|
":legacy_compile_flags",
|
|
":legacy_link_flags",
|
|
":libraries_to_link",
|
|
":library_search_directories",
|
|
":linker_param_file",
|
|
":linkstamp_paths",
|
|
":lto_indexing_bitcode_file",
|
|
":module_files",
|
|
":module_map_file",
|
|
":module_name",
|
|
":output_assembly_file",
|
|
":output_execpath",
|
|
":output_file",
|
|
":output_preprocess_file",
|
|
":per_object_debug_info_file",
|
|
":pic",
|
|
":preprocessor_defines",
|
|
":propellor_optimize_ld_path",
|
|
":quote_include_paths",
|
|
":runtime_library_search_directories",
|
|
":runtime_solib_name",
|
|
":serialized_diagnostics_file",
|
|
":source_file",
|
|
":strip_debug_symbols",
|
|
":stripopts",
|
|
":sysroot",
|
|
":system_include_paths",
|
|
":thinlto_index",
|
|
":thinlto_indexing_param_file",
|
|
":thinlto_input_bitcode_file",
|
|
":thinlto_merged_object_file",
|
|
":thinlto_object_suffix_replace",
|
|
":thinlto_output_object_file",
|
|
":thinlto_param_file",
|
|
":thinlto_prefix_replace",
|
|
":unfiltered_compile_flags",
|
|
":user_compile_flags",
|
|
":user_link_flags",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|