cc_common

Utilitários para compilação, vinculação e geração de linha de comando em C++.

Membros

action_is_enabled

bool cc_common.action_is_enabled(feature_configuration, action_name)

Retorna "true" se a action_config especificada estiver ativada na configuração do recurso.

Parâmetros

Parâmetro Descrição
feature_configuration required
Configuração do recurso a ser consultada.
action_name required
Nome do action_config.

CcToolchainInfo

Provider cc_common.CcToolchainInfo

A chave usada para recuperar o provedor que contém informações sobre a cadeia de ferramentas C++ em uso

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=[], grep_includes=None)

Deve ser usado para compilação em C++. Retorna a tupla de (CompilationContext, CcCompilationOutputs).

Parâmetros

Parâmetro Descrição
actions O objeto actions
é obrigatório.
feature_configuration
feature_configuration para ser consultado.
cc_toolchain necessário
CcToolchainInfo provedor a ser usado.
srcs default = []
A lista de arquivos de origem a serem compilados.
public_hdrs default = []
Lista de cabeçalhos necessários para a compilação de srcs e pode ser incluída por regras dependentes transitivamente.
private_hdrs default = []
Lista de cabeçalhos necessários para a compilação de srcs e que NÃO devem ser incluídos por regras dependentes.
includes default = []
Pesquisa caminhos de arquivos de cabeçalho referenciados por colchetes e aspas. Geralmente transmitido com -I. Propagado para dependências de forma transitiva.
quote_includes default = []
Caminho 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. Geralmente transmitido com -iquote. Propagado para dependências de forma transitiva.
system_includes default = []
Pesquisa caminhos para arquivos de cabeçalho referenciados por colchetes, por exemplo, #include <foo/bar/header.h>. Eles podem ser relativos à raiz de execução ou absolutos. Geralmente é transmitido com -isystem. Propagado para dependências de forma transitiva.
framework_includes default = []
Pesquisa caminhos de arquivos de cabeçalho de frameworks da Apple. Elas podem ser relativas à raiz de execução ou absolutas. Geralmente é transmitido com -F. Propagado para dependências de forma transitiva.
defines default = []
Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Propagado para dependências de forma transitiva.
local_defines default = []
Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Não propagado para dependentes transitivamente.
include_prefix default = ''
O prefixo a ser adicionado aos caminhos dos cabeçalhos desta regra. Quando definido, os cabeçalhos no atributo hdrs desta regra são acessíveis em "is", o valor deste atributo precedido pelo caminho relativo ao repositório. O prefixo no atributo "strip_include_prefix" é removido antes de ser adicionado.
strip_include_prefix default = ''
O prefixo a ser removido dos caminhos dos cabeçalhos desta regra. Quando definido, os cabeçalhos no atributo hdrs dessa regra são acessados 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 ele é removido.
user_compile_flags default = []
Lista adicional de opções de compilação.
compilation_contexts default = []
Cabeçalhos de dependências usadas para compilação.
name 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 default = False
Define se as saídas de PIC precisam ser criadas.
disallow_nopic_outputs default = False
Define se as saídas NOPIC precisam ser criadas.
additional_inputs default = []
Lista de arquivos adicionais necessários para a compilação de srcs
grep_includes File; or None; default = None

configure_features

FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])

Cria uma instância de feature_configuration. Requer o fragmento de configuração cpp.

Parâmetros

Parâmetro Descrição
ctx ctx; or None; default = None
O contexto da regra.
cc_toolchain
cc_toolchain necessário para o qual configuramos recursos.
language string; or None; default = None
O idioma a ser configurado: C++ ou ObjC (padrão C++)
requested_features default = []
Lista de recursos a serem ativados.
unsupported_features default = []
Lista de recursos que não têm suporte da 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, target_cpu, target_libc, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None, cc_target_os=None)

Cria um provedor CcToolchainConfigInfo

Parâmetros

Parâmetro Descrição
ctx required
O contexto da regra.
features padrão = []

Contém todas as especificações de sinalizações de um recurso.

Argumentos:

name: o nome do recurso. É possível introduzir um recurso sem uma mudança no Bazel adicionando uma seção "feature" à cadeia de ferramentas e adicionando a string correspondente como recurso no arquivo BUILD.

ativado: se "True", esse recurso é ativado, a menos que um tipo de regra o marque explicitamente como sem suporte.

