Participantes
- 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)Retorna "True" se o action_config estiver ativado na configuração do recurso.
Parâmetros
Parâmetro | Descrição |
---|---|
feature_configuration
|
FeatureConfiguration;
obrigatório Configuração de recurso a ser consultada. |
action_name
|
string;
obrigatório Nome da action_config. |
CcToolchainInfo
Provider cc_common.CcToolchainInfoA chave usada para recuperar o provedor que contém informações sobre o conjunto de ferramentas C++ que está sendo usado.
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)Precisa ser usado para compilação em C++. Retorna a tupla de (
CompilationContext
, CcCompilationOutputs
).
Parâmetros
Parâmetro | Descrição |
---|---|
actions
|
ações,
o objeto actions obrigatório.
|
feature_configuration
|
FeatureConfiguration;
necessáriofeature_configuration para ser consultado.
|
cc_toolchain
|
Informações:
provedorCcToolchainInfo obrigatório para ser usado.
|
srcs
|
sequência;
o padrão é [] Lista de arquivos de origem a serem compilados. |
public_hdrs
|
Sequência;
o padrão é [] Lista de cabeçalhos necessários para a compilação de srcs e que podem ser incluídos de forma transitiva por regras dependentes. |
private_hdrs
|
sequência;
o padrão é [] Lista de cabeçalhos necessários para a compilação de srcs e que NÃO devem ser incluídos por regras dependentes. |
includes
|
Sequência ou depset;
o padrão é [] Caminhos de pesquisa para arquivos de cabeçalho referenciados por colchete angular e aspas. Normalmente passou com -I. Propagada para dependentes de maneira transitiva. |
quote_includes
|
sequência;
padrão é [] Caminhos de pesquisa para arquivos de cabeçalho referenciados por aspas, por exemplo, #include "foo/bar/header.h". Eles podem ser relativos à raiz de execução ou absolutos. Normalmente passado com -iquote. Propagada para dependentes de maneira transitiva. |
system_includes
|
sequência;
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. Normalmente passado com -isystem. Propagada para dependentes de maneira transitiva. |
framework_includes
|
sequência;
o padrão é [] Caminhos de pesquisa para arquivos de cabeçalho dos frameworks da Apple. Eles podem ser relativos à raiz de execução ou absolutos. Normalmente, é passado com -F. Propagada para dependentes de maneira transitiva. |
defines
|
sequência;
o padrão é [] Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Propagada para dependentes de maneira transitiva. |
local_defines
|
sequência;
o padrão é [] Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Não propagada de forma transitiva para os dependentes. |
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 são acessíveis em se o valor desse atributo for anexado ao caminho relativo ao repositório. O prefixo no atributo strip_include_prefix é removido antes da adição desse prefixo. |
strip_include_prefix
|
string; o padrão é '' . O prefixo a ser removido dos caminhos dos cabeçalhos dessa regra. Quando definido, os cabeçalhos no atributo hdrs dessa regra são acessíveis no caminho com esse prefixo cortado. Se for um caminho relativo, ele será considerado relativo ao pacote. Se for absoluto, será entendido como um caminho relativo ao repositório. O prefixo no atributo include_prefix é adicionado depois que esse prefixo é removido. |
user_compile_flags
|
sequência;
o padrão é [] Lista adicional de opções de compilação. |
compilation_contexts
|
sequência;
o padrão é [] Cabeçalhos das dependências usadas para compilação. |
name
|
string;
obrigatório Ele é usado para nomear os artefatos de saída das ações criados por esse método. Consulte também o argumento `main_output`. |
disallow_pic_outputs
|
bool;
o padrão é False Define se as saídas de PIC precisam ser criadas. |
disallow_nopic_outputs
|
bool;
o padrão é False Define se as saídas NOPIC precisam ser criadas. |
additional_inputs
|
sequência;
o padrão é [] Lista de arquivos adicionais necessários para a compilação de srcs. |
module_interfaces
|
Sequência;
o padrão é unbound A 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=[])Cria uma instância feature_configuration. Requer o fragmento de configuração do cpp.
Parâmetros
Parâmetro | Descrição |
---|---|
ctx
|
ctx; ou None ;
o padrão é None .O contexto da regra. |
cc_toolchain
|
Informações
obrigatórias cc_Dataset em que configuramos recursos. |
language
|
string; ou None ;
o padrão é None O idioma a ser configurado para: c++ ou objc (c++ padrão) |
requested_features
|
sequência;
o padrão é [] Lista de recursos a serem ativados. |
unsupported_features
|
sequência;
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)Cria um provedor
CcToolchainConfigInfo
Parâmetros
Parâmetro | Descrição |
---|---|
ctx
|
ctx;
obrigatório O contexto da regra. |
features
|
Sequência;
o padrão é [] Contém todas as especificações de sinalização para um recurso. Argumentos:
- provides tiver o nome de outro recurso ou configuração de ação que queremos ativar.- provides contém o mesmo valor de "fornece" em uma configuração de recurso ou ação diferente que queremos ativar. Use esse método para garantir que recursos incompatíveis não sejam ativados acidentalmente ao mesmo tempo, o que dificulta o diagnóstico de erros do compilador.
|
action_configs
|
Sequência;
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 da ação ocorre pela mesma semântica dos atributos: um recurso pode "solicitar" ou "implicar" uma configuração de ação da mesma forma que faria com outro recurso. Argumentos:
|
artifact_name_patterns
|
Sequência;
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
|
sequência; 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'. No momento, também usamos os caminhos C++ para a compilação em C, o que é seguro, desde que não haja conflitos de nome 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 devem usar %sysroot% em vez do caminho de inclusão e especificar o atributo sysroot para fornecer ao blaze as informações necessárias para fazer as substituições corretas. |
toolchain_identifier
|
string;
obrigatório O identificador exclusivo do conjunto de ferramentas na versão do crosstool. Deve ser possível usá-lo como um nome de diretório em um caminho. Ele precisa corresponder ao seguinte regex: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; ou None ;
o padrão é None Ignorado. |
target_system_name
|
string; ou None ; o padrão é None . Uso suspenso. O nome do sistema GNU. A string é exposta a CcToolchainInfo.target_gnu_system_name. |
target_cpu
|
string; ou None ;
o padrão é None .Obsoleto: use restrições baseadas em CPU. Se a string for "k8", "target_cpu" será omitido do nome do arquivo de dados brutos do perfil do FDO. |
target_libc
|
string; ou None ; o padrão é None .Obsoleto: use restrições baseadas no SO. A string da versão da libc (por exemplo, "glibc-2.2.2"). Se a string for "macosx", a plataforma será considerada MacOS. Caso contrário, use o Linux. A string é exposta a CcToolchainInfo.libc. |
compiler
|
string,
obrigatório 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 sinalização. Os destinos que exigem flags específicas do compilador podem usar o config_settings em https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD em instruções select() ou criar um config_setting personalizado se as configurações existentes não forem suficientes. |
abi_version
|
string; ou None ;
o padrão é None A abi em uso, que é uma versão gcc. E.g.: “gcc-3.4”. A string é definida como a variável ABI 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 a variável ABI_LIBC_VERSION do conjunto de ferramentas do C++. |
tool_paths
|
Sequência; o padrão é [] Locais da ferramenta. Argumentos:
|
make_variables
|
sequência;
o padrão é [] Uma variável que se torna acessível às regras. |
builtin_sysroot
|
string ou None . O padrão é None . A sysroot integrada. Se esse atributo não estiver presente, o Bazel não permitirá o uso de uma sysroot diferente, ou seja, com a 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)Cria uma
CompilationContext
.
Parâmetros
Parâmetro | Descrição |
---|---|
headers
|
o padrão é unbound Conjunto de cabeçalhos necessários para compilar esse destino |
system_includes
|
padrão é unbound Conjunto 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. Normalmente passado com -isystem |
includes
|
padrão é unbound Conjunto de caminhos de pesquisa para arquivos de cabeçalho referenciados por colchete angular e aspas. Normalmente, é transmitido com -I. |
quote_includes
|
o padrão é unbound Conjunto de caminhos de pesquisa para arquivos de cabeçalho referenciados por aspas, ou seja, #include "foo/bar/header.h". Eles podem ser relativos à raiz de execução ou absolutos. Normalmente passado com -iquote |
framework_includes
|
o padrão é unbound Conjunto de caminhos de pesquisa de framework para arquivos de cabeçalho (somente na plataforma Apple) |
defines
|
o padrão é unbound Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Propagada de forma transitiva para dependentes. |
local_defines
|
o padrão é unbound Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Não propagados de forma transitiva para dependentes. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)Cria o objeto de saídas de compilação.
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)Retorna variáveis usadas para ações de compilação.
Parâmetros
Parâmetro | Descrição |
---|---|
cc_toolchain
|
Informações:
obrigatório cc_Dataset para o qual estamos criando variáveis de build. |
feature_configuration
|
FeatureConfiguration;
obrigatório Configuração de recurso a ser consultada. |
source_file
|
o padrão é None Arquivo de origem opcional para a compilação. Prefira transmitir o arquivo source_file aqui em vez de anexá-lo ao final da linha de comando gerada por cc_common.get_memory_inefficient_command_line, já que o autor do conjunto de ferramentas pode especificar e posicionar corretamente as flags do compilador. |
output_file
|
o padrão é None Arquivo de saída opcional da compilação. Prefira transmitir o output_file aqui em vez de anexá-lo ao final da linha de comando gerada por cc_common.get_memory_in performance_command_line, já que o autor do conjunto de ferramentas já pode especificar e posicionar corretamente as flags do compilador. |
user_compile_flags
|
sequência de strings ou None .
O padrão é None Lista de outras flags de compilação (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 é None O conjunto de diretórios de inclusão de aspas. |
system_include_directories
|
depset; ou None ;
o padrão é None O conjunto 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 do framework. |
preprocessor_defines
|
depset; ou None ;
o padrão é None O conjunto de pré-processador define. |
thinlto_index
|
string ou None ; o padrão é None caminho do arquivo de índice LTO. |
thinlto_input_bitcode_file
|
string; ou None ; o padrão é None . Arquivo de bitcode de entrada para o back-end de LTO. |
thinlto_output_object_file
|
string; ou None ; o padrão é None . Arquivo de objeto que é gerado pelo back-end de LTO. |
use_pic
|
bool;
o padrão é False . Quando verdadeiro, a compilação gera um código independente de posição. |
add_legacy_cxx_options
|
bool;
o padrão é False Não usado. |
variables_extension
|
dict;
o padrão é unbound .Um dicionário de variáveis extras usado pelas 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='')Cria
LibraryToLink
Parâmetros
Parâmetro | Descrição |
---|---|
actions
|
objeto actions obrigatório.
|
feature_configuration
|
o padrão é None feature_configuration para ser consultado.
|
cc_toolchain
|
O padrão é o provedor None CcToolchainInfo a ser usado.
|
static_library
|
Arquivo; ou None ;
o padrão é None File da biblioteca estática a ser vinculada.
|
pic_static_library
|
File; ou None ;
o padrão é None File da biblioteca estática de imagens a ser vinculada.
|
dynamic_library
|
Arquivo ou None . O padrão é None File da biblioteca dinâmica a ser vinculada. Sempre usado para o ambiente de execução e para vinculação se interface_library não for transmitido.
|
interface_library
|
File; ou None ;
o padrão é None File da biblioteca de interface a ser vinculada.
|
pic_objects
|
sequência de arquivos.
O padrão é unbound Experimental, não usar |
objects
|
sequência de arquivos.
O padrão é unbound Experimental, não usar |
alwayslink
|
bool;
o padrão é False Define se a biblioteca/objetos estáticos serão vinculados no bloco --whole_archive. |
dynamic_library_symlink_path
|
string;
o padrão é '' Modifique o caminho padrão do link da biblioteca dinâmica no diretório solib. String em branco para usar o padrão. |
interface_library_symlink_path
|
string;
o padrão é '' Modifique o caminho padrão do link da biblioteca de interface no diretório solib. String em branco 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)Retorna variáveis de vinculação usadas para ações de vinculação.
Parâmetros
Parâmetro | Descrição |
---|---|
cc_toolchain
|
Informações:
obrigatório cc_Dataset para o qual estamos criando variáveis de build. |
feature_configuration
|
FeatureConfiguration;
obrigatório Configuração de recurso a ser consultada. |
library_search_directories
|
depset;
o padrão é [] O conjunto de diretórios em que o vinculador procurará por bibliotecas no momento da vinculação. |
runtime_library_search_directories
|
depset;
o padrão é [] Remoção dos diretórios em que o carregador procurará por bibliotecas no momento da execução. |
user_link_flags
|
sequência;
o padrão é [] Lista de sinalizações de links adicionais (linkopts). |
output_file
|
o padrão é None Caminho do arquivo de saída opcional. |
param_file
|
o padrão é None Caminho do arquivo de parâmetro opcional. |
is_using_linker
|
bool;
o padrão é True Verdadeiro ao usar o vinculador, falso ao usar o vinculador. O autor da chamada é responsável por manter isso sincronizado com o nome da ação usado (is_using_linker = True para vincular a biblioteca executável ou dinâmica, is_using_linker = False para arquivamento da biblioteca estática). |
is_linking_dynamic_library
|
bool;
o padrão é False Verdadeiro ao criar a biblioteca dinâmica, falso quando a biblioteca executável ou estática. O autor da chamada é responsável por manter isso sincronizado com o nome da ação usado. Este campo será removido assim que b/65151735 for corrigido. |
must_keep_debug
|
bool;
o padrão é True Quando definido como "False", o bazel expõe a variável "strip_debug_symbols", que geralmente é usada para usar o vinculador para remover símbolos de depuração do arquivo de saída. |
use_test_only_flags
|
bool;
o padrão é False .Quando definida como verdadeira, a variável "is_cc_test" é definida. |
is_static_linking_mode
|
bool;
o padrão é True Não usado. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)Cria uma
LinkerInput
.
Parâmetros
Parâmetro | Descrição |
---|---|
owner
|
Rótulo,
obrigatório O rótulo do destino que produziu todos os arquivos usados nessa entrada. |
libraries
|
None ou depset;
o padrão é None Lista de LibraryToLink .
|
user_link_flags
|
None ou depset de strings; ou sequência de stringss.
O padrão é None Sinalizações de links do usuário transmitidas como strings. Aceita [String], [[String]] ou depset(String). O último método não é recomendado, já que é mantido apenas para fins de compatibilidade, e o conjunto é nivelado. Se você quiser propagar user_link_flags por meio de depsets() sem nivelamento, una-as em um LinkerInput para que não sejam niveladas até o final. |
additional_inputs
|
None ; ou depset;
o padrão é None Para entradas adicionais para a 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)Cria uma
LinkingContext
.
Parâmetros
Parâmetro | Descrição |
---|---|
linker_inputs
|
None ; ou depset;
o padrão é None Depset de LinkerInput .
|
libraries_to_link
|
None ; ou sequência;
o padrão é None Descontinuado. Esse parâmetro está obsoleto e será removido em breve. Não dependa disso. Ele está desativado com --incompatible_require_linker_input_cc_api . Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Lista com LibraryToLink .
|
user_link_flags
|
None ; ou sequência;
o padrão é None Descontinuado. Esse parâmetro está obsoleto e será removido em breve. Não dependa disso. Ele está desativado com --incompatible_require_linker_input_cc_api . Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Lista de sinalizações de links de usuários transmitidas como strings. |
additional_inputs
|
None ; ou sequência;
o padrão é None Descontinuado. Esse parâmetro está obsoleto e será removido em breve. Não dependa disso. Ele está desativado com --incompatible_require_linker_input_cc_api . Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Para entradas adicionais para a 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)É usada para criar regras de biblioteca que possam propagar informações downstream a fim de serem vinculadas depois por uma regra de nível superior que faça vinculação transitiva para criar um executável ou uma biblioteca dinâmica. Retorna a tupla de (
CcLinkingContext
, CcLinkingOutputs
).
Parâmetros
Parâmetro | Descrição |
---|---|
actions
|
ações,
o objeto actions obrigatório.
|
name
|
string;
obrigatório Ele é usado para nomear os artefatos de saída das ações criados por esse método. |
feature_configuration
|
FeatureConfiguration;
necessáriofeature_configuration para ser consultado.
|
cc_toolchain
|
Informações:
provedorCcToolchainInfo obrigatório para ser usado.
|
language
|
string; o padrão é 'c++' . No momento, só há suporte para C++. Não use esse parâmetro. |
disallow_static_libraries
|
bool;
o padrão é False Define se as bibliotecas estáticas precisam ser criadas. |
disallow_dynamic_library
|
bool;
o padrão é False Define se uma biblioteca dinâmica precisa ser criada. |
compilation_outputs
|
CcCompilationOutputs;
obrigatório Saídas de compilação contendo arquivos de objetos a serem vinculados. |
linking_contexts
|
sequência;
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
|
sequência;
o padrão é [] Lista adicional de opções de vinculação. |
alwayslink
|
bool;
o padrão é False Indica se essa biblioteca precisa estar sempre vinculada. |
additional_inputs
|
Sequência;
o padrão é [] Para entradas adicionais para a ação de vinculação, por exemplo: scripts de vinculação. |
variables_extension
|
dict;
o padrão é unbound . Outras variáveis a serem transmitidas para a configuração do conjunto de ferramentas ao criar a linha de comando do link. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})Criar contexto de compilação LTO
Parâmetros
Parâmetro | Descrição |
---|---|
objects
|
dict;
o padrão é {} mapa do objeto completo para indexar o objeto |
do_not_use_tools_cpp_compiler_present
None
cc_common.do_not_use_tools_cpp_compiler_present
Não use este campo, ele apenas ajuda na migração de config_setting.values{'compiler') para config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'}
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)Retorna variáveis de ambiente a serem definidas para determinada ação.
Parâmetros
Parâmetro | Descrição |
---|---|
feature_configuration
|
FeatureConfiguration;
obrigatório Configuração de recurso a ser consultada. |
action_name
|
string;
obrigatório 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órias) Variáveis de build a serem usadas na expansão de modelo. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)Retorna os requisitos de execução para uma determinada ação.
Parâmetros
Parâmetro | Descrição |
---|---|
feature_configuration
|
FeatureConfiguration;
obrigatório Configuração de recurso a ser consultada. |
action_name
|
string;
obrigatório 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)Retorna sinalizações de linha de comando simplificadas para determinada ação, usando variáveis fornecidas para expansão. Nivela conjuntos aninhados e, idealmente, não deve ser usado, ou pelo menos não deve sobreviver à análise. O trabalho na função eficiente de memória que retorna Args está em andamento.
Parâmetros
Parâmetro | Descrição |
---|---|
feature_configuration
|
FeatureConfiguration;
obrigatório Configuração de recurso a ser consultada. |
action_name
|
string;
obrigatório 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órias) Crie variáveis a serem usadas para expansões de modelo. |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)Retorna o caminho da ferramenta para uma ação específica.
Parâmetros
Parâmetro | Descrição |
---|---|
feature_configuration
|
FeatureConfiguration;
obrigatório Configuração de recurso a ser consultada. |
action_name
|
string;
obrigatório 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)Retorna "True" se um determinado recurso está ativado na configuração do recurso.
Parâmetros
Parâmetro | Descrição |
---|---|
feature_configuration
|
FeatureConfiguration;
obrigatório Configuração de recurso a ser consultada. |
feature_name
|
string;
obrigatório 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={})Deve ser usado para vinculação transitiva de C++.
Parâmetros
Parâmetro | Descrição |
---|---|
actions
|
ações,
o objeto actions obrigatório.
|
name
|
string;
obrigatório Ele é usado para nomear os artefatos de saída das ações criados por esse método. |
feature_configuration
|
FeatureConfiguration;
necessáriofeature_configuration para ser consultado.
|
cc_toolchain
|
Informações:
provedorCcToolchainInfo obrigatório para ser usado.
|
language
|
string; o padrão é 'c++' . No momento, só há suporte para C++. Não use esse parâmetro. |
output_type
|
string;
o padrão é 'executable' .Pode ser 'executável' ou 'dynamic_library'. |
link_deps_statically
|
bool;
o padrão é True Verdadeiro para vincular dependências estaticamente, falso dinamicamente. |
compilation_outputs
|
CcCompilationOutputs; ou None ;
o padrão é None Saídas de compilação que contêm arquivos de objetos a serem vinculados. |
linking_contexts
|
Sequência;
o padrão é [] Vincular contextos de dependências a serem vinculados ao contexto de vinculação gerado por esta regra. |
user_link_flags
|
sequência; o padrão é [] Lista adicional de opções do vinculador. |
stamp
|
int;
default é 0 Define se informações de build serão incluídas no executável vinculado, se output_type for "executável". Se 1, as informações da versão serão sempre incluídas. Se 0 (as informações de build padrão são sempre excluídas. Se for -1, usa o comportamento padrão, que pode ser substituído pela sinalização --[no]stamp. Essa definição precisa ser deixada sem definição (ou definida como 0) ao gerar a saída executável para regras de teste. |
additional_inputs
|
sequência; ou depset;
o padrão é [] Para entradas adicionais para a ação de vinculação, por exemplo: scripts de vinculação. |
additional_outputs
|
Sequência;
o padrão é [] Para saídas adicionais para a ação de vinculação, por exemplo: arquivos de mapa. |
variables_extension
|
dict;
o padrão é {} . Outras variáveis a serem transmitidas para a configuração do conjunto de ferramentas ao criar a linha de comando do link. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])Mescla vários
CompilationContexts
s em um.
Parâmetros
Parâmetro | Descrição |
---|---|
compilation_contexts
|
Sequência;
o padrão é [] Lista de CompilationContexts s a serem mescladas. 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=[])Mesclar saídas de compilação.
Parâmetros
Parâmetro | Descrição |
---|---|
compilation_outputs
|
sequência; o padrão é [] . |