Membros
- 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
- link
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)
Parâmetros
| Parâmetro | Descrição |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Configuração do recurso a ser consultada. |
action_name
|
string;
required Name of the 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).
Parâmetros
| Parâmetro | Descrição |
|---|---|
actions
|
actions;
required Objeto actions.
|
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration a ser consultado.
|
cc_toolchain
|
Info;
requiredCcToolchainInfo provider to be used.
|
srcs
|
sequence;
o padrão é []A lista de arquivos de origem a serem compilados. |
public_hdrs
|
sequence;
o padrão é []Lista de cabeçalhos necessários para a compilação de srcs, que podem ser incluídos de forma transitiva por regras dependentes. |
private_hdrs
|
sequence;
o padrão é []Lista de cabeçalhos necessários para a compilação de srcs e NÃO incluídos por regras dependentes. |
includes
|
sequence ou depset. O padrão é []. Caminhos de pesquisa para arquivos de cabeçalho referenciados por colchetes angulares e aspas. Geralmente transmitido com -I. Propagado para dependentes de forma transitiva. |
quote_includes
|
sequence;
o padrão é []Caminhos de pesquisa para arquivos de cabeçalho referenciados por aspas, por exemplo, #include "foo/bar/header.h". Elas podem ser relativas à raiz de execução ou absolutas. Normalmente transmitido com -iquote. Propagado para dependentes de forma transitiva. |
system_includes
|
sequence;
o padrão é []Caminhos de pesquisa para arquivos de cabeçalho referenciados por colchetes angulares, por exemplo, #include <foo/bar/header.h>. Eles podem ser relativos à raiz de execução ou absolutos. Geralmente transmitido com -isystem. Propagado para dependentes de forma transitiva. |
framework_includes
|
sequence;
o padrão é []Caminhos de pesquisa para arquivos de cabeçalho de frameworks da Apple. Elas podem ser relativas à raiz de execução ou absolutas. Geralmente transmitido com -F. Propagado para dependentes de forma transitiva. |
defines
|
sequence;
o padrão é []Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Propagado para dependentes de forma transitiva. |
local_defines
|
sequence;
o padrão é []Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Não propagado para dependentes de forma transitiva. |
include_prefix
|
string;
o padrão é ''O prefixo a ser adicionado aos caminhos dos cabeçalhos dessa regra. Quando definido, os cabeçalhos no atributo "hdrs" dessa regra ficam acessíveis como o valor desse atributo adicionado ao caminho relativo ao repositório. O prefixo no atributo "strip_include_prefix" é removido antes de ser adicionado. |
strip_include_prefix
|
string;
o padrão é ''O prefixo a ser removido dos caminhos dos cabeçalhos desta regra. Quando definido, os cabeçalhos no atributo "hdrs" dessa regra ficam acessíveis no caminho deles com esse prefixo cortado. Se for um caminho relativo, ele será considerado relativo ao pacote. Se for absoluto, ele será entendido como um caminho relativo ao repositório. O prefixo no atributo "include_prefix" é adicionado depois que esse prefixo é removido. |
user_compile_flags
|
sequence;
o padrão é []Lista adicional de opções de compilação. |
conly_flags
|
sequence;
o padrão é []Lista adicional de opções de compilação para compilações em C. |
cxx_flags
|
sequence;
o padrão é []Lista adicional de opções de compilação para compilações em C++. |
compilation_contexts
|
sequence;
o padrão é []Cabeçalhos de dependências usados para compilação. |
name
|
string;
required Usado para nomear os artefatos de saída das ações criadas por esse método. Consulte também o argumento "main_output". |
disallow_pic_outputs
|
bool;
o padrão é FalseSe as saídas de PIC precisam ser criadas. |
disallow_nopic_outputs
|
bool;
o padrão é FalseEspecifica se as saídas NOPIC precisam ser criadas. |
additional_inputs
|
sequence;
o padrão é []Lista de arquivos adicionais necessários para a compilação de srcs |
module_interfaces
|
sequence;
o padrão é unboundA lista de arquivos de origem de interfaces de módulo a serem compilados. Observação: este é um recurso experimental, ativado apenas com --experimental_cpp_modules |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
Parâmetros
| Parâmetro | Descrição |
|---|---|
ctx
|
ctx ou None. O padrão é None. O contexto da regra. |
cc_toolchain
|
Info;
required cc_toolchain para o qual configuramos recursos. |
language
|
string; ou None;
o padrão é NoneA linguagem a ser configurada: c++ ou objc (padrão c++) |
requested_features
|
sequence;
o padrão é []Lista de recursos a serem ativados. |
unsupported_features
|
sequence;
o padrão é []Lista de recursos que não são compatíveis com a regra atual. |
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.
Parâmetros
| Parâmetro | Descrição |
|---|---|
ctx
|
ctx;
required O contexto da regra. |
features
|
sequence;
o padrão é []Contém todas as especificações de flag para um recurso. Argumentos:
- provides contiver o nome de um recurso ou configuração de ação diferente que queremos ativar.- provides contiver o mesmo valor de um "provides" em um recurso ou configuração de ação diferente que queremos ativar. Use isso para garantir que recursos incompatíveis não sejam ativados acidentalmente ao mesmo tempo, o que pode levar a erros de compilador difíceis de diagnosticar.
|
action_configs
|
sequence;
o padrão é []Uma configuração de ação corresponde a uma ação do Bazel e permite a seleção de uma ferramenta com base nos recursos ativados. A ativação da configuração de ação ocorre pela mesma semântica dos recursos: um recurso pode "exigir" ou "implicar" uma configuração de ação da mesma forma que outro recurso. Argumentos:
|
artifact_name_patterns
|
sequence;
o padrão é []O nome de um artefato de uma determinada categoria de artefatos de entrada ou saída para uma ação. Argumentos:
|
cxx_builtin_include_directories
|
sequence;
o padrão é []Diretórios de inclusão integrados para compilação em C++. Esses devem ser os caminhos exatos usados pelo compilador e geralmente são relativos à raiz de execução. Os caminhos usados pelo compilador podem ser determinados por "gcc -E -xc++ - -v". Atualmente, usamos os caminhos do C++ também para a compilação em C, o que é seguro desde que não haja conflitos de nomes entre os arquivos de cabeçalho C++ e C. Os caminhos relativos são resolvidos em relação ao diretório do arquivo de configuração. Se o compilador tiver suporte a --sysroot, esses caminhos vão usar %sysroot% em vez do caminho de inclusão e especificar o atributo sysroot para dar ao blaze as informações necessárias para fazer as substituições corretas. |
toolchain_identifier
|
string;
required O identificador exclusivo da cadeia de ferramentas na versão do crosstool. É preciso ser possível usar isso como um nome de diretório em um caminho. Ele precisa corresponder à seguinte regex: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; ou None;
o padrão é NoneIgnorado. |
target_system_name
|
string ou None. O padrão é None. Obsoleto. O nome do sistema GNU. A string é exposta a "CcToolchainInfo.target_gnu_system_name". |
target_cpu
|
string ou None; o padrão é None. Descontinuado: use restrições baseadas na CPU. Se a string for "k8", `target_cpu` será omitido do nome do arquivo de dados de perfil FDO brutos. |
target_libc
|
string ou None. O padrão é None. Descontinuado: use restrições com base no SO. A string da versão da libc (por exemplo, "glibc-2.2.2"). Se a string for "macosx", a plataforma será considerada como MacOS. Caso contrário, Linux. A string é exposta a CcToolchainInfo.libc. |
compiler
|
string;
required A string do compilador (por exemplo, "gcc"). O compilador do conjunto de ferramentas atual é exposto a `@bazel_tools//tools/cpp:compiler (compiler_flag)` como um valor de flag. Os destinos que exigem flags específicas do compilador podem usar as config_settings em https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD em instruções select() ou criar config_setting personalizadas se as configurações atuais não forem suficientes. |
abi_version
|
string ou None; o padrão é None. A ABI em uso, que é uma versão do gcc. Por exemplo: "gcc-3.4". A string é definida como ABI da variável do conjunto de ferramentas C++. |
abi_libc_version
|
string ou None; o padrão é None. A versão da glibc usada pela ABI que estamos usando. A string é definida como ABI_LIBC_VERSION da variável do conjunto de ferramentas C++. |
tool_paths
|
sequence;
o padrão é []Locais das ferramentas. Argumentos:
|
make_variables
|
sequence;
o padrão é []Uma variável de criação que é disponibilizada para as regras. |
builtin_sysroot
|
string ou None;
o padrão é NoneO sysroot integrado. Se esse atributo não estiver presente, o Bazel não permitirá o uso de um sysroot diferente, ou seja, pela opção "--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.
Parâmetros
| Parâmetro | Descrição |
|---|---|
headers
|
O padrão é unboundConjunto de cabeçalhos necessários para compilar esse destino |
system_includes
|
O padrão é unboundConjunto de caminhos de pesquisa para arquivos de cabeçalho referenciados por colchetes angulares, ou seja, #include <foo/bar/header.h>. Eles podem ser relativos à raiz de execução ou absolutos. Geralmente transmitido com -isystem |
includes
|
O padrão é unboundConjunto de caminhos de pesquisa para arquivos de cabeçalho referenciados por colchetes angulares e aspas.Normalmente transmitido com -I |
quote_includes
|
O padrão é unboundConjunto de caminhos de pesquisa para arquivos de cabeçalho referenciados por aspas, ou seja, #include "foo/bar/header.h". Elas podem ser relativas à raiz de execução ou absolutas. Geralmente transmitido com -iquote |
framework_includes
|
O padrão é unbound. Conjunto de caminhos de pesquisa de framework para arquivos de cabeçalho (somente plataforma Apple). |
defines
|
O padrão é unboundConjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Propagado de forma transitiva para dependentes. |
local_defines
|
O padrão é unboundConjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Não propagado de forma transitiva para dependentes. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)
Parâmetros
| Parâmetro | Descrição |
|---|---|
objects
|
depset ou None; o padrão é None. Lista de arquivos de objeto. |
pic_objects
|
depset ou None; o padrão é None. Lista de arquivos de objeto 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)
Parâmetros
| Parâmetro | Descrição |
|---|---|
cc_toolchain
|
Info;
required cc_toolchain for which we are creating build variables. |
feature_configuration
|
FeatureConfiguration;
required Configuração do recurso a ser consultada. |
source_file
|
O padrão é None. Arquivo de origem opcional para a compilação. Prefira transmitir source_file aqui em vez de anexá-lo ao final da linha de comando gerada por cc_common.get_memory_inefficient_command_line. Assim, o autor da cadeia de ferramentas pode especificar e posicionar corretamente as flags do compilador. |
output_file
|
O padrão é NoneArquivo de saída opcional da compilação. Prefira transmitir output_file aqui em vez de anexá-lo ao final da linha de comando gerada por cc_common.get_memory_inefficient_command_line. Assim, o autor da cadeia de ferramentas pode especificar e posicionar corretamente as flags do compilador. |
user_compile_flags
|
sequência de strings ou None. O padrão é None. Lista de flags de compilação adicionais (copts). |
include_directories
|
depset ou None; o padrão é None. Depset de diretórios de inclusão. |
quote_include_directories
|
depset ou None; o padrão é NoneDepset de diretórios de inclusão de cotações. |
system_include_directories
|
depset ou None; o padrão é None. Depset de diretórios de inclusão do sistema. |
framework_include_directories
|
depset ou None; o padrão é None. Depset de diretórios de inclusão de framework. |
preprocessor_defines
|
depset ou None. O padrão é None. Depset de definições do pré-processador. |
thinlto_index
|
string ou None;
o padrão é NoneCaminho do arquivo de índice LTO. |
thinlto_input_bitcode_file
|
string ou None;
o padrão é NoneArquivo bitcode que é inserido no back-end LTO. |
thinlto_output_object_file
|
string ou None. O padrão é None. Arquivo de objeto gerado pelo back-end da LTO. |
use_pic
|
bool;
o padrão é FalseQuando verdadeiro, a compilação gera um código independente de posição. |
add_legacy_cxx_options
|
bool;
o padrão é FalseNão usado. |
variables_extension
|
dict;
o padrão é unboundUm dicionário de variáveis adicionais usadas por ações de compilação. |
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
Parâmetros
| Parâmetro | Descrição |
|---|---|
actions
|
Objeto requiredactions.
|
feature_configuration
|
O padrão é Nonefeature_configuration a ser consultado.
|
cc_toolchain
|
O padrão é o provedor NoneCcToolchainInfo.
|
static_library
|
Arquivo ou None. O padrão é NoneFile da biblioteca estática a ser vinculada.
|
pic_static_library
|
Arquivo ou None;
o padrão é NoneFile da biblioteca estática pic a ser vinculada.
|
dynamic_library
|
Arquivo ou None; o padrão é NoneFile da biblioteca dinâmica a ser vinculada. Sempre usado para tempo de execução e vinculação se interface_library não for transmitido.
|
interface_library
|
Arquivo ou None. O padrão é None. File da biblioteca de interface a ser vinculada.
|
pic_objects
|
sequência de Files;
o padrão é unboundExperimental, não use |
objects
|
sequência de Files;
o padrão é unboundExperimental, não use |
alwayslink
|
bool;
o padrão é FalseIndica se a biblioteca/os objetos estáticos serão vinculados no bloco --whole_archive. |
dynamic_library_symlink_path
|
string;
o padrão é ''Substitui o caminho padrão do link da biblioteca dinâmica no diretório solib. String vazia para usar o padrão. |
interface_library_symlink_path
|
string;
o padrão é ''Substitua o caminho padrão do link da biblioteca de interface no diretório solib. String vazia para usar o padrão. |
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)
Parâmetros
| Parâmetro | Descrição |
|---|---|
cc_toolchain
|
Info;
required cc_toolchain for which we are creating build variables. |
feature_configuration
|
FeatureConfiguration;
required Configuração do recurso a ser consultada. |
library_search_directories
|
depset;
o padrão é []Depset de diretórios em que o vinculador vai procurar bibliotecas no momento da vinculação. |
runtime_library_search_directories
|
depset;
o padrão é []Depset de diretórios em que o carregador vai procurar bibliotecas no momento da execução. |
user_link_flags
|
sequence;
o padrão é []Lista de flags de vinculação adicionais (linkopts). |
output_file
|
O padrão é NoneCaminho opcional do arquivo de saída. |
param_file
|
O padrão é NoneCaminho do arquivo de parâmetro opcional. |
is_using_linker
|
bool;
o padrão é True"True" ao usar o vinculador e "False" ao usar o arquivador. O caller é responsável por manter isso sincronizado com o nome da ação usada (is_using_linker = True para vincular executável ou biblioteca dinâmica, is_using_linker = False para arquivar biblioteca estática). |
is_linking_dynamic_library
|
bool;
o padrão é FalseTrue ao criar uma biblioteca dinâmica e False ao criar uma biblioteca executável ou estática. O caller é responsável por manter isso sincronizado com o nome da ação usada. Esse campo será removido quando o problema b/65151735 for corrigido. |
must_keep_debug
|
bool;
o padrão é TrueQuando definido como "False", o Bazel expõe a variável "strip_debug_symbols", que geralmente é usada para usar o vinculador e remover símbolos de depuração do arquivo de saída. |
use_test_only_flags
|
bool;
o padrão é FalseQuando definido como "true", a variável "is_cc_test" é definida. |
is_static_linking_mode
|
bool;
o padrão é TrueNão usado. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput.
Parâmetros
| Parâmetro | Descrição |
|---|---|
owner
|
Rótulo;
obrigatório O rótulo da meta que produziu todos os arquivos usados nesta entrada. |
libraries
|
None ou depset;
o padrão é NoneLista de LibraryToLink.
|
user_link_flags
|
None; ou depset de strings; ou sequence de strings;
o padrão é NoneFlags de link do usuário transmitidas como strings. Aceita [String], [[String]] ou depset(String). A segunda opção não é recomendada porque só é mantida para fins de compatibilidade, e o depset é simplificado. Se você quiser propagar user_link_flags usando depsets() não simplificados, coloque-os em um LinkerInput para que não sejam simplificados até o final. |
additional_inputs
|
None ou depset; o padrão é None. Para outras entradas na ação de vinculação, por exemplo, scripts de vinculação. |
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)
LinkingContext.
Parâmetros
| Parâmetro | Descrição |
|---|---|
linker_inputs
|
None ou depset;
o padrão é NoneDepset de LinkerInput.
|
libraries_to_link
|
None ou sequence. O padrão é None. Suspenso. Esse parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele fica desativado com --incompatible_require_linker_input_cc_api. Use essa flag para verificar se seu código é compatível com a remoção iminente. Lista de LibraryToLink.
|
user_link_flags
|
None ou sequence. O padrão é None. Suspenso. Esse parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele fica desativado com --incompatible_require_linker_input_cc_api. Use essa flag para verificar se seu código é compatível com a remoção iminente. Lista de flags de vinculação de usuário transmitidas como strings. |
additional_inputs
|
None ou sequence. O padrão é None. Suspenso. Esse parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele fica desativado com --incompatible_require_linker_input_cc_api. Use essa flag para verificar se seu código é compatível com a remoção iminente. Para outras entradas da ação de vinculação, por exemplo, scripts de vinculação. |
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).
Parâmetros
| Parâmetro | Descrição |
|---|---|
actions
|
actions;
required Objeto actions.
|
name
|
string;
required Usado para nomear os artefatos de saída das ações criadas por esse método. |
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration a ser consultado.
|
cc_toolchain
|
Info;
requiredCcToolchainInfo provider to be used.
|
language
|
string;
o padrão é 'c++'Por enquanto, apenas C++ é compatível. Não use esse parâmetro. |
disallow_static_libraries
|
bool;
o padrão é FalseSe as bibliotecas estáticas devem ser criadas. |
disallow_dynamic_library
|
bool;
o padrão é FalseIndica se uma biblioteca dinâmica precisa ser criada. |
compilation_outputs
|
CcCompilationOutputs;
required Saídas de compilação que contêm arquivos de objeto a serem vinculados. |
linking_contexts
|
sequence;
o padrão é []Bibliotecas de dependências. Essas bibliotecas serão vinculadas ao artefato de saída da chamada link(), seja um binário ou uma biblioteca. |
user_link_flags
|
sequence;
o padrão é []Lista adicional de opções de vinculação. |
alwayslink
|
bool;
o padrão é FalseSe esta biblioteca deve ser sempre vinculada. |
additional_inputs
|
sequence;
o padrão é []Para outras entradas na ação de vinculação, por exemplo, scripts de vinculação. |
variables_extension
|
dict;
o padrão é unboundVariáveis adicionais a serem transmitidas para a configuração da cadeia de ferramentas ao criar a linha de comando do link. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})Parâmetros
| Parâmetro | Descrição |
|---|---|
objects
|
dict;
o padrão é {}mapa do objeto completo para o objeto de índice |
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)
Parâmetros
| Parâmetro | Descrição |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Configuração do recurso a ser consultada. |
action_name
|
string;
required Nome da ação. Precisa ser um dos nomes em @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) |
variables
|
Variáveis;
obrigatório Variáveis de build a serem usadas para expansão de modelo. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)
Parâmetros
| Parâmetro | Descrição |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Configuração do recurso a ser consultada. |
action_name
|
string;
required Nome da ação. Precisa ser um dos nomes em @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)
Parâmetros
| Parâmetro | Descrição |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Configuração do recurso a ser consultada. |
action_name
|
string;
required Nome da ação. Precisa ser um dos nomes em @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) |
variables
|
Variáveis;
obrigatório Variáveis de build a serem usadas para expansões de modelo. |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)
Parâmetros
| Parâmetro | Descrição |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Configuração do recurso a ser consultada. |
action_name
|
string;
required Nome da ação. Precisa ser um dos nomes em @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)
Parâmetros
| Parâmetro | Descrição |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Configuração do recurso a ser consultada. |
feature_name
|
string;
required Nome do recurso. |
link
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={})
Parâmetros
| Parâmetro | Descrição |
|---|---|
actions
|
actions;
required Objeto actions.
|
name
|
string;
required Usado para nomear os artefatos de saída das ações criadas por esse método. |
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration a ser consultado.
|
cc_toolchain
|
Info;
requiredCcToolchainInfo provider to be used.
|
language
|
string;
o padrão é 'c++'Por enquanto, apenas C++ é compatível. Não use esse parâmetro. |
output_type
|
string;
o padrão é 'executable'Pode ser "executable" ou "dynamic_library". |
link_deps_statically
|
bool;
o padrão é TrueTrue para vincular dependências de maneira estática e False de maneira dinâmica. |
compilation_outputs
|
CcCompilationOutputs ou None; o padrão é None. Saídas de compilação que contêm arquivos de objeto para vinculação. |
linking_contexts
|
sequence;
o padrão é []Contextos de vinculação de dependências a serem vinculados ao contexto de vinculação gerado por esta regra. |
user_link_flags
|
sequence;
o padrão é []Lista adicional de opções do vinculador. |
stamp
|
int;
o padrão é 0Se as informações de build devem ser incluídas no executável vinculado, caso output_type seja "executable". Se for 1, as informações de build sempre serão incluídas. Se 0, as informações de build padrão serão sempre excluídas. Se for -1, usa o comportamento padrão, que pode ser substituído pela flag --[no]stamp. Isso precisa ser desmarcado (ou definido como 0) ao gerar a saída executável para regras de teste. |
additional_inputs
|
sequence ou depset.O padrão é []. Para outras entradas na ação de vinculação, por exemplo, scripts de vinculação. |
additional_outputs
|
sequence;
o padrão é []Para outras saídas da ação de vinculação, por exemplo, arquivos de mapa. |
variables_extension
|
dict;
o padrão é {}Variáveis adicionais a serem transmitidas para a configuração da cadeia de ferramentas ao criar a linha de comando do link. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])
CompilationContextss em um.
Parâmetros
| Parâmetro | Descrição |
|---|---|
compilation_contexts
|
sequence;
o padrão é []Lista de CompilationContextss a serem mesclados. Os cabeçalhos de cada contexto serão exportados pelos campos diretos no provedor retornado.
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])
Parâmetros
| Parâmetro | Descrição |
|---|---|
compilation_outputs
|
sequence;
o padrão é [] |