flag_sets: uma lista de FlagSet. Se o recurso estiver ativado, os flag sets serão aplicados às ações especificadas.

env_sets: uma lista de EnvSet. Se o recurso estiver ativado, os conjuntos de ambientes serão aplicados às ações especificadas.

requires: uma lista de conjuntos de recursos que definem quando esse recurso tem suporte da cadeia de ferramentas. O recurso será compatível se qualquer um dos conjuntos de recursos for totalmente aplicado, ou seja, quando todos os recursos de um conjunto de recursos estiverem ativados. Se "requires" for omitido, o recurso terá suporte independente de quais outros recursos estiverem ativados. Use isso, por exemplo, para filtrar flags dependendo do modo de build ativado (opt / fastbuild / dbg).

implica: uma lista de strings de recursos ou configurações de ação que são ativadas automaticamente quando esse recurso é ativado. Se não for possível ativar nenhum dos recursos implícitos ou configurações de ação, esse recurso também não será ativado (silenciosamente).

fornece: uma lista de nomes com os quais esse recurso entra em conflito.

Um recurso não pode ser ativado se:
- 'provides' contém o nome de um recurso ou configuração de ação diferente que queremos ativar.
- 'provides' contém o mesmo valor que um 'provides' em um recurso ou configuração de ação diferente que queremos ativar. Use essa opção para garantir que recursos incompatíveis não sejam ativados acidentalmente ao mesmo tempo, o que pode levar a erros difíceis de diagnosticar no compilador.
action_configs 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 com a mesma semântica dos recursos: um recurso pode "requerer" ou "implicar" uma configuração de ação da mesma forma que outro recurso.

Argumentos:

action_name: o nome da ação do Bazel a que essa configuração se aplica, por exemplo, "c-compile" ou "c-module-compile".

enabled: se "True", essa ação é ativada, a menos que um tipo de regra a marque explicitamente como sem suporte.

tools: a ferramenta aplicada à ação será a primeira com um conjunto de recursos que corresponde à configuração. Um erro será gerado se nenhuma ferramenta corresponder a uma configuração de recurso fornecida. Por esse motivo, é recomendável fornecer uma ferramenta padrão com um conjunto de recursos vazio.

flag_sets: se a configuração de ação especificada estiver ativada, os conjuntos de flags serão aplicados à ação correspondente.

implica: uma lista de recursos ou configurações de ação que são ativados automaticamente quando essa configuração de ação é ativada. Se não for possível ativar nenhum dos recursos ou configurações de ação implícitos, essa configuração de ação também não será ativada (silenciosamente).

artifact_name_patterns default = []

O nome de um artefato de uma determinada categoria de artefatos de entrada ou saída para uma ação.

Argumentos:

category_name: a categoria de artefatos a que essa seleção se aplica. Esse campo é comparado com uma lista de categorias definidas no Bazel. Exemplos de categorias incluem "linked_output" ou o artefato para essa seleção. Junto com a extensão, ele é usado para criar um nome de artefato com base no nome de destino.

extension: a extensão para criar o artefato dessa seleção. Junto com o prefixo, ele é usado para criar um nome de artefato com base no nome de destino.

cxx_builtin_include_directories default = []

Diretórios de inclusão integrados para compilação em C++. Esses são 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 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 precisarão usar %sysroot% em vez do caminho de inclusão e especificar o atributo sysroot para fornecer a blaze as informações necessárias para fazer as substituições corretas.

toolchain_identifier obrigatório

O identificador exclusivo da cadeia de ferramentas na versão da ferramenta de crosstool. É necessário que seja possível usar isso como um nome de diretório em um caminho.

Ele precisa corresponder ao seguinte regex: [a-zA-Z_][\.\- \w]*

host_system_name string; or None; padrão = None
Ignorado.
target_system_name required
O nome do sistema GNU.
target_cpu required
A string de arquitetura de destino.
target_libc required
A string de versão da libc (por exemplo, "glibc-2.2.2").
compiler required
A string de versão do compilador (por exemplo, "gcc-4.1.1").
abi_version string; or None; default = None
A ABI em uso, que é uma versão do gcc. Por exemplo: "gcc-3.4"
abi_libc_version string; or None; default = None
A versão do glibc usada pela ABI que estamos usando.
tool_paths default = []

Locais das ferramentas.

