成员
- action_is_enabled
 - CcToolchainInfo
 - 编译
 - configure_features
 - create_cc_toolchain_config_info
 - create_compilation_context
 - create_compilation_outputs
 - create_compile_variables
 - create_library_to_link
 - create_link_variables
 - create_linker_input
 - create_linking_context
 - create_linking_context_from_compilation_outputs
 - create_lto_compilation_context
 - do_not_use_tools_cpp_compiler_present
 - get_environment_variables
 - get_execution_requirements
 - get_memory_inefficient_command_line
 - get_tool_for_action
 - is_enabled
 - 链接
 - merge_compilation_contexts
 - merge_compilation_outputs
 
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)
参数
| 参数 | 说明 | 
|---|---|
              feature_configuration
             | 
            
                          FeatureConfiguration;
                                     必需 要查询的功能配置。  | 
          
              action_name
             | 
            
                          字符串;
                                     必需 action_config 的名称。  | 
          
CcToolchainInfo
Provider cc_common.CcToolchainInfo
compile
tuple cc_common.compile(actions, feature_configuration, cc_toolchain, srcs=[], public_hdrs=[], private_hdrs=[], includes=[], quote_includes=[], system_includes=[], framework_includes=[], defines=[], local_defines=[], include_prefix='', strip_include_prefix='', user_compile_flags=[], conly_flags=[], cxx_flags=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], module_interfaces=unbound)
CompilationContext, CcCompilationOutputs) 元组。
          
      参数
