成员
- action_is_enabled
- CcToolchainInfo
- compile
- 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)如果指定的 action_config 在功能配置中启用,则返回 True。
参数
参数 | 说明 |
---|---|
feature_configuration
|
FeatureConfiguration;必需 要查询的功能配置。 |
action_name
|
string;
required action_config 的名称。 |
CcToolchainInfo
Provider cc_common.CcToolchainInfo用于检索提供程序(包含所用 C++ 工具链相关信息)的密钥
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=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], module_interfaces=unbound)应该用于 C++ 编译。返回 (
CompilationContext
, CcCompilationOutputs
) 的元组。
参数
参数 | 说明 |
---|---|
actions
|
actions;
必需actions 对象。
|
feature_configuration
|
FeatureConfiguration;必需 要查询的 feature_configuration 。
|
cc_toolchain
|
信息;必需 使用 CcToolchainInfo 提供方。 |
srcs
|
sequence;默认值为 [] 要编译的源文件列表。 |
public_hdrs
|
sequence;默认值为 [] 编译 src 所需的头文件的列表,可能会以传递方式包含在从属规则中。 |
private_hdrs
|
sequence;默认值为 [] 编译 src 所需的且不包含在从属规则中的头文件的列表。 |
includes
|
sequence;或 depset;默认值为 [] 由尖括号和引号引用的头文件的搜索路径。传递时通常使用 -I。以传递方式传播到从属实例。 |
quote_includes
|
sequence;默认值为 [] 搜索由引号引用的头文件的路径,例如 #include "foo/bar/header.h"。它们可以是相对于执行根的相对路径,也可以是绝对根。通常使用 -iquote 传递。以传递方式传播到从属实例。 |
system_includes
|
sequence;默认值为 [] 用尖括号引用的头文件的搜索路径,例如 #include <foo/bar/header.h>。它们可以是相对于执行根的相对路径,也可以是绝对路径。通常使用 -isystem 进行传递。以传递方式传播到从属实例。 |
framework_includes
|
sequence;默认值为 [] Apple 框架中的头文件的搜索路径。它们可以是相对于执行根的相对路径,也可以是绝对根。传递时通常与 -F 一起传递。以传递方式传播到从属实例。 |
defines
|
sequence;默认值为 [] 编译此目标所需的一组定义。每个定义都是一个字符串。以传递方式传播到从属实例。 |
local_defines
|
sequence;默认值为 [] 编译此目标所需的一组定义。每个定义都是一个字符串。不会以传递方式传播到从属实例。 |
include_prefix
|
string;默认值为 '' 要添加到此规则标头的路径中的前缀。设置后,此规则的 hdrs 属性中的标头可通过位于其代码库相对路径前面的该属性值访问。在添加此前缀之前,系统会移除 trip_include_prefix 属性中的前缀。 |
strip_include_prefix
|
string;默认值为 '' 要从此规则标头的路径中删除的前缀。设置后,此规则的 hdrs 属性中的标头可通过其路径被截断的路径访问。如果它是相对路径,则会被视为相对软件包。如果它是绝对路径,则会被理解为代码库相对路径。剥离此前缀后,还需要添加 include_prefix 属性中的前缀。 |
user_compile_flags
|
sequence;默认值为 [] 其他编译选项列表。 |
compilation_contexts
|
sequence;默认值为 [] 用于编译的依赖项的头文件。 |
name
|
string;
必需 此属性用于为此方法创建的操作的输出工件命名。另请参阅“main_output”参数。 |
disallow_pic_outputs
|
bool;默认值为 False 是否应创建 PIC 输出。 |
disallow_nopic_outputs
|
bool;默认值为 False 是否应创建 NOPIC 输出。 |
additional_inputs
|
sequence;默认值为 [] 编译 src 所需的其他文件的列表 |
module_interfaces
|
sequence;默认值为 unbound 要编译的模块接口源文件的列表。注意:这是一项实验性功能,只能通过 --experimental_cpp_modules 启用 |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])创建一个 feature_configuration 实例。需要 cpp 配置 fragment。
参数
参数 | 说明 |
---|---|
ctx
|
ctx;或 None ;默认值为 None 规则上下文。 |
cc_toolchain
|
信息;必需 我们为其配置功能的 cc_toolchain。 |
language
|
string;或 None ;默认值为 None 要配置的语言:c++ 或 objc(默认 c++) |
requested_features
|
sequence;默认值为 [] 要启用的功能的列表。 |
unsupported_features
|
sequence;默认值为 [] 当前规则不支持的特征的列表。 |
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;
required 规则上下文。 |
features
|
sequence;默认值为 [] 包含一个功能的所有标志规范。 参数:
- provides 包含我们要启用的其他功能或操作配置的名称。- provides 包含的值与我们要启用的其他功能或操作配置中的“提供”的值相同。使用此方法可确保不兼容的功能无法同时意外激活,从而导致难以诊断编译器错误。
|
action_configs
|
sequence;默认值为 [] 操作配置对应于 Bazel 操作,并允许根据已启用的功能选择工具。操作配置激活的语义与功能相同:某项功能可以像对待其他功能一样“要求”或“暗示”操作配置。 参数:
|
artifact_name_patterns
|
sequence,默认值为 [] 操作的指定类别输入或输出工件的工件名称。 参数:
|
cxx_builtin_include_directories
|
sequence;默认值为 [] 用于 C++ 编译的内置 include 目录。这些路径应该是编译器使用的确切路径,并且通常相对于 exec 根。 编译器使用的路径可以由“gcc -E -xc++ - -v”确定。 我们目前还使用 C++ 路径进行 C 编译,只要 C++ 和 C 头文件之间没有名称冲突,这种做法是安全的。 相对路径是相对于配置文件目录进行解析的。 如果编译器支持 --sysroot,则这些路径应使用 %sysroot% 而不是 include 路径,并指定 sysroot 属性,以便为 blaze 提供执行正确替换所需的信息。 |
toolchain_identifier
|
string;
必需 交叉工具版本中工具链的唯一标识符。必须能够将其用作路径中的目录名。 它必须与以下正则表达式匹配:[a-zA-Z_][\.\- \w]* |
host_system_name
|
string;或 None ;默认值为 None 忽略。 |
target_system_name
|
string;或 None ;默认值为 None 已弃用。GNU 系统名称。该字符串可供 CcToolchainInfo.target_gnu_system_name 使用。 |
target_cpu
|
string;或 None ;默认值为 None 已弃用:请改用基于 CPU 的约束条件。如果该字符串为“k8”,原始 FDO 配置文件数据的文件名中将省略“target_cpu”。 |
target_libc
|
string;或 None ;默认值为 None 已弃用:请改用基于操作系统的限制条件。libc 版本字符串(例如“glibc-2.2.2”)。如果该字符串为“macosx”,则平台会被假定为 MacOS。否则,请选择 Linux。该字符串可供 CcToolchainInfo.libc 使用。 |
compiler
|
string;
required 编译器字符串(例如“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
|
string;或 None ;默认值为 None 使用的 abi,是一个 gcc 版本。E.g.: “gcc-3.4”。该字符串设置为 C++ 工具链变量 ABI。 |
abi_libc_version
|
string;或 None ;默认值为 None 我们正在使用的 abi 使用的 glibc 版本。该字符串设置为 C++ 工具链变量 ABI_LIBC_VERSION。 |
tool_paths
|
sequence;默认值为 [] 工具位置。 参数:
|
make_variables
|
sequence;默认值为 [] 可供规则访问的 make 变量。 |
builtin_sysroot
|
string;或 None ;默认值为 None 内置的 sysroot。如果此属性不存在,则 Bazel 不允许使用其他 sysroot,即不允许通过 --grte_top 选项使用。 |
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 编译此目标所需的一组定义。每个定义都是一个字符串。以传递方式传播到从属项。 |
local_defines
|
默认值为 unbound 编译此目标所需的一组定义。每个定义都是一个字符串。不会传递地传播到从属实例。 |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)创建编译输出对象。
参数
参数 | 说明 |
---|---|
objects
|
depset;或 None ;默认值为 None 对象文件列表。 |
pic_objects
|
depset;或 None ;默认值为 None pic 对象文件的列表。 |
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
|
信息;必需 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
|
string 的序列;或 None ;默认值为 None 其他编译标记 (copts) 的列表。 |
include_directories
|
depset;或 None ;默认值为 None 表示 include 目录的设置。 |
quote_include_directories
|
depset;或 None ;默认值为 None 引号包含目录的取消设置。 |
system_include_directories
|
depset;或 None ;默认值为 None 设置系统包含目录。 |
framework_include_directories
|
depset;或 None ;默认值为 None 设置框架包含目录。 |
preprocessor_defines
|
depset;或 None ;默认值为 None 预处理器的 Depset 定义。 |
thinlto_index
|
string;或 None ;默认值为 None LTO 索引文件路径。 |
thinlto_input_bitcode_file
|
string;或 None ;默认值为 None 输入到 LTO 后端的位码文件。 |
thinlto_output_object_file
|
string;或 None ;默认值为 None LTO 后端输出的对象文件。 |
use_pic
|
bool;默认值为 False 如果为 true,编译将生成位置无关代码。 |
add_legacy_cxx_options
|
bool;默认值为 False Unused。 |
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
|
默认为 None feature_configuration 。
|
cc_toolchain
|
默认为 None 要使用的 CcToolchainInfo 提供程序。 |
static_library
|
File;或 None ;默认值为 None 要链接的静态库的 File 。
|
pic_static_library
|
File;或 None ;默认值为 None 要链接的图片静态库的 File 。
|
dynamic_library
|
File;或 None ;默认为要链接的动态库的 None File 。始终用于运行时;如果未传递 interface_library ,则用于链接。
|
interface_library
|
File;或 None ;默认为要链接的接口库的 None File 。
|
pic_objects
|
File 的 sequence;默认值为 unbound 实验性,请勿使用 |
objects
|
File 的 sequence;默认值为 unbound 实验性,请勿使用 |
alwayslink
|
bool;默认值为 False 是否链接 --whole_archive 块中的静态库/对象。 |
dynamic_library_symlink_path
|
string;默认值为 '' 替换 solib 目录中动态库链接的默认路径。空字符串可使用默认值。 |
interface_library_symlink_path
|
string;默认值为 '' 替换 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
|
信息;必需 cc_toolchain 我们将为其创建构建变量。 |
feature_configuration
|
FeatureConfiguration;必需 要查询的功能配置。 |
library_search_directories
|
depset;默认值为 [] 表示链接器在链接时在其中查找库的目录。 |
runtime_library_search_directories
|
depset;默认值为 [] 表示加载程序将在运行时查找库的目录。 |
user_link_flags
|
sequence;默认值为 [] 其他链接标志 (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 Unused。 |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)创建
LinkerInput
。
参数
参数 | 说明 |
---|---|
owner
|
标签(必需) 生成此输入中使用的所有文件的目标的标签。 |
libraries
|
None ;或 depset;默认值为 None LibraryToLink 的列表。
|
user_link_flags
|
None ;或 depset 为 string;或 sequence 为 string;默认值为 None 作为字符串传递的用户链接标志。接受 [String]、[[String]] 或 depset(String)。不建议采用后一种方法,因为它只是出于兼容性目的而保留,其设置是扁平化的。如果您想通过不扁平的 depsets() 传播 user_link_flag,请将它们封装在 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;默认值为 None 从 LinkerInput 开始。
|
libraries_to_link
|
None ;或 sequence;默认值为 None 已弃用。此参数已被弃用,很快就会被移除。请勿依赖它。此选项已通过 --incompatible_require_linker_input_cc_api 停用。使用此标记验证您的代码与其即将移除的兼容性兼容。LibraryToLink 的列表。 |
user_link_flags
|
None ;或 sequence;默认值为 None 已弃用。此参数已被弃用,很快就会被移除。请勿依赖它。此选项已通过 --incompatible_require_linker_input_cc_api 停用。使用此标记验证您的代码与其即将移除的兼容性兼容。以字符串形式传递的用户链接标志列表。 |
additional_inputs
|
None ;或 sequence;默认值为 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;
必需actions 对象。
|
name
|
string;
必需 此属性用于为此方法创建的操作的输出工件命名。 |
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
|
sequence;默认值为 [] 依赖项中的库。这些库会关联到 link() 调用的输出工件中,无论是二进制文件还是库。 |
user_link_flags
|
sequence;默认值为 [] 其他关联选项列表。 |
alwayslink
|
bool;默认值为 False 此库是否应始终链接。 |
additional_inputs
|
sequence;默认值为 [] 关联操作的其他输入,例如链接脚本。 |
variables_extension
|
dict;默认值为 unbound 创建链接命令行时要传递给工具链配置的其他变量。 |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})创建 LTO 编译上下文
参数
参数 | 说明 |
---|---|
objects
|
dict;默认值为 {} ,表示完整对象与索引对象的映射 |
do_not_use_tools_cpp_compiler_present
None
cc_common.do_not_use_tools_cpp_compiler_present
请勿使用此字段,它的唯一用途是帮助从 config_setting.values{'compiler') 迁移到 config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'}
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)返回要为指定操作设置的环境变量。
参数
参数 | 说明 |
---|---|
feature_configuration
|
FeatureConfiguration;必需 要查询的功能配置。 |
action_name
|
string;
required 操作的名称。必须是 @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) 中的某个名称 |
variables
|
变量;
必需 用于模板扩展的构建变量。 |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)返回指定操作的执行要求。
参数
参数 | 说明 |
---|---|
feature_configuration
|
FeatureConfiguration;必需 要查询的功能配置。 |
action_name
|
string;
required 操作的名称。必须是 @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)使用指定变量进行扩展,返回给定操作的扁平化命令行标记。对嵌套集进行扁平化处理,理想情况下不应使用,或者至少不应比分析存在时间长。我们还在开发能高效返回 Args 的内存高效函数的工作。
参数
参数 | 说明 |
---|---|
feature_configuration
|
FeatureConfiguration;必需 要查询的功能配置。 |
action_name
|
string;
required 操作的名称。必须是 @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) 中的某个名称 |
variables
|
变量;
必需 用于模板展开的构建变量。 |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)返回指定操作的工具路径。
参数
参数 | 说明 |
---|---|
feature_configuration
|
FeatureConfiguration;必需 要查询的功能配置。 |
action_name
|
string;
required 操作的名称。必须是 @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)如果相应功能已在功能配置中启用,则返回 True。
参数
参数 | 说明 |
---|---|
feature_configuration
|
FeatureConfiguration;必需 要查询的功能配置。 |
feature_name
|
string;
required 功能的名称。 |
链接
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={})应用于 C++ 传递链接。
参数
参数 | 说明 |
---|---|
actions
|
actions;
必需actions 对象。
|
name
|
string;
必需 此属性用于为此方法创建的操作的输出工件命名。 |
feature_configuration
|
FeatureConfiguration;必需 要查询的 feature_configuration 。
|
cc_toolchain
|
信息;必需 使用 CcToolchainInfo 提供方。 |
language
|
string;默认值为 'c++' 目前仅支持 C++。请勿使用此参数。 |
output_type
|
string;默认值为 'executable' 可以是“executable”或“dynamic_library”。 |
link_deps_statically
|
bool;默认值为 True 以静态方式链接依赖项时为 true,以动态方式链接依赖项时为 false。 |
compilation_outputs
|
CcCompilationOutputs;或 None ;默认值为 None 包含要链接的对象文件的编译输出。 |
linking_contexts
|
sequence;默认值为 [] 将要链接到的依赖项中的上下文链接到此规则生成的链接上下文。 |
user_link_flags
|
sequence;默认值为 [] 链接器选项的额外列表。 |
stamp
|
int;默认值为 0 是否在关联的可执行文件中包含 build 信息(如果 output_type 为“executable”)。如果为 1,则始终包含 build 信息。如果为 0(始终排除默认 build 信息,如果为 -1,则使用默认行为,该行为可能会被 --[no]stamp 标志替换。在为测试规则生成可执行输出时,应取消设置(或将其设置为 0)。 |
additional_inputs
|
sequence;或 depset;默认值为 [] 关联操作的其他输入,例如链接脚本。 |
additional_outputs
|
sequence;默认值为 [] 用于链接操作的其他输出,例如映射文件。 |
variables_extension
|
dict;默认值为 {} 创建链接命令行时要传递给工具链配置的其他变量。 |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])将多个
CompilationContexts
合并为一个。
参数
参数 | 说明 |
---|---|
compilation_contexts
|
sequence;默认值为 [] 要合并的 CompilationContexts 的列表。每个上下文的标头将由返回的提供程序中的直接字段导出。 |
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])合并编译输出。
参数
参数 | 说明 |
---|---|
compilation_outputs
|
sequence;默认值为 [] |