Argumentos:

name: nome da ferramenta.

path: local da ferramenta. Pode ser um caminho absoluto (no caso de um conjunto de ferramentas não hermético) ou um caminho relativo ao pacote do cc_toolchain.

make_variables default = []
Uma variável de make que é acessível para regras.
builtin_sysroot string; or None; default = None
O 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.
cc_target_os string; or None; default = None
Somente para uso interno, não use.

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 default = unbound
Conjunto de cabeçalhos necessários para compilar esse destino
system_includes default = unbound
Conjunto de caminhos de pesquisa para arquivos de cabeçalho referenciados por colchetes, ou seja, #include <foo/bar/header.h>. Eles podem ser relativos à raiz de execução ou absolutos. Geralmente transmitido com -isystem
includes padrão = unbound
Conjunto de caminhos de pesquisa para arquivos de cabeçalho referenciados por colchetes e aspas.Normalmente é transmitido com -I
quote_includes padrão =
não vinculado Conjunto 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 default = unbound
Conjunto de caminhos de pesquisa do framework para arquivos de cabeçalho (somente plataforma Apple)
defines default = unbound
Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Propagado transitivamente para dependentes.
local_defines default = unbound
Conjunto de definições necessárias para compilar esse destino. Cada definição é uma string. Não é propagado transitivamente para dependentes.

create_compilation_outputs

CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)

Crie um objeto de saídas de compilação.

Parâmetros

Parâmetro Descrição
objects depset; or None; default = None
Lista de arquivos de objeto.
pic_objects depset; or None; default = None
Lista de arquivos de objetos de imagem.

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
cc_toolchain necessário para o qual estamos criando variáveis de build.
feature_configuration required
Configuração do recurso a ser consultada.
source_file default = None
Arquivo de origem opcional para a compilação. É recomendável transmitir "source_file" aqui em vez de adicioná-lo ao final da linha de comando gerada em 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 padrão = None
Arquivo de saída opcional da compilação. É recomendável transmitir output_file aqui em vez de adicioná-lo ao final da linha de comando gerada em cc_common.get_memory_inefficient_command_line, porque o autor da cadeia de ferramentas pode especificar e posicionar corretamente as flags do compilador.
user_compile_flags sequence of strings; or None; padrão = None
Lista de flags de compilação adicionais (copts).
include_directories depset; or None; default = None
Depset de diretórios de inclusão.
quote_include_directories depset; or None; padrão = None
Depset de diretórios de inclusão de cotações.
system_include_directories depset; or None; padrão = None
Depset de diretórios de inclusão do sistema.
framework_include_directories depset; or None; padrão = None
Depset de diretórios de inclusão de framework.
preprocessor_defines depset; or None; default = None
Depset de definições do pré-processador.
thinlto_index string; or None; padrão = None
caminho do arquivo de índice LTO.
thinlto_input_bitcode_file string; or None; default = None
Arquivo de código de bits que é inserido no back-end do LTO.
thinlto_output_object_file string; or None; default = None
Arquivo de objeto gerado pelo back-end do LTO.
use_pic default = False
Quando verdadeiro, a compilação vai gerar um código independente de posição.
add_legacy_cxx_options padrão = False
Unused.
variables_extension dict; default = unbound
Um dicionário de variáveis adicionais usadas por ações de compilação.

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 O objeto actions
é obrigatório.
feature_configuration padrão = None
feature_configuration a ser consultado.
cc_toolchain default = None
CcToolchainInfo provedor a ser usado.
static_library File; or None; default = None
File da biblioteca estática a ser vinculada.
pic_static_library File; or None; padrão = None
File da biblioteca estática de pic a ser vinculada.
dynamic_library File; or None; default = None
File da biblioteca dinâmica a ser vinculada. Sempre usado para execução e vinculação se interface_library não for transmitido.
interface_library File; or None; padrão = None
File da biblioteca de interface a ser vinculada.
pic_objects sequence of Files; padrão = unbound
Experimental, não use
objects sequence of Files; padrão = unbound
Experimental, não use
default = False
Indica se a biblioteca/objetos estáticos serão vinculados no bloco --whole_archive.
string; default = ''
Substitua o caminho padrão do link da biblioteca dinâmica no diretório solib. String vazia para usar o padrão.
default = ''
Ignora o caminho padrão do link da biblioteca de interface no diretório solib. String vazia para usar o padrão.

