Miembros
- 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
- vínculo
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)Muestra el valor True si se habilita action_config proporcionada en la configuración de la función.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
FeatureConfiguration;
obligatoria La configuración de los atributos que se consultará. |
action_name
|
string; required Nombre de action_config. |
CcToolchainInfo
Provider cc_common.CcToolchainInfoLa clave que se usa para recuperar el proveedor que contiene información sobre la cadena de herramientas de C++ que se está usando.
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)Debe usarse para la compilación de C++. Muestra la tupla de (
CompilationContext
, CcCompilationOutputs
).
Parámetros
Parámetro | Descripción |
---|---|
actions
|
acciones;
obligatorio objeto actions .
|
feature_configuration
|
FeatureConfiguration; obligatoriofeature_configuration que se debe consultar.
|
cc_toolchain
|
Información:
Se requiere que se use el proveedor de CcToolchainInfo .
|
srcs
|
secuencia; el valor predeterminado es [] . Es la lista de archivos de origen que se compilarán. |
public_hdrs
|
secuencia; el valor predeterminado es [] Lista de encabezados necesarios para la compilación de srcs y que las reglas dependientes pueden incluir de forma transitiva. |
private_hdrs
|
secuencia; el valor predeterminado es [] Lista de encabezados necesarios para la compilación de srcs y que las reglas dependientes NO deben incluir. |
includes
|
secuencia o depset; el valor predeterminado es [] Busca rutas de acceso para los archivos de encabezado a los que se hace referencia tanto por corchete angular como entre comillas. Por lo general, se aprueba con -I. Se propaga a los dependientes de forma transitiva. |
quote_includes
|
secuencia; el valor predeterminado es [] Rutas de acceso de búsqueda de archivos de encabezado a los que se hace referencia con comillas, p.ej., #include "foo/bar/header.h". Pueden ser absolutas o relativas a la raíz de ejecución. Por lo general, se pasa con -iquote. Se propaga a los dependientes de forma transitiva. |
system_includes
|
secuencia; el valor predeterminado es [] Rutas de acceso de búsqueda de archivos de encabezado a los que se hace referencia por corchetes angulares, p.ej., #include <foo/bar/header.h>. Pueden estar relacionados con la raíz de ejecución o absoluta. Por lo general, se pasa con -isystem. Se propaga a los dependientes de forma transitiva. |
framework_includes
|
secuencia;
el valor predeterminado es [] Rutas de búsqueda de archivos de encabezado de marcos de trabajo de Apple. Pueden ser absolutas o relativas a la raíz de ejecución. Por lo general, se aprueba con -F. Se propaga a los dependientes de forma transitiva. |
defines
|
secuencia; el valor predeterminado es [] Conjunto de definiciones necesarias para compilar este destino. Cada definición es una cadena. Se propaga a los dependientes de forma transitiva. |
local_defines
|
secuencia; el valor predeterminado es [] Conjunto de definiciones necesarias para compilar este destino. Cada definición es una cadena. No se propaga a los dependientes de forma transitiva. |
include_prefix
|
string; el valor predeterminado es '' El prefijo que se agregará a las rutas de acceso de los encabezados de esta regla. Cuando se establece, los encabezados en el atributo hdrs de esta regla son accesibles en el valor de este atributo antepuesto a su ruta de acceso relativa del repositorio. Se quita el prefijo del atributo strip_include_prefix antes de agregar este prefijo. |
strip_include_prefix
|
string; el valor predeterminado es '' El prefijo que se quita de las rutas de acceso de los encabezados de esta regla. Cuando se establece, se puede acceder a los encabezados en el atributo hdrs de esta regla en su ruta de acceso con el prefijo cortado. Si se trata de una ruta de acceso relativa, se toma como una relativa al paquete. Si es una absoluta, se entiende como una ruta de acceso relativa de repositorio. El prefijo del atributo include_prefix se agrega después de que se quita este prefijo. |
user_compile_flags
|
secuencia; el valor predeterminado es [] Lista adicional de opciones de compilación. |
compilation_contexts
|
secuencia; el valor predeterminado es [] Encabezados de las dependencias usadas para la compilación. |
name
|
string; obligatorio Se usa para nombrar los artefactos de salida de las acciones que crea este método. Consulta también el argumento `main_output`. |
disallow_pic_outputs
|
bool; el valor predeterminado es False Indica si se deben crear las salidas de PIC. |
disallow_nopic_outputs
|
bool; el valor predeterminado es False Indica si se deben crear las salidas NOPIC. |
additional_inputs
|
secuencia; el valor predeterminado es [] Lista de archivos adicionales necesarios para la compilación de srcs |
module_interfaces
|
secuencia; el valor predeterminado es unbound . Es la lista de archivos de origen de las interfaces del módulo que se compilarán. Nota: Esta es una función experimental, solo habilitada con --experimental_cpp_modules |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])Crea una instancia de feature_configuration. Requiere el fragmento de configuración de cpp.
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
ctx o None ; el valor predeterminado es None El contexto de la regla. |
cc_toolchain
|
Información
obligatoria La cadena de herramientas cc_toolchain para la que configuramos las funciones. |
language
|
string o None ; el valor predeterminado es None El idioma que se configurará: c++ u objc (c++ predeterminado) |
requested_features
|
secuencia; el valor predeterminado es [] Lista de funciones que se habilitarán. |
unsupported_features
|
secuencia; el valor predeterminado es [] Lista de funciones que la regla actual no admite. |
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)Crea un proveedor de
CcToolchainConfigInfo
.
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
ctx; obligatorio El contexto de la regla. |
features
|
secuencia; el valor predeterminado es [] . Contiene todas las especificaciones de una función. Argumentos:
- provides contiene el nombre de una configuración de acción o función diferente que queremos habilitar.- provides contiene el mismo valor que “ proporciona” en una configuración de acción o función diferente que queremos habilitar. Úsalo para asegurarte de que las funciones incompatibles no se puedan activar accidentalmente al mismo tiempo, lo que dificulta el diagnóstico de errores del compilador.
|
action_configs
|
secuencia;
el valor predeterminado es [] Una configuración de acciones corresponde a una acción de Bazel y permite la selección de una herramienta según las funciones activadas. La activación de la configuración de acciones ocurre con la misma semántica que los atributos: una función puede “requerir” o “implícita” una configuración de acción de la misma manera que lo haría otra función. Argumentos:
|
artifact_name_patterns
|
secuencia; el valor predeterminado es [] . Es el nombre de un artefacto de una categoría determinada de artefactos de entrada o salida para una acción. Argumentos:
|
cxx_builtin_include_directories
|
secuencia;
el valor predeterminado es [] Directorios de inclusión integrados para la compilación de C++. Estas deben ser las rutas de acceso exactas que usa el compilador y, en general, son relativas a la raíz de ejecución. Las rutas de acceso usadas por el compilador pueden determinarse con "gcc -E -xc++ - -v". Actualmente, usamos las rutas de acceso de C++ también para la compilación en C, lo cual es seguro siempre y cuando no haya conflictos de nombres entre los archivos de encabezado C++ y C. Las rutas de acceso relativas se resuelven según el directorio del archivo de configuración. Si el compilador es compatible con --sysroot, estas rutas de acceso deben usar %sysroot% en lugar de incluir la ruta de acceso de inclusión y especificar el atributo sysroot a fin de proporcionar a blaze la información necesaria para realizar los reemplazos correctos. |
toolchain_identifier
|
string; obligatorio El identificador único de la cadena de herramientas dentro del lanzamiento de la herramienta cruzada. Debe ser posible usarlo como nombre de directorio en una ruta de acceso. Debe coincidir con la siguiente regex: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string o None ; el valor predeterminado es None Se ignora. |
target_system_name
|
string o None ; el valor predeterminado es None Obsoleto. Es el nombre del sistema GNU. La cadena se expone a CcToolchainInfo.target_gnu_system_name. |
target_cpu
|
string o None ; el valor predeterminado es None Obsoleto: Usa restricciones basadas en la CPU en su lugar. Si la cadena es “k8”, se omitirá “target_cpu” del nombre de archivo de los datos del perfil FDO sin procesar. |
target_libc
|
string o None ; el valor predeterminado es None Obsoleto: Usa restricciones basadas en el SO en su lugar. La cadena de versión de libc (p.ej., "glibc-2.2.2"). Si la cadena es "macosx", se supone que la plataforma es MacOS. De lo contrario, Linux. Se expone la cadena a CcToolchainInfo.libc. |
compiler
|
string; required La cadena del compilador (p.ej., "gcc"). El compilador actual de la cadena de herramientas está expuesto a `@bazel_tools//tools/cpp:compiler (compiler_flag)` como un valor de marca. Los destinos que requieren marcas específicas del compilador pueden usar config_settings en https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD en sentencias select() o crear config_setting personalizado si la configuración existente no es suficiente. |
abi_version
|
string o None ; el valor predeterminado es None La ABI en uso, que es una versión gcc. E.g.: “gcc-3.4”. La cadena se configura en ABI de la variable del conjunto de herramientas C++. |
abi_libc_version
|
string o None ; el valor predeterminado es None . La versión de glibc que usa la ABI que usamos. La cadena se establece en la variable de la cadena de herramientas de C++ ABI_LIBC_VERSION. |
tool_paths
|
secuencia;
el valor predeterminado es [] Ubicaciones de las herramientas. Argumentos:
|
make_variables
|
secuencia; el valor predeterminado es [] Una variable Make a la que las reglas pueden acceder. |
builtin_sysroot
|
string o None ; el valor predeterminado es None . El sysroot integrado. Si este atributo no está presente, Bazel no permite usar un sysroot diferente, es decir, a través de la opción --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)Crea un
CompilationContext
.
Parámetros
Parámetro | Descripción |
---|---|
headers
|
el valor predeterminado es unbound Conjunto de encabezados necesarios para compilar este destino |
system_includes
|
El valor predeterminado es unbound Conjunto de rutas de acceso de búsqueda para archivos de encabezado a los que se hace referencia mediante corchetes angulares, p.ej., #include <foo/bar/header.h>. Pueden estar relacionadas con la raíz de ejecución o absolutas. Por lo general, se pasa con -isystem. |
includes
|
el valor predeterminado es unbound Conjunto de rutas de búsqueda para archivos de encabezado a los que se hace referencia tanto con corchete angular como con comillas.Por lo general, se pasa con -I |
quote_includes
|
El valor predeterminado es unbound Conjunto de rutas de búsqueda para archivos de encabezado a los que se hace referencia con comillas, p.ej., #include "foo/bar/header.h". Pueden ser absolutas o relativas a la raíz de ejecución. Por lo general, se pasa con -iquote. |
framework_includes
|
el valor predeterminado es unbound Conjunto de rutas de búsqueda del framework para archivos de encabezado (solo en la plataforma de Apple) |
defines
|
el valor predeterminado es unbound Conjunto de definiciones necesarias para compilar este destino. Cada definición es una cadena. Se propaga de forma transitiva a los dependientes. |
local_defines
|
el valor predeterminado es unbound Conjunto de definiciones necesarias para compilar este destino. Cada definición es una cadena. No se propaga de forma transitiva a las dependencias. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)Crea el objeto de resultados de compilación.
Parámetros
Parámetro | Descripción |
---|---|
objects
|
depset; o None ; el valor predeterminado es None Lista de archivos de objetos. |
pic_objects
|
depset o None ; el valor predeterminado es None Lista de archivos de objetos 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)Muestra variables usadas para acciones de compilación.
Parámetros
Parámetro | Descripción |
---|---|
cc_toolchain
|
Información;
obligatorio El campo cc_toolchain para la creación de variables de compilación. |
feature_configuration
|
FeatureConfiguration;
obligatoria La configuración de los atributos que se consultará. |
source_file
|
el valor predeterminado es None Archivo fuente opcional para la compilación. Es preferible pasar source_file en lugar de agregarlo al final de la línea de comandos generada desde cc_common.get_memory_inefficient_command_line, ya que el autor de la cadena de herramientas puede especificar y posicionar correctamente los indicadores del compilador. |
output_file
|
el valor predeterminado es None Archivo de salida opcional de la compilación. Es preferible pasar output_file en lugar de agregarlo al final de la línea de comandos generada desde cc_common.get_memory_inefficient_command_line, ya que depende del autor del conjunto de herramientas especificar y posicionar correctamente las marcas del compilador. |
user_compile_flags
|
secuencia de strings, o None ; el valor predeterminado es None Lista de marcas de compilación adicionales (copias). |
include_directories
|
depset; o None ; el valor predeterminado es None Salida de los directorios de inclusión. |
quote_include_directories
|
depset; o None ; el valor predeterminado es None El valor predeterminado de los directorios de inclusión de comillas. |
system_include_directories
|
depset; o None ; el valor predeterminado es None Salida de los directorios incluidos del sistema. |
framework_include_directories
|
depset; o None ; el valor predeterminado es None Salida de directorios de inclusión del framework. |
preprocessor_defines
|
depset; o None ; el valor predeterminado es None El conjunto del preprocesador define. |
thinlto_index
|
string o None ; el valor predeterminado es None la ruta de acceso del archivo del índice LTO. |
thinlto_input_bitcode_file
|
string o None ; el valor predeterminado es None un archivo de código de bits que se ingresa en el backend de LTO. |
thinlto_output_object_file
|
string o None ; el valor predeterminado es None archivo de objeto que genera el backend de LTO. |
use_pic
|
bool; el valor predeterminado es False Cuando sea verdadero, la compilación generará código independiente de la posición. |
add_legacy_cxx_options
|
bool; el valor predeterminado es False Sin usar. |
variables_extension
|
dict; el valor predeterminado es unbound Es un diccionario de variables adicionales que usan las acciones de compilación. |
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='')Crea
LibraryToLink
Parámetros
Parámetro | Descripción |
---|---|
actions
|
obligatorioactions .
|
feature_configuration
|
El valor predeterminado es None feature_configuration que se buscará.
|
cc_toolchain
|
el proveedor predeterminado es None CcToolchainInfo que se usará.
|
static_library
|
File o None ; la configuración predeterminada es None File de la biblioteca estática que se vinculará.
|
pic_static_library
|
File o None ; la configuración predeterminada es None File de la biblioteca estática de imágenes que se vinculará.
|
dynamic_library
|
File o None ; la configuración predeterminada es None File de la biblioteca dinámica que se vinculará. Siempre se usa para el tiempo de ejecución y para la vinculación si no se pasa interface_library .
|
interface_library
|
File o None ; la configuración predeterminada es None File de la biblioteca de interfaz que se vinculará.
|
pic_objects
|
secuencia de Files;
la configuración predeterminada es unbound Experimental, no usar |
objects
|
secuencia de Files;
la configuración predeterminada es unbound Experimental, no usar |
alwayslink
|
bool; el valor predeterminado es False Indica si se deben vincular la biblioteca o los objetos estáticos en el bloque --whole_archive. |
dynamic_library_symlink_path
|
string; el valor predeterminado es '' Anula la ruta de acceso predeterminada del vínculo dinámico de la biblioteca en el directorio solib. Cadena vacía para usar el valor predeterminado. |
interface_library_symlink_path
|
string; el valor predeterminado es '' Anula la ruta de acceso predeterminada del vínculo de la biblioteca de la interfaz en el directorio solib. Cadena vacía para usar el valor predeterminado. |
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)Muestra las variables de vínculo utilizadas para las acciones de vinculación.
Parámetros
Parámetro | Descripción |
---|---|
cc_toolchain
|
Información;
obligatorio El campo cc_toolchain para la creación de variables de compilación. |
feature_configuration
|
FeatureConfiguration;
obligatoria La configuración de los atributos que se consultará. |
library_search_directories
|
depset;
el valor predeterminado es [] Conjunto de directorios en los que el vinculador buscará bibliotecas en el momento de la vinculación. |
runtime_library_search_directories
|
depset; el valor predeterminado es [] C además de los directorios en los que el cargador buscará bibliotecas en el tiempo de ejecución. |
user_link_flags
|
secuencia;
el valor predeterminado es [] Lista de marcas de vínculo adicionales (linkopts). |
output_file
|
El valor predeterminado es None Ruta de archivo de salida opcional. |
param_file
|
El valor predeterminado es None Ruta de archivo de parámetros opcional. |
is_using_linker
|
bool; el valor predeterminado es True Verdadero cuando se usa el vinculador y falso cuando se archiva el elemento. El llamador es responsable de mantenerlo sincronizado con el nombre de acción utilizado (is_using_linker = Verdadero para vincular una biblioteca ejecutable o dinámica, is_using_linker = Falso para archivar la biblioteca estática). |
is_linking_dynamic_library
|
bool; el valor predeterminado es False Verdadero cuando se crea una biblioteca dinámica, Falso cuando se crea una biblioteca ejecutable o estática. La persona que llama es responsable de mantenerla sincronizada con el nombre de la acción utilizado. Este campo se quitará una vez que se corrija b/65151735. |
must_keep_debug
|
bool; el valor predeterminado es True Cuando se establece en False, bazel expondrá la variable "strip_debug_symbols", que generalmente se usa para usar el vinculador para quitar los símbolos de depuración del archivo de salida. |
use_test_only_flags
|
bool; el valor predeterminado es False Cuando se establece en verdadero, se establece la variable 'is_cc_test'. |
is_static_linking_mode
|
bool; el valor predeterminado es True Sin usar. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)Crea un
LinkerInput
.
Parámetros
Parámetro | Descripción |
---|---|
owner
|
Etiqueta;
obligatoria Es la etiqueta del destino que produjo todos los archivos usados en esta entrada. |
libraries
|
None ; o depset; el valor predeterminado es None Lista de LibraryToLink .
|
user_link_flags
|
None o depset de string o secuencia de string; el valor predeterminado es None Marcas de vínculo del usuario pasadas como cadenas. Acepta [String], [[String]] o depset(String). Este último no es recomendable, ya que solo se conserva por motivos de compatibilidad; el depset se aplana. Si deseas propagar user_link_flags mediante depsets() sin compactar, únelos en un LinkerInput para que no se acoplen hasta el final. |
additional_inputs
|
None , o depset; el valor predeterminado es None Para entradas adicionales a la acción de vinculación, p.ej., secuencias de comandos de vinculación. |
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)Crea un
LinkingContext
.
Parámetros
Parámetro | Descripción |
---|---|
linker_inputs
|
None o depset; el valor predeterminado es None y el valor predeterminado es LinkerInput .
|
libraries_to_link
|
None o secuencia; el valor predeterminado es None Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con --incompatible_require_linker_input_cc_api . Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente. Lista de LibraryToLink .
|
user_link_flags
|
None o secuencia; el valor predeterminado es None Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con --incompatible_require_linker_input_cc_api . Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente. Lista de marcas de vínculos de usuarios pasadas como cadenas. |
additional_inputs
|
None o secuencia; el valor predeterminado es None Obsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con --incompatible_require_linker_input_cc_api . Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente. Para entradas adicionales a la acción de vinculación, p.ej., secuencias de comandos de vinculación. |
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)Debe usarse para crear reglas de biblioteca que puedan propagar información de manera descendente para que se vinculen más adelante con una regla de nivel superior que realice vinculaciones transitivas para crear una biblioteca ejecutable o dinámica. Muestra la tupla de (
CcLinkingContext
, CcLinkingOutputs
).
Parámetros
Parámetro | Descripción |
---|---|
actions
|
acciones;
obligatorio objeto actions .
|
name
|
string; obligatorio Se usa para nombrar los artefactos de salida de las acciones que crea este método. |
feature_configuration
|
FeatureConfiguration; obligatoriofeature_configuration que se debe consultar.
|
cc_toolchain
|
Información:
Se requiere que se use el proveedor de CcToolchainInfo .
|
language
|
string; el valor predeterminado es 'c++' Por el momento, solo es compatible con C++. No uses este parámetro. |
disallow_static_libraries
|
bool; el valor predeterminado es False Indica si se deben crear bibliotecas estáticas. |
disallow_dynamic_library
|
bool; el valor predeterminado es False Indica si se debe crear una biblioteca dinámica. |
compilation_outputs
|
CcCompilationOutputs;
obligatorio Salidas de compilación que contienen archivos de objetos para vincular. |
linking_contexts
|
secuencia; el valor predeterminado es [] Bibliotecas de dependencias. Estas bibliotecas se vincularán al artefacto de salida de la llamada link(), ya sea un objeto binario o una biblioteca. |
user_link_flags
|
secuencia;
el valor predeterminado es [] Lista adicional de opciones de vinculación. |
alwayslink
|
bool; el valor predeterminado es False Indica si esta biblioteca siempre debe estar vinculada. |
additional_inputs
|
secuencia; el valor predeterminado es [] . Para entradas adicionales a la acción de vinculación, p. ej., secuencias de comandos de vinculación. |
variables_extension
|
dict; el valor predeterminado es unbound Variables adicionales para pasar a la configuración de la cadena de herramientas cuando se crea la línea de comandos del vínculo. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})Crea un contexto de compilación de LTO
Parámetros
Parámetro | Descripción |
---|---|
objects
|
dict; el valor predeterminado es {} , mapa del objeto completo al índice del objeto |
do_not_use_tools_cpp_compiler_present
None
cc_common.do_not_use_tools_cpp_compiler_present
No uses este campo, su único propósito es ayudarte con la migración de config_setting.values{'compiler') a config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'}.
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)Muestra las variables de entorno que se deben configurar para una acción determinada.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
FeatureConfiguration;
obligatoria La configuración de los atributos que se consultará. |
action_name
|
string; required Nombre de la acción. Debe ser uno de los nombres de @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl). |
variables
|
Variables, obligatorias Las variables de compilación que se usarán en la expansión de plantillas. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)Muestra los requisitos de ejecución para la acción determinada.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
FeatureConfiguration;
obligatoria La configuración de los atributos que se consultará. |
action_name
|
string; required Nombre de la acción. Debe ser uno de los nombres de @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)Muestra marcas de línea de comandos compactas para una acción determinada, usando variables determinadas para la expansión. Aplana los conjuntos anidados y lo ideal es que no se use, o al menos no debería sobrevivir al análisis. El trabajo en la función eficiente de memoria que muestra Args está en curso.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
FeatureConfiguration;
obligatoria La configuración de los atributos que se consultará. |
action_name
|
string; required Nombre de la acción. Debe ser uno de los nombres de @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl). |
variables
|
Variables, obligatorias Las variables de compilación que se usarán para las expansiones de plantillas. |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)Muestra la ruta de acceso de la herramienta para la acción determinada.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
FeatureConfiguration;
obligatoria La configuración de los atributos que se consultará. |
action_name
|
string; required Nombre de la acción. Debe ser uno de los nombres de @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)Muestra el valor True si la función determinada está habilitada en la configuración de la función.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
FeatureConfiguration;
obligatoria La configuración de los atributos que se consultará. |
feature_name
|
string; obligatorio Es el nombre del componente. |
vínculo
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={})Debe usarse para la vinculación transitiva de C++.
Parámetros
Parámetro | Descripción |
---|---|
actions
|
acciones;
obligatorio objeto actions .
|
name
|
string; obligatorio Se usa para nombrar los artefactos de salida de las acciones que crea este método. |
feature_configuration
|
FeatureConfiguration; obligatoriofeature_configuration que se debe consultar.
|
cc_toolchain
|
Información:
Se requiere que se use el proveedor de CcToolchainInfo .
|
language
|
string; el valor predeterminado es 'c++' Por el momento, solo es compatible con C++. No uses este parámetro. |
output_type
|
string; el valor predeterminado es 'executable' Puede ser "executable" o "dynamic_library". |
link_deps_statically
|
bool; el valor predeterminado es True Verdadero para vincular dependencias de forma estática, falso de forma dinámica. |
compilation_outputs
|
CcCompilationOutputs o None ; el valor predeterminado es None Salidas de compilación que contienen archivos de objetos para vincular. |
linking_contexts
|
secuencia; el valor predeterminado es [] Vinculación de contextos de dependencias que se vincularán al contexto de vinculación que genera esta regla. |
user_link_flags
|
secuencia; el valor predeterminado es [] Lista adicional de opciones del vinculador. |
stamp
|
int; el valor predeterminado es 0 Indica si se debe incluir información de compilación en el ejecutable vinculado si output_type es "executable". Si es 1, siempre se incluye la información de la compilación. Si es 0 (la información de compilación predeterminada siempre se excluye. Si es -1, se usa el comportamiento predeterminado, que puede anularse con la marca --[no]stamp. No se debe establecer (o se debe establecer en 0) cuando se genera el resultado ejecutable de las reglas de prueba. |
additional_inputs
|
secuencia o depset;
el valor predeterminado es [] Para entradas adicionales a la acción de vinculación, p.ej., secuencias de comandos de vinculación. |
additional_outputs
|
secuencia; el valor predeterminado es [] . Para salidas adicionales a la acción de vinculación, p. ej., archivos de mapa. |
variables_extension
|
dict; el valor predeterminado es {} Variables adicionales para pasar a la configuración de la cadena de herramientas cuando se crea la línea de comandos del vínculo. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])Combina varios
CompilationContexts
en uno solo.
Parámetros
Parámetro | Descripción |
---|---|
compilation_contexts
|
secuencia; el valor predeterminado es [] . Lista de CompilationContexts que se combinarán. Los campos directos del proveedor mostrado exportarán los encabezados de cada contexto.
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])Combina los resultados de la compilación.
Parámetros
Parámetro | Descripción |
---|---|
compilation_outputs
|
secuencia;
el valor predeterminado es [] |