| 参数 | 说明 | 
|---|---|
              actions
             | 
            
                          操作;
                                     必需actions 对象。
             | 
          
              feature_configuration
             | 
            
                          FeatureConfiguration;必需feature_configuration 进行查询。
             | 
          
              cc_toolchain
             | 
            
                          信息;
                                     必需 要使用的 CcToolchainInfo 提供程序。
             | 
          
              srcs
             | 
            
                          sequence;
                                     默认值为 []要编译的源文件列表。  | 
          
              public_hdrs
             | 
            
                          sequence;
                                     默认值为 []编译 srcs 所需的标头列表,可能会通过依赖规则以传递方式包含在内。  | 
          
              private_hdrs
             | 
            
                          sequence;
                                     default is []List of headers needed for compilation of srcs and NOT to be included by dependent rules.  | 
          
              includes
             | 
            
                          序列;或 depset;
                                     默认值为 []通过尖括号和引号引用的头文件的搜索路径。通常使用 -I 传递。以传递方式传播到依赖项。  | 
          
              quote_includes
             | 
            
                          序列;默认值为 []以英文引号引用的头文件的搜索路径,例如 #include "foo/bar/header.h"。它们可以是相对于执行根的相对路径,也可以是绝对路径。通常使用 -iquote 传递。以传递方式传播到依赖项。  | 
          
              system_includes
             | 
            
                          序列;默认值为 []尖括号(例如 #include <foo/bar/header.h>)引用的头文件的搜索路径。这些路径可以是相对于执行根目录的相对路径,也可以是绝对路径。通常通过 -isystem 传递。以传递方式传播到依赖项。  | 
          
              framework_includes
             | 
            
                          序列;
                                     默认值为 []Apple 框架中头文件的搜索路径。它们可以是相对于执行根的相对路径,也可以是绝对路径。通常使用 -F 传递。以传递方式传播到依赖项。  | 
          
              defines
             | 
            
                          序列;默认值为 []编译此目标所需的定义集。每个 define 都是一个字符串。以传递方式传播到依赖项。  | 
          
              local_defines
             | 
            
                          序列;默认值为 []编译此目标所需的定义集。每个 define 都是一个字符串。不会传递性地传播到依赖项。  | 
          
              include_prefix
             | 
            
                          字符串;
                                     默认值为 ''要添加到相应规则的标头路径中的前缀。设置后,此规则的 hdrs 属性中的标头可通过以下方式访问:将此属性的值附加到其相对于代码库的路径。在添加此属性之前,系统会先移除 strip_include_prefix 属性中的前缀。  | 
          
              strip_include_prefix
             | 
            
                          string;
                                     default is ''The prefix to strip from the paths of the headers of this rule. 设置后,此规则的 hdrs 属性中的标头可在其路径上访问,但会截断此路径前缀。如果它是相对路径,则会被视为软件包相对路径。如果它是绝对路径,则会被理解为相对于代码库的路径。include_prefix 属性中的前缀是在剥离此前缀后添加的。  | 
          
              user_compile_flags
             | 
            
                          sequence;默认值为 []其他编译选项列表。  | 
          
              conly_flags
             | 
            
                          序列;
                                     默认值为 []C 编译的其他编译选项列表。  | 
          
              cxx_flags
             | 
            
                          序列;
                                     默认值为 []用于 C++ 编译的其他编译选项列表。  | 
          
              compilation_contexts
             | 
            
                          序列;
                                     默认值为 []用于编译的依赖项中的标头。  | 
          
              name
             | 
            
                          string;必需 用于命名此方法创建的操作的输出工件。另请参阅 `main_output` 实参。  | 
          
              disallow_pic_outputs
             | 
            
                          bool;
                                     默认值为 False是否应创建 PIC 输出。  | 
          
              disallow_nopic_outputs
             | 
            
                          bool;
                                     默认值为 False是否应创建 NOPIC 输出。  | 
          
              additional_inputs
             | 
            
                          sequence;
                                     default is []List of additional files needed for compilation of srcs  | 
          
              module_interfaces
             | 
            
                          sequence;
                                     default is unbound要编译的模块接口源文件列表。注意:这是一项实验性功能,仅在启用 --experimental_cpp_modules 时启用  | 
          
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
参数
| 参数 | 说明 | 
|---|---|
              ctx
             | 
            
                          ctx;或 None;
                                     默认值为 None规则上下文。  | 
          
              cc_toolchain
             | 
            
                          信息;必需 我们为其配置功能的 cc_toolchain。  | 
          
              language
             | 
            
                          字符串;或 None;
                                     默认值为 None要配置的语言:c++ 或 objc(默认值为 c++)  | 
          
              requested_features
             | 
            
                          sequence;
                                     default is []List of features to be enabled.  | 
          
              unsupported_features
             | 
            
                          序列;                                     默认值为 []当前规则不支持的功能列表。  | 
          
create_cc_toolchain_config_info
CcToolchainConfigInfo cc_common.create_cc_toolchain_config_info(ctx, features=[], action_configs=[], artifact_name_patterns=[], cxx_builtin_include_directories=[], toolchain_identifier, host_system_name=None, target_system_name=None, target_cpu=None, target_libc=None, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)
CcToolchainConfigInfo 提供方
          
      参数
| 参数 | 说明 | 
|---|---|
              ctx
             | 
            
                          ctx;
                                     必需 规则上下文。  | 
          
              features
             | 
            
                          序列;
                                     默认值为 []包含一项功能的所有标志规范。 参数: 
 
 
 
 
 
 
 - provides 包含我们想要启用的其他功能或操作配置的名称。- provides 包含的值与我们想要启用的其他功能或操作配置中的“提供”相同。使用此功能可确保无法同时意外激活不兼容的功能,从而避免出现难以诊断的编译器错误。
             | 
          
              action_configs
             | 
            
                          序列;默认值为 []操作配置对应于 Bazel 操作,并允许根据已激活的功能选择工具。操作配置的激活与功能的语义相同:功能可以“要求”或“暗示”操作配置,就像它会要求或暗示其他功能一样。 参数: 
 
 
 
 
  | 
          
              artifact_name_patterns
             | 
            
                          序列;
                                     默认值为 []给定类别的输入或输出制品(对应于操作)的制品名称。 参数: 
 
  | 
          
              cxx_builtin_include_directories
             | 
            
                          序列;
                                     默认值为 []用于 C++ 编译的内置 include 目录。这些应该是编译器使用的确切路径,通常相对于执行根目录。 编译器使用的路径可以通过“gcc -E -xc++ - -v”确定。 我们目前还使用 C++ 路径进行 C 编译,只要 C++ 和 C 头文件之间没有名称冲突,这种做法就是安全的。 相对路径是相对于配置文件目录解析的。 如果编译器支持 --sysroot,则这些路径应使用 %sysroot% 而不是 include 路径,并指定 sysroot 属性,以便为 Blaze 提供必要的信息来正确替换。  | 
          
              toolchain_identifier
             | 
            
                          字符串;
                                     必需 相应 crosstool 版本中工具链的唯一标识符。必须能够将其用作路径中的目录名称。 必须与以下正则表达式匹配:[a-zA-Z_][\.\- \w]*  | 
          
              host_system_name
             | 
            
                          字符串;或 None;
                                     默认值为 None忽略。  | 
          
              target_system_name
             | 
            
                          字符串;或 None;
                                     默认值为 None已弃用。GNU 系统名称。该字符串会公开给 CcToolchainInfo.target_gnu_system_name。  | 
          
              target_cpu
             | 
            
                          字符串;或 None;
                                     默认值为 None已弃用:请改用基于 CPU 的限制。如果字符串为“k8”,则原始 FDO 配置文件数据的文件名中将省略 `target_cpu`。  | 
          
              target_libc
             | 
            
                          字符串;或 None;
                                     默认值为 None已弃用:请改用基于操作系统的限制。libc 版本字符串(例如“glibc-2.2.2”)。如果字符串为“macosx”,则假定平台为 MacOS。否则为 Linux。该字符串会公开给 CcToolchainInfo.libc。  | 
          
              compiler
             | 
            
                          string;
                                     必需 编译器字符串(例如“gcc”)。当前工具链的编译器以标志值的形式公开给 `@bazel_tools//tools/cpp:compiler (compiler_flag)`。需要使用特定于编译器的标志的目标可以在 select() 语句中使用 https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD 中的 config_settings,或者在现有设置不够用时创建自定义 config_setting。  | 
          
              abi_version
             | 
            
                          字符串;或 None;
                                     默认值为 None正在使用的 ABI,即 GCC 版本。例如:“gcc-3.4”。字符串设置为 C++ 工具链变量 ABI。  | 
          
              abi_libc_version
             | 
            
                          字符串;或 None;
                                     默认值为 None我们使用的 ABI 所用的 glibc 版本。该字符串设置为 C++ 工具链变量 ABI_LIBC_VERSION。  | 
          
              tool_paths
             | 
            
                          序列;
                                     默认值为 []工具位置。 参数: 
 
  | 
          
              make_variables
             | 
            
                          序列;
                                     默认值为 []一个可供规则访问的 make 变量。  | 
          
              builtin_sysroot
             | 
            
                          字符串;或 None;
                                     默认值为 None内置的 sysroot。如果不存在此属性,则 Bazel 不允许使用其他 sysroot,即不允许通过 --grte_top 选项使用其他 sysroot。  | 
          
create_compilation_context
CompilationContext cc_common.create_compilation_context(headers=unbound, system_includes=unbound, includes=unbound, quote_includes=unbound, framework_includes=unbound, defines=unbound, local_defines=unbound)
CompilationContext。
          
      参数
| 参数 | 说明 | 
|---|---|
              headers
             | 
            
                                     默认值为 unbound编译相应目标所需的标头集  | 
          
              system_includes
             | 
            
                                     默认值为 unbound由尖括号(即 #include <foo/bar/header.h>)引用的头文件的搜索路径集。这些路径可以是相对于执行根目录的相对路径,也可以是绝对路径。通常通过 -isystem 传递  | 
          
              includes
             | 
            
                                     默认值为 unbound通过尖括号和引号引用的头文件的搜索路径集。通常通过 -I 传递  | 
          
              quote_includes
             | 
            
                                     默认值为 unbound由引号引用的头文件(即 #include "foo/bar/header.h")的搜索路径集。它们可以是相对于执行根的相对路径,也可以是绝对路径。通常通过 -iquote  | 
          
              framework_includes
             | 
            
                                     默认值为 unbound头文件的框架搜索路径集(仅限 Apple 平台)  | 
          
              defines
             | 
            
                                     默认值为 unbound编译相应目标所需的定义集。每个 define 都是一个字符串。以传递方式传播到依赖项。  | 
          
              local_defines
             | 
            
                                     默认值为 unbound编译相应目标所需的定义集。每个 define 都是一个字符串。不会以传递方式传播到依赖项。  | 
          
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)
参数
| 参数 | 说明 | 
|---|---|
              objects
             | 
            
                          depset;或 None;
                                     默认值为 None对象文件列表。  | 
          
              pic_objects
             | 
            
                          depset;或 None;
                                     默认值为 NonePIC 对象文件的列表。  | 
          
create_compile_variables
Variables cc_common.create_compile_variables(cc_toolchain, feature_configuration, source_file=None, output_file=None, user_compile_flags=None, include_directories=None, quote_include_directories=None, system_include_directories=None, framework_include_directories=None, preprocessor_defines=None, thinlto_index=None, thinlto_input_bitcode_file=None, thinlto_output_object_file=None, use_pic=False, add_legacy_cxx_options=False, variables_extension=unbound)
参数
| 参数 | 说明 | 
|---|---|
              cc_toolchain
             | 
            
                          信息;
                                     必需 我们为其创建 build 变量的 cc_toolchain。  | 
          
              feature_configuration
             | 
            
                          FeatureConfiguration;
                                     必需 要查询的功能配置。  | 
          
              source_file
             | 
            
                                     默认值为 None用于编译的可选源文件。请优先在此处传递 source_file,而不是将其附加到从 cc_common.get_memory_inefficient_command_line 生成的命令行末尾,因为这样一来,工具链作者就可以正确指定和定位编译器标志。  | 
          
              output_file
             | 
            
                                     默认值为 None编译的可选输出文件。请优先在此处传递 output_file,而不是将其附加到从 cc_common.get_memory_inefficient_command_line 生成的命令行末尾,因为这样一来,工具链作者就可以正确指定和定位编译器标志。  | 
          
              user_compile_flags
             | 
            
                          字符串的序列;或 None;
                                     默认值为 None其他编译标志 (copts) 的列表。  | 
          
              include_directories
             | 
            
                          depset;或 None;
                                     默认值为 None包含目录的 depset。  | 
          
              quote_include_directories
             | 
            
                          depset;或 None;
                                     默认值为 None带引号的 include 目录的 depset。  | 
          
              system_include_directories
             | 
            
                          depset;或 None;
                                     默认值为 None系统 include 目录的 Depset。  | 
          
              framework_include_directories
             | 
            
                          depset;或 None;
                                     默认值为 None框架 include 目录的 depset。  | 
          
              preprocessor_defines
             | 
            
                          depset;或 None;
                                     默认值为 None预处理器定义的 depset。  | 
          
              thinlto_index
             | 
            
                          字符串;或 None;
                                     默认值为 NoneLTO 索引文件路径。  | 
          
              thinlto_input_bitcode_file
             | 
            
                          string;或 None;
                                     默认值为 None输入到 LTO 后端的位码文件。  | 
          
              thinlto_output_object_file
             | 
            
                          字符串;或 None;
                                     默认值为 NoneLTO 后端输出的对象文件。  | 
          
              use_pic
             | 
            
                          bool;
                                     默认值为 False如果为 true,编译将生成位置无关的代码。  | 
          
              add_legacy_cxx_options
             | 
            
                          bool;
                                     默认值为 False未使用。  | 
          
              variables_extension
             | 
            
                          dict;
                                     默认值为 unbound编译操作使用的其他变量的字典。  | 
          
create_library_to_link
LibraryToLink cc_common.create_library_to_link(actions, feature_configuration=None, cc_toolchain=None, static_library=None, pic_static_library=None, dynamic_library=None, interface_library=None, pic_objects=unbound, objects=unbound, alwayslink=False, dynamic_library_symlink_path='', interface_library_symlink_path='')
LibraryToLink
          
      参数
| 参数 | 说明 | 
|---|---|
              actions
             | 
            
                                     必需actions 对象。
             | 
          
              feature_configuration
             | 
            
                                     默认值为 Nonefeature_configuration,表示要查询。
             | 
          
              cc_toolchain
             | 
            
                                     默认值为 None,表示要使用的 CcToolchainInfo 提供程序。
             | 
          
              static_library
             | 
            
                          文件;或 None;
                                     默认值为 None要关联的静态库的 File。
             | 
          
              pic_static_library
             | 
            
                          文件;或 None;
                                     默认值为 None要关联的 PIC 静态库的 File。
             | 
          
              dynamic_library
             | 
            
                          文件;或 None;
                                     默认值为 None要关联的动态库的 File。始终用于运行时,如果未传递 interface_library,则用于关联。
             | 
          
              interface_library
             | 
            
                          文件;或 None;
                                     默认值为 None要链接的接口库的 File。
             | 
          
              pic_objects
             | 
            
                          文件的序列;默认值为 unbound实验性,请勿使用  | 
          
              objects
             | 
            
                          文件的序列;默认值为 unbound实验性,请勿使用  | 
          
              alwayslink
             | 
            
                          bool;
                                     默认值为 False是否关联 --whole_archive 块中的静态库/对象。  | 
          
              dynamic_library_symlink_path
             | 
            
                          字符串;
                                     默认值为 ''替换 solib 目录中动态库链接的默认路径。空字符串表示使用默认值。  | 
          
              interface_library_symlink_path
             | 
            
                          字符串;
                                     默认值为 ''替换 solib 目录中接口库链接的默认路径。空字符串表示使用默认值。  | 
          
create_link_variables
Variables cc_common.create_link_variables(cc_toolchain, feature_configuration, library_search_directories=[], runtime_library_search_directories=[], user_link_flags=[], output_file=None, param_file=None, is_using_linker=True, is_linking_dynamic_library=False, must_keep_debug=True, use_test_only_flags=False, is_static_linking_mode=True)
参数
| 参数 | 说明 | 
|---|---|
              cc_toolchain
             | 
            
                          信息;
                                     必需 我们为其创建 build 变量的 cc_toolchain。  | 
          
              feature_configuration
             | 
            
                          FeatureConfiguration;
                                     必需 要查询的功能配置。  | 
          
              library_search_directories
             | 
            
                          depset;默认值为 []链接器在链接时查找库的目录的 depset。  | 
          
              runtime_library_search_directories
             | 
            
                          depset;                                     默认值为 []加载程序将在运行时查找库的目录的 Depset。  | 
          
              user_link_flags
             | 
            
                          序列;
                                     默认值为 []其他链接标志 (linkopts) 的列表。  | 
          
              output_file
             | 
            
                                     默认值为 None可选的输出文件路径。  | 
          
              param_file
             | 
            
                                     默认值为 None可选参数文件路径。  | 
          
              is_using_linker
             | 
            
                          bool;
                                     默认值为 True使用链接器时为 True,使用归档器时为 False。调用方负责使此参数与所使用的操作名称保持同步(对于链接可执行文件或动态库,is_using_linker = True;对于归档静态库,is_using_linker = False)。  | 
          
              is_linking_dynamic_library
             | 
            
                          bool;
                                     默认值为 False创建动态库时为 True,创建可执行文件或静态库时为 False。调用方负责使此值与所使用的操作名称保持同步。此字段将在 b/65151735 修复后移除。  | 
          
              must_keep_debug
             | 
            
                          bool;
                                     默认值为 True设置为 False 时,bazel 将公开“strip_debug_symbols”变量,该变量通常用于使用链接器从输出文件中剥离调试符号。  | 
          
              use_test_only_flags
             | 
            
                          bool;
                                     默认值为 False设置为 true 时,将设置“is_cc_test”变量。  | 
          
              is_static_linking_mode
             | 
            
                          bool;
                                     默认值为 True未使用。  | 
          
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput。
          
      参数
| 参数 | 说明 | 
|---|---|
              owner
             | 
            
                          标签;
                                     必需 生成相应输入中使用的所有文件的目标的标签。  | 
          
              libraries
             | 
            
                          None;或 depset;
                                     默认值为 NoneLibraryToLink 的列表。
             | 
          
              user_link_flags
             | 
            
                          None;或 depset(包含 string);或 sequence(包含 string);
                                     默认值为 None以字符串形式传递的用户链接标志。接受 [String]、[[String]] 或 depset(String)。不建议使用后者,因为后者仅出于兼容性目的而保留,并且 depset 已扁平化。如果您想通过未扁平化的 depsets() 传播 user_link_flags,请将它们封装在 LinkerInput 中,以便在最后才进行扁平化处理。  | 
          
              additional_inputs
             | 
            
                          None;或 depset;默认值为 None用于链接操作的其他输入,例如:链接脚本。  | 
          
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)
LinkingContext。
          
      参数
| 参数 | 说明 | 
|---|---|
              linker_inputs
             | 
            
                          None;或 depset;
                                     默认值为 NoneLinkerInput 的 Depset。
             | 
          
              libraries_to_link
             | 
            
                          None;或序列;                                     默认值为 None已弃用。此参数已被弃用,很快就会被移除。请勿依赖此功能。它已通过 --incompatible_require_linker_input_cc_api 停用。使用此标志可验证您的代码是否与即将进行的移除操作兼容。LibraryToLink 的列表。
             | 
          
              user_link_flags
             | 
            
                          None;或序列;                                     默认值为 None已弃用。此参数已被弃用,很快就会被移除。请勿依赖此功能。它已通过 --incompatible_require_linker_input_cc_api 停用。使用此标志可验证您的代码是否与即将进行的移除操作兼容。以字符串形式传递的用户链接标志列表。  | 
          
              additional_inputs
             | 
            
                          None;或序列;                                     默认值为 None已弃用。此参数已被弃用,很快就会被移除。请勿依赖此功能。它已通过 --incompatible_require_linker_input_cc_api 停用。使用此标志可验证您的代码是否与即将进行的移除操作兼容。用于关联操作的其他输入,例如:关联脚本。  | 
          
create_linking_context_from_compilation_outputs
tuple cc_common.create_linking_context_from_compilation_outputs(actions, name, feature_configuration, cc_toolchain, language='c++', disallow_static_libraries=False, disallow_dynamic_library=False, compilation_outputs, linking_contexts=[], user_link_flags=[], alwayslink=False, additional_inputs=[], variables_extension=unbound)
CcLinkingContext, CcLinkingOutputs) 元组。
          
      参数