Variables cc_common.create_link_variables(cc_toolchain, feature_configuration, library_search_directories=None, runtime_library_search_directories=None, user_link_flags=None, output_file=None, param_file=None, def_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 as variáveis de link usadas para vincular ações.

Parâmetros

Parâmetro Descrição

cc_toolchain necessário para o qual estamos criando variáveis de build.
required
Configuração do recurso a ser consultada.
None; or depset; default = None
Depset de diretórios em que o vinculador vai procurar bibliotecas no momento da vinculação.
None; or depset; default = None
Depset de diretórios em que o loader vai procurar bibliotecas no momento da execução.
None; or sequence; padrão = None
Lista de flags de link adicionais (linkopts).
padrão = None
Caminho de arquivo de saída opcional.
padrão = None
Caminho do arquivo de parâmetro opcional.
padrão = None
Caminho do arquivo .def opcional.
padrão = verdadeiro
Verdadeiro ao usar o vinculador, falso ao usar o arquivador. O autor da chamada é responsável por manter essa sincronização com o nome da ação usada (is_using_linker = True para vincular executáveis ou bibliotecas dinâmicas, is_using_linker = False para arquivar bibliotecas estáticas).
padrão = falso
Verdadeiro ao criar uma biblioteca dinâmica, falso ao criar uma biblioteca executável ou estática. O autor da chamada é responsável por manter essa sincronização com o nome da ação usada. Esse campo será removido quando o b/65151735 for corrigido.
default = True
Quando definido como "True", 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.
padrão = False
Quando definido como verdadeiro, a variável "is_cc_test" será definida.
padrão = true
Desconhecido.

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 required
O rótulo do destino que produziu todos os arquivos usados nesta entrada.
libraries None; or depset; padrão = None
Lista de LibraryToLink.
None; or depset of strings; or sequence of strings; padrão = None
Flags de vinculação do usuário transmitidas como strings. Aceita [String], [[String]] ou depset(String). O segundo é desencorajado, porque é mantido apenas para fins de compatibilidade. O depset é achatado. Se você quiser propagar user_link_flags usando depsets() não achatados, coloque-os em um LinkerInput para que não sejam achatados até o fim.
additional_inputs None; or depset; default = None
Para outras entradas na ação de vinculação, por exemplo, vinculação de scripts.

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; or depset; padrão = None
Depset de LinkerInput.
None; or sequence; default = None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele está desativado com --+incompatible_require_linker_input_cc_api. Use essa flag para verificar se o código é compatível com a remoção iminente.
Lista de LibraryToLink.
None; or sequence; default = None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele está desativado com --+incompatible_require_linker_input_cc_api. Use essa flag para verificar se o código é compatível com a remoção iminente.
Lista de flags de vinculação do usuário transmitidas como strings.
additional_inputs None; or sequence; default = None
Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa dele. Ele está desativado com --+incompatible_require_linker_input_cc_api. Use essa flag para verificar se o código é compatível com a remoção iminente.
Para outras entradas na ação de vinculação, por exemplo, vinculação de scripts.

create_linking_context_from_compilation_outputs

tuple cc_common.create_linking_context_from_compilation_outputs(actions, feature_configuration, cc_toolchain, compilation_outputs, user_link_flags=[], linking_contexts=[], name, language='c++', alwayslink=False, additional_inputs=[], disallow_static_libraries=False, disallow_dynamic_library=False, grep_includes=None)

Deve ser usado para criar regras de biblioteca que possam propagar informações para serem vinculadas posteriormente por uma regra de nível superior que faz vinculação transitiva para criar uma biblioteca executável ou dinâmica. Retorna a tupla de (CcLinkingContext, CcLinkingOutputs).

Parâmetros

Parâmetro Descrição
actions O objeto actions
é obrigatório.
feature_configuration
feature_configuration para ser consultado.
cc_toolchain necessário
CcToolchainInfo provedor a ser usado.
compilation_outputs required
Saídas de compilação que contêm arquivos de objeto para vincular.
default = []
Lista adicional de opções de vinculação.
linking_contexts default = []
Bibliotecas de dependências. Essas bibliotecas serão vinculadas ao artefato de saída da chamada link(), seja um binário ou uma biblioteca.
name required
É usado para nomear os artefatos de saída das ações criadas por esse método.
language default = 'c++'
No momento, somente o C++ é aceito. Não use esse parâmetro.
default = False
Indica se essa biblioteca precisa ser sempre vinculada.
additional_inputs default = []
Para outras entradas na ação de vinculação, por exemplo, vinculação de scripts.
disallow_static_libraries padrão = False
Define se as bibliotecas estáticas precisam ser criadas.
disallow_dynamic_library default = False
Indica se uma biblioteca dinâmica precisa ser criada.
grep_includes File; or None; default = None

do_not_use_tools_cpp_compiler_present

None cc_common.do_not_use_tools_cpp_compiler_present

Não use esse campo. O único objetivo dele é ajudar 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 as variáveis de ambiente a serem definidas para uma determinada ação.

Parâmetros

Parâmetro Descrição
feature_configuration required
Configuração do recurso a ser consultada.
action_name 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 required
Crie variáveis para serem usadas na expansão de modelos.

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 required
Configuração do recurso a ser consultada.
action_name 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)

Retorna flags de linha de comando achatadas para uma determinada ação, usando variáveis específicas para expansão. Aplana conjuntos aninhados e, de preferência, 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 required
Configuração do recurso a ser consultada.
action_name 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 required
Build variáveis para serem usadas nas expansões de modelos.

get_tool_for_action

string cc_common.get_tool_for_action(feature_configuration, action_name)

Retorna o caminho da ferramenta para uma determinada ação.

Parâmetros

Parâmetro Descrição
feature_configuration required
Configuração do recurso a ser consultada.
action_name 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)

Retorna "true" se o elemento estiver ativado na configuração.

Parâmetros

Parâmetro Descrição
feature_configuration required
Configuração do recurso a ser consultada.
feature_name required
Nome do recurso.

CcLinkingOutputs cc_common.link(actions, feature_configuration, cc_toolchain, compilation_outputs=None, user_link_flags=[], linking_contexts=[], name, language='c++', output_type='executable', link_deps_statically=True, stamp=0, additional_inputs=[], grep_includes=None, additional_outputs=unbound)

Deve ser usado para vinculação transitiva em C++.

Parâmetros

Parâmetro Descrição
actions O objeto actions
é obrigatório.
feature_configuration
feature_configuration para ser consultado.
cc_toolchain necessário
CcToolchainInfo provedor a ser usado.
compilation_outputs CcCompilationOutputs; or None; padrão = None
Saídas de compilação que contêm arquivos de objeto para vincular.
default = []
Lista adicional de opções do vinculador.
linking_contexts default = []
Vincula os contextos de dependências que serão vinculados ao contexto de vinculação gerado por essa regra.
name required
É usado para nomear os artefatos de saída das ações criadas por esse método.
language default = 'c++'
No momento, somente o C++ é aceito. Não use esse parâmetro.
output_type default = 'executable'
Pode ser 'executable' ou 'dynamic_library'.
padrão = verdadeiro
Verdadeiro para vincular dependências de forma estática, falso para vincular de forma dinâmica.
stamp default = 0
Define se as informações de build serão incluídas no executável vinculado, se output_type for "executable". Se 1, as informações do build são sempre incluídas. Se for 0, as informações de build padrão serão sempre excluídas. Se for -1, o comportamento padrão será usado, que pode ser substituído pela flag --[no]stamp. Ele precisa ser redefinido (ou definido como 0) ao gerar a saída executável para regras de teste.
additional_inputs sequence; or depset; default = []
Para outras entradas na ação de vinculação, por exemplo, vinculação de scripts.
grep_includes File; or None; default = None
additional_outputs sequence; default = unbound
Para outras saídas da ação de vinculação, por exemplo: mapear arquivos.

merge_cc_infos

CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])

Mescla vários CcInfos em um.

Parâmetros

Parâmetro Descrição
direct_cc_infos default = []
Lista de CcInfos a serem mesclados, cujos cabeçalhos serão exportados pelos campos diretos no provedor retornado.
cc_infos default = []
Lista de CcInfos a serem mesclados, cujos cabeçalhos não serão exportados pelos campos diretos no provedor retornado.

merge_compilation_contexts

CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])

Mescla vários CompilationContextss em um.

Parâmetros

Parâmetro Descrição
compilation_contexts default = []
Lista de CompilationContextss 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 default = []