| 参数 | 说明 | 
|---|---|
              actions
             | 
            
                          操作;
                                     必需actions 对象。
             | 
          
              name
             | 
            
                          string;
                                     required 此参数用于命名此方法创建的操作的输出制品。  | 
          
              feature_configuration
             | 
            
                          FeatureConfiguration;必需feature_configuration 进行查询。
             | 
          
              cc_toolchain
             | 
            
                          信息;
                                     必需 要使用的 CcToolchainInfo 提供程序。
             | 
          
              language
             | 
            
                          string;
                                     默认值为 'c++'目前仅支持 C++。请勿使用此参数。  | 
          
              disallow_static_libraries
             | 
            
                          bool;
                                     默认值为 False是否应创建静态库。  | 
          
              disallow_dynamic_library
             | 
            
                          bool;默认值为 False是否应创建动态库。  | 
          
              compilation_outputs
             | 
            
                          CcCompilationOutputs;必需 包含要链接的对象文件的编译输出。  | 
          
              linking_contexts
             | 
            
                          序列;
                                     默认值为 []来自依赖项的库。这些库将链接到 link() 调用的输出工件(无论是二进制文件还是库)。  | 
          
              user_link_flags
             | 
            
                          序列;
                                     默认值为 []其他链接选项的列表。  | 
          
              alwayslink
             | 
            
                          bool;
                                     默认值为 False相应库是否应始终关联。  | 
          
              additional_inputs
             | 
            
                          序列;
                                     默认值为 []用于链接操作的其他输入,例如:链接脚本。  | 
          
              variables_extension
             | 
            
                          dict;
                                     默认值为 unbound创建链接命令行时要传递给工具链配置的其他变量。  | 
          
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})参数
| 参数 | 说明 | 
|---|---|
              objects
             | 
            
                          dict;默认值为 {}从完整对象到索引对象的映射  | 
          
do_not_use_tools_cpp_compiler_present
None cc_common.do_not_use_tools_cpp_compiler_presentget_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)
参数
| 参数 | 说明 | 
|---|---|
              feature_configuration
             | 
            
                          FeatureConfiguration;
                                     必需 要查询的功能配置。  | 
          
              action_name
             | 
            
                          字符串;
                                     必需 操作的名称。必须是 @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) 中的名称之一  | 
          
              variables
             | 
            
                          变量;
                                     必需 用于模板扩展的 build 变量。  | 
          
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)
参数
| 参数 | 说明 | 
|---|---|
              feature_configuration
             | 
            
                          FeatureConfiguration;
                                     必需 要查询的功能配置。  | 
          
              action_name
             | 
            
                          字符串;
                                     必需 操作的名称。必须是 @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) 中的名称之一  | 
          
get_memory_inefficient_command_line
sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)
参数
| 参数 | 说明 | 
|---|---|
              feature_configuration
             | 
            
                          FeatureConfiguration;
                                     必需 要查询的功能配置。  | 
          
              action_name
             | 
            
                          字符串;
                                     必需 操作的名称。必须是 @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) 中的名称之一  | 
          
              variables
             | 
            
                          变量;必需 用于模板扩展的 build 变量。  | 
          
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)
参数
| 参数 | 说明 | 
|---|---|
              feature_configuration
             | 
            
                          FeatureConfiguration;
                                     必需 要查询的功能配置。  | 
          
              action_name
             | 
            
                          字符串;
                                     必需 操作的名称。必须是 @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) 中的名称之一  | 
          
is_enabled
bool cc_common.is_enabled(feature_configuration, feature_name)
参数
| 参数 | 说明 | 
|---|---|
              feature_configuration
             | 
            
                          FeatureConfiguration;
                                     必需 要查询的功能配置。  | 
          
              feature_name
             | 
            
                          string;
                                     必需 功能名称。  | 
          
链接
CcLinkingOutputs cc_common.link(actions, name, feature_configuration, cc_toolchain, language='c++', output_type='executable', link_deps_statically=True, compilation_outputs=None, linking_contexts=[], user_link_flags=[], stamp=0, additional_inputs=[], additional_outputs=[], variables_extension={})
参数
| 参数 | 说明 | 
|---|---|
              actions
             | 
            
                          操作;
                                     必需actions 对象。
             | 
          
              name
             | 
            
                          string;
                                     required 此参数用于命名此方法创建的操作的输出制品。  | 
          
              feature_configuration
             | 
            
                          FeatureConfiguration;必需feature_configuration 进行查询。
             | 
          
              cc_toolchain
             | 
            
                          信息;
                                     必需 要使用的 CcToolchainInfo 提供程序。
             | 
          
              language
             | 
            
                          string;
                                     默认值为 'c++'目前仅支持 C++。请勿使用此参数。  | 
          
              output_type
             | 
            
                          字符串;
                                     默认值为 'executable'可以是“executable”或“dynamic_library”。  | 
          
              link_deps_statically
             | 
            
                          bool;
                                     默认值为 TrueTrue 表示静态链接依赖项,False 表示动态链接依赖项。  | 
          
              compilation_outputs
             | 
            
                          CcCompilationOutputs;或 None;
                                     默认值为 None包含要链接的对象文件的编译输出。  | 
          
              linking_contexts
             | 
            
                          序列;
                                     默认值为 []从依赖项链接到此规则生成的链接上下文的链接上下文。  | 
          
              user_link_flags
             | 
            
                          序列;
                                     默认值为 []链接器选项的其他列表。  | 
          
              stamp
             | 
            
                          int;
                                     默认值为 0是否在关联的可执行文件中包含 build 信息(如果 output_type 为“executable”)。如果值为 1,则始终包含 build 信息。如果为 0(默认值),则始终排除默认 build 信息。如果值为 -1,则使用默认行为,该行为可能会被 --[no]stamp 标志替换。在为测试规则生成可执行输出时,应取消设置此属性(或将其设置为 0)。  | 
          
              additional_inputs
             | 
            
                          序列;或 depset;
                                     默认值为 []用于链接操作的其他输入,例如:链接脚本。  | 
          
              additional_outputs
             | 
            
                          序列;默认值为 []用于链接操作的其他输出,例如:地图文件。  | 
          
              variables_extension
             | 
            
                          dict;
                                     默认值为 {}创建链接命令行时要传递给工具链配置的其他变量。  | 
          
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])
CompilationContexts 合并为一个。
          
      参数
| 参数 | 说明 | 
|---|---|
              compilation_contexts
             | 
            
                          序列;
                                     默认值为 []要合并的 CompilationContexts 列表。每个上下文的标头将通过返回的提供程序中的直接字段导出。
             | 
          
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])
参数
| 参数 | 说明 | 
|---|---|
              compilation_outputs
             | 
            
                          序列;
                                     默认值为 [] |