Miembros
- action_is_enabled
- CcToolchainInfo
- compila
- 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
- 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_cc_infos
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)Muestra "true" si la action_config determinada está habilitada en la configuración de la función.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
obligatorio Configuración de la función que se consultará. |
action_name
|
obligatorio Es el 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 usa
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)Se debe usar para la compilación de C++. Muestra una tupla de (
CompilationContext
, CcCompilationOutputs
).
Parámetros
Parámetro | Descripción |
---|---|
actions
|
objeto actions obligatorio. |
feature_configuration
|
obligatoriofeature_configuration para consultar.
|
cc_toolchain
|
requeridoCcToolchainInfo proveedor que se usará.
|
srcs
|
default = [] Es la lista de archivos de origen que se compilarán. |
public_hdrs
|
default = [] Es la lista de encabezados necesarios para la compilación de srcs y puede incluirse de forma transitiva en las reglas dependientes. |
private_hdrs
|
default = [] Es la lista de encabezados necesarios para la compilación de srcs y que NO deben incluirse en las reglas dependientes. |
includes
|
default = [] Rutas de búsqueda para archivos de encabezado a los que se hace referencia con corchetes y comillas. Por lo general, se pasa con -I. Se propaga a los dependientes de forma transitiva. |
quote_includes
|
default = [] 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 relativos a la raíz de ejecución o absolutos. Por lo general, se pasa con -iquote. Se propaga a los dependientes de forma transitiva. |
system_includes
|
default = [] Son rutas de búsqueda para archivos de encabezado a los que se hace referencia con corchetes, p.ej., #include <foo/bar/header.h>. Pueden ser relativas a la raíz de ejecución o absolutas. Por lo general, se pasa con -isystem. Se propaga a los dependientes de forma transitiva. |
framework_includes
|
default = [] Rutas de búsqueda para archivos de encabezado de frameworks de Apple. Pueden ser relativos a la raíz de ejecución o absolutos. Por lo general, se pasa con -F. Se propaga a los dependientes de forma transitiva. |
defines
|
default = [] Es el conjunto de definiciones necesarias para compilar este destino. Cada definición es una cadena. Se propaga a los dependientes de forma transitiva. |
local_defines
|
default = [] Es el conjunto de definiciones necesarias para compilar este destino. Cada definición es una cadena. No se propaga a los elementos dependientes de forma transitiva. |
include_prefix
|
default = '' Es el prefijo que se agregará a las rutas de acceso de los encabezados de esta regla. Cuando se configuran, se puede acceder a los encabezados del atributo hdrs de esta regla en el valor de este atributo que se antepone a su ruta de acceso relativa al repositorio. El prefijo del atributo strip_include_prefix se quita antes de agregarlo. |
strip_include_prefix
|
default = '' Es el prefijo que se quitará de las rutas de los encabezados de esta regla. Cuando se configura, se puede acceder a los encabezados del atributo hdrs de esta regla en su ruta de acceso con este prefijo cortado. Si es una ruta de acceso relativa, se considera una ruta de acceso relativa al paquete. Si es una ruta de acceso absoluta, se entiende como una ruta de acceso relativa al repositorio. El prefijo del atributo include_prefix se agrega después de que se quita este prefijo. |
user_compile_flags
|
default = [] Es una lista adicional de opciones de compilación. |
compilation_contexts
|
default = [] Encabezados de las dependencias que se usan para la compilación. |
name
|
obligatorio Se usa para nombrar los artefactos de salida de las acciones creadas con este método. Consulta también el argumento "main_output". |
disallow_pic_outputs
|
default = False Indica si se deben crear salidas de PIC. |
disallow_nopic_outputs
|
default = False Indica si se deben crear salidas de NOPIC. |
additional_inputs
|
default = [] Lista de archivos adicionales necesarios para la compilación 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=[])Crea una instancia de feature_configuration. Requiere el fragmento de configuración cpp.
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
ctx; or None ;
default = NoneEs el contexto de la regla. |
cc_toolchain
|
required cc_toolchain para la que configuramos las funciones. |
language
|
string; or None ;
default = NoneEs el idioma para el que se debe configurar: c++ o objc (c++ predeterminado). |
requested_features
|
default = [] Es la lista de funciones que se habilitarán. |
unsupported_features
|
default = [] Es la lista de atributos que no son compatibles con la regla actual. |
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)Crea un proveedor
CcToolchainConfigInfo
.
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
obligatorio Es el contexto de la regla. |
features
|
default = [] Contiene todas las especificaciones de marcas para una función. Argumentos: name: Es el nombre de la función. Para introducir una función sin cambiar Bazel, agrega una sección "feature" a la cadena de herramientas y la cadena correspondiente como función en el archivo BUILD. enabled: Si es "True", esta función está habilitada, a menos que un tipo de regla la marque explícitamente como no compatible. flag_sets: Es una lista de FlagSet. Si la función determinada está habilitada, se aplicarán los conjuntos de marcas para las acciones especificadas. env_sets: Es una lista de EnvSet. Si la función determinada está habilitada, se aplicarán los conjuntos de env para las acciones para las que se especifican. requiere: Una lista de conjuntos de funciones que definen cuándo la cadena de herramientas admite esta función. La función es compatible si se aplica cualquiera de los conjuntos de funciones por completo, es decir, cuando se habilitan todas las funciones de un conjunto de funciones. Si se omite "requires", la función se admite independientemente de qué otras funciones estén habilitadas. Úsalo, por ejemplo, para filtrar marcas según el modo de compilación habilitado (opt / fastbuild / dbg). implica: Una lista de cadenas de funciones o configuraciones de acciones que se habilitan automáticamente cuando se habilita esta función. Si no se puede habilitar ninguna de las funciones o configuraciones de acciones implícitas, esta función tampoco se habilitará (de forma silenciosa). provides: Es una lista de nombres con los que esta función entra en conflicto. No se puede habilitar una función en los siguientes casos:- "provides" contiene el nombre de una configuración de acción o función diferente que queremos habilitar. - "provides" contiene el mismo valor que "provides" en una configuración de acción o función diferente que queremos habilitar. Úsalo para garantizar que las funciones incompatibles no se puedan activar accidentalmente al mismo tiempo, lo que genera errores de compilador difíciles de diagnosticar. |
action_configs
|
default = [] Una configuración de acción corresponde a una acción de Bazel y permite seleccionar una herramienta según las funciones activadas. La activación de la configuración de acciones se produce con la misma semántica que las funciones: una función puede "requerir" o "implicar" una configuración de acciones de la misma manera que lo haría con otra función. Argumentos: action_name: Es el nombre de la acción de Bazel a la que se aplica esta configuración, p.ej., "c-compile" o "c-module-compile". enabled: Si es "True", esta acción se habilita, a menos que un tipo de regla la marque explícitamente como no admitida. tools: La herramienta aplicada a la acción será la primera herramienta con un conjunto de atributos que coincida con la configuración de atributos. Se mostrará un error si no hay ninguna herramienta que coincida con una configuración de componentes proporcionada. Por ese motivo, es recomendable proporcionar una herramienta predeterminada con un conjunto de componentes vacío. flag_sets: Si la configuración de la acción determinada está habilitada, los conjuntos de marcas se aplicarán a la acción correspondiente. implica: Es una lista de funciones o configuraciones de acciones que se habilitan automáticamente cuando se habilita esta configuración de acción. Si no se puede habilitar ninguna de las funciones o configuraciones de acciones implícitas, tampoco se habilitará (de forma silenciosa) esta configuración de acciones. |
artifact_name_patterns
|
default = [] Es el nombre de un artefacto de una categoría determinada de artefactos de entrada o salida de una acción. Argumentos: category_name: Es la categoría de artefactos a la que se aplica esta selección. Este campo se compara con una lista de categorías definidas en Bazel. Entre los ejemplos de categorías, se incluyen "linked_output" o el artefacto para esta selección. Junto con la extensión, se usa para crear un nombre de artefacto basado en el nombre de destino. extension: Es la extensión para crear el artefacto de esta selección. Junto con el prefijo, se usa para crear un nombre de artefacto basado en el nombre de destino. |
cxx_builtin_include_directories
|
default = [] Directorios de inclusión integrados para la compilación de C++. Estas deben ser las rutas de acceso exactas que usa el compilador y, por lo general, son relativas a la raíz de ejecución. Las rutas que usa el compilador se pueden determinar con "gcc -E -xc++ - -v". Actualmente, también usamos las rutas de acceso de C++ para la compilación de C, lo que es seguro, siempre y cuando no haya conflictos de nombres entre los archivos de encabezados de C++ y C. Las rutas de acceso relativas se resuelven en función del directorio del archivo de configuración. Si el compilador admite --sysroot, estas rutas de acceso deben usar %sysroot% en lugar de la ruta de acceso de inclusión y especificar el atributo sysroot para proporcionarle a blaze la información necesaria para realizar los reemplazos correctos. |
toolchain_identifier
|
required Es el identificador único de la cadena de herramientas dentro de la versión de Crosstool. 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; or None ;
default = NoneIgnorado. |
target_system_name
|
obligatorio Es el nombre del sistema GNU. |
target_cpu
|
obligatorio Es la cadena de arquitectura de destino. |
target_libc
|
obligatorio Es la cadena de versión de libc (p.ej., “glibc-2.2.2”). |
compiler
|
obligatorio Es la cadena de versión del compilador (p.ej., “gcc-4.1.1”). |
abi_version
|
string; or None ;
default = NoneEs la ABI en uso, que es una versión de gcc. P. ej.: "gcc-3.4" |
abi_libc_version
|
string; or None ;
default = NoneEs la versión de glibc que usa la ABI que estamos usando. |
tool_paths
|
default = [] Ubicaciones de las herramientas Argumentos: name: Es el nombre de la herramienta. path: Es la ubicación de la herramienta. Puede ser una ruta de acceso absoluta (en el caso de una cadena de herramientas no hermética) o una ruta de acceso relativa al paquete de cc_toolchain. |
make_variables
|
default = [] Es una variable de Make a la que las reglas pueden acceder. |
builtin_sysroot
|
string; or None ;
default = NoneEl 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. |
cc_target_os
|
string; or None ;
default = NoneSolo para uso interno, no lo uses. |
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
|
default = unbound Conjunto de encabezados necesarios para compilar este destino |
system_includes
|
default = unbound Es un conjunto de rutas de búsqueda para archivos de encabezado a los que se hace referencia con corchetes, es decir, #include <foo/bar/header.h>. Pueden ser relativos a la raíz de ejecución o absolutos. Por lo general, se pasa con -isystem |
includes
|
default = unbound Es un conjunto de rutas de acceso de búsqueda para archivos de encabezado a los que se hace referencia con corchetes angulares y comillas. Por lo general, se pasa con -I. |
quote_includes
|
default = unbound Es un conjunto de rutas de acceso de búsqueda para archivos de encabezado a los que se hace referencia con comillas, es decir, #include "foo/bar/header.h". Pueden ser relativos a la raíz de ejecución o absolutos. Por lo general, se pasa con -iquote |
framework_includes
|
default = unbound Conjunto de rutas de búsqueda de framework para archivos de encabezado (solo para plataformas de Apple) |
defines
|
default = unbound Es el conjunto de definiciones necesarias para compilar este destino. Cada definición es una cadena. Se propaga de forma transitiva a los elementos dependientes. |
local_defines
|
default = unbound Es el conjunto de definiciones necesarias para compilar este destino. Cada definición es una cadena. No se propaga de forma transitiva a los elementos dependientes. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)Crea un objeto de resultados de compilación.
Parámetros
Parámetro | Descripción |
---|---|
objects
|
depset; or None ;
valor predeterminado = NingunoEs una lista de archivos de objetos. |
pic_objects
|
depset; or None ;
default = NoneEs una lista de archivos de objetos de imagen. |
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 las variables que se usan para las acciones de compilación.
Parámetros
Parámetro | Descripción |
---|---|
cc_toolchain
|
required cc_toolchain para la que estamos creando variables de compilación. |
feature_configuration
|
obligatorio Configuración de la función que se consultará. |
source_file
|
default = None Es un archivo de origen opcional para la compilación. Preferimos pasar source_file aquí 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 las marcas del compilador. |
output_file
|
default = None Archivo de salida opcional de la compilación. Preferimos pasar output_file aquí 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 las marcas del compilador. |
user_compile_flags
|
sequence of strings; or None ;
valor predeterminado = NingunoEs una lista de marcas de compilación adicionales (copts). |
include_directories
|
depset; or None ;
default = NoneDepset de directorios de inclusión. |
quote_include_directories
|
depset; or None ;
default = NoneDepset de directorios de inclusión de comillas. |
system_include_directories
|
depset; or None ;
default = NoneDepset del sistema incluye directorios. |
framework_include_directories
|
depset; or None ;
predeterminado = NingunoDepset del framework incluye directorios. |
preprocessor_defines
|
depset; or None ;
default = NoneDepset de definiciones del preprocesador. |
thinlto_index
|
string; or None ;
default = NoneEs la ruta de acceso del archivo de índice de LTO. |
thinlto_input_bitcode_file
|
string; or None ;
default = NoneEs el archivo de código de bits que se ingresa al backend de LTO. |
thinlto_output_object_file
|
string; or None ;
default = NoneEs el archivo de objetos que genera el backend de LTO. |
use_pic
|
default = False Cuando sea verdadero, la compilación generará un código independiente de la posición. |
add_legacy_cxx_options
|
default = False Unused. |
variables_extension
|
dict ;
default = unboundEs 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
|
objeto actions obligatorio. |
feature_configuration
|
default = Nonefeature_configuration que se consultará.
|
cc_toolchain
|
default = NoneCcToolchainInfo proveedor que se usará.
|
static_library
|
File; or None ;
default = NoneFile de la biblioteca estática que se vinculará.
|
pic_static_library
|
File; or None ;
valor predeterminado = NingunoFile de la biblioteca estática de pic que se vinculará.
|
dynamic_library
|
File; or None ;
valor predeterminado = NoneFile de la biblioteca dinámica que se vinculará. Siempre se usa para el entorno de ejecución y para la vinculación si no se pasa interface_library .
|
interface_library
|
File; or None ;
valor predeterminado = NingunoFile de la biblioteca de interfaz que se vinculará.
|
pic_objects
|
sequence of Files ;
predeterminado = no vinculadoExperimental, no usar |
objects
|
sequence of Files ;
predeterminado = no vinculadoExperimental, no usar |
alwayslink
|
default = False Indica si se deben vincular la biblioteca o los objetos estáticos en el bloque --whole_archive. |
dynamic_library_symlink_path
|
string ;
default = ''Anula la ruta de acceso predeterminada del vínculo de la biblioteca dinámica en el directorio solib. Cadena vacía para usar el valor predeterminado. |
interface_library_symlink_path
|
default = '' Anula la ruta de acceso predeterminada del vínculo de la biblioteca de 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=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)Muestra las variables de vínculo que se usan para vincular acciones.
Parámetros
Parámetro | Descripción |
---|---|
cc_toolchain
|
required cc_toolchain para la que estamos creando variables de compilación. |
feature_configuration
|
obligatorio Configuración de la función que se consultará. |
library_search_directories
|
None; or depset ;
default = NoneDepset de directorios en los que el vinculador buscará bibliotecas en el momento de la vinculación. |
runtime_library_search_directories
|
None; or depset ;
default = NoneDepset de directorios en los que el cargador buscará bibliotecas durante el tiempo de ejecución. |
user_link_flags
|
None; or sequence ;
default = NoneEs una lista de marcas de vínculo adicionales (linkopts). |
output_file
|
default = None Ruta de acceso opcional del archivo de salida. |
param_file
|
default = None Es la ruta de acceso opcional al archivo de parámetros. |
def_file
|
default = None Ruta de acceso opcional al archivo .def. |
is_using_linker
|
default = True Es verdadero cuando se usa el vinculador y falso cuando se usa el archivador. El llamador es responsable de mantener esta información sincronizada con el nombre de acción utilizado (is_using_linker = True para vincular una biblioteca ejecutable o dinámica, is_using_linker = False para archivar una biblioteca estática). |
is_linking_dynamic_library
|
valor predeterminado = False Es verdadero cuando se crea una biblioteca dinámica y falso cuando se crea una biblioteca ejecutable o estática. El llamador es responsable de mantener esta información sincronizada con el nombre de la acción que se usó. Este campo se quitará una vez que se solucione b/65151735. |
must_keep_debug
|
default = True Cuando se establece en True, bazel expone la variable "strip_debug_symbols", que se suele usar para usar el vinculador y quitar los símbolos de depuración del archivo de salida. |
use_test_only_flags
|
valor predeterminado = False Cuando se establece en verdadero, se establecerá la variable "is_cc_test". |
is_static_linking_mode
|
default = True Unused. |
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
|
obligatorio Es la etiqueta del objetivo que produjo todos los archivos que se usan en esta entrada. |
libraries
|
None; or depset ;
valor predeterminado = NingunoEs una lista de LibraryToLink .
|
user_link_flags
|
None; or depset of strings; or sequence of strings ;
default = NoneMarcas de vinculación del usuario que se pasan como cadenas. Acepta [String], [[String]] o depset(String). No se recomienda la última opción, ya que solo se mantiene para fines de compatibilidad, y el conjunto de dependencias se aplana. Si deseas propagar user_link_flags a través de depsets() no aplanados, unelos en un LinkerInput para que no se aplanen hasta el final. |
additional_inputs
|
None; or depset ;
default = NonePara 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; or depset ;
default = NoneDepset de LinkerInput .
|
libraries_to_link
|
None; or sequence ;
default = NoneObsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ella. Está inhabilitado con --+incompatible_require_linker_input_cc_api . Usa esta marca para verificar que tu código sea compatible con su eliminación inminente. Lista de LibraryToLink .
|
user_link_flags
|
None; or sequence ;
default = NoneObsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ella. Está inhabilitado con --+incompatible_require_linker_input_cc_api . Usa esta marca para verificar que tu código sea compatible con su eliminación inminente. Es una lista de marcas de vinculación de usuarios que se pasan como cadenas. |
additional_inputs
|
None; or sequence ;
default = NoneObsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ella. Está inhabilitado con --+incompatible_require_linker_input_cc_api . Usa esta marca 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., vinculación de secuencias de comandos. |
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)Se debe usar para crear reglas de bibliotecas que puedan propagar información hacia abajo para que una regla de nivel superior que realice la vinculación transitiva la vincule más adelante y cree una biblioteca ejecutable o dinámica. Muestra una tupla de (
CcLinkingContext
, CcLinkingOutputs
).
Parámetros
Parámetro | Descripción |
---|---|
actions
|
objeto actions obligatorio. |
feature_configuration
|
obligatoriofeature_configuration para consultar.
|
cc_toolchain
|
requeridoCcToolchainInfo proveedor que se usará.
|
compilation_outputs
|
obligatorio Resultados de la compilación que contienen archivos de objetos para vincular. |
user_link_flags
|
default = [] Lista adicional de opciones de vinculación. |
linking_contexts
|
default = [] Bibliotecas de dependencias. Estas bibliotecas se vincularán al artefacto de salida de la llamada a link(), ya sea un objeto binario o una biblioteca. |
name
|
obligatorio Se usa para nombrar los artefactos de salida de las acciones creadas con este método. |
language
|
default = 'c++' Por el momento, solo se admite C++. No uses este parámetro. |
alwayslink
|
default = False Indica si esta biblioteca siempre debe estar vinculada. |
additional_inputs
|
default = [] Para entradas adicionales a la acción de vinculación, p.ej., secuencias de comandos de vinculación. |
disallow_static_libraries
|
default = False Indica si se deben crear bibliotecas estáticas. |
disallow_dynamic_library
|
default = False Indica si se debe crear una biblioteca dinámica. |
grep_includes
|
File; or None ;
default = None |
do_not_use_tools_cpp_compiler_present
None cc_common.do_not_use_tools_cpp_compiler_presentNo uses este campo, su único propósito es ayudar 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 establecerán para una acción determinada.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
obligatorio Configuración de la función que se consultará. |
action_name
|
obligatorio Es el 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
|
obligatorio Compila las variables que se usarán para 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 una acción determinada.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
obligatorio Configuración de la función que se consultará. |
action_name
|
obligatorio Es el 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 aplanadas para una acción determinada, con variables determinadas para la expansión. Aplana los conjuntos anidados y, de forma ideal, no debería usarse, o al menos no debería sobrevivir al análisis. Se está trabajando en la función eficiente de memoria que muestra Args.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
obligatorio Configuración de la función que se consultará. |
action_name
|
obligatorio Es el 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
|
obligatorio Compila las variables 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 herramientas para una acción determinada.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
obligatorio Configuración de la función que se consultará. |
action_name
|
obligatorio Es el 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 verdadero si la función determinada está habilitada en la configuración de la función.
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
obligatorio Configuración de la función que se consultará. |
feature_name
|
obligatorio Es el nombre de la función. |
vínculo
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)Se debe usar para la vinculación transitiva de C++.
Parámetros
Parámetro | Descripción |
---|---|
actions
|
objeto actions obligatorio. |
feature_configuration
|
obligatoriofeature_configuration para consultar.
|
cc_toolchain
|
requeridoCcToolchainInfo proveedor que se usará.
|
compilation_outputs
|
CcCompilationOutputs; or None ;
valor predeterminado = NingunoResultados de la compilación que contienen archivos de objetos para vincular. |
user_link_flags
|
default = [] Lista adicional de opciones del vinculador. |
linking_contexts
|
default = [] Vincula contextos de dependencias que se vincularán al contexto de vinculación que genera esta regla. |
name
|
obligatorio Se usa para nombrar los artefactos de salida de las acciones creadas con este método. |
language
|
default = 'c++' Por el momento, solo se admite C++. No uses este parámetro. |
output_type
|
default = "executable" Puede ser "executable" o "dynamic_library". |
link_deps_statically
|
default = True Es verdadero para vincular dependencias de forma estática y falso de forma dinámica. |
stamp
|
default = 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 compilación. Si es 0, la información de compilación predeterminada siempre se excluye. Si es -1, se usa el comportamiento predeterminado, que se puede anular con la marca --[no]stamp. Este valor no debe establecerse (o debe establecerse en 0) cuando se genera el resultado ejecutable para las reglas de prueba. |
additional_inputs
|
sequence; or depset ;
default = []Para entradas adicionales a la acción de vinculación, p.ej., secuencias de comandos de vinculación. |
grep_includes
|
File; or None ;
default = None |
additional_outputs
|
sequence ;
predeterminado = no vinculadoPara obtener resultados adicionales de la acción de vinculación, p.ej., archivos de mapa. |
merge_cc_infos
CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])Combina varias
CcInfo
en una.
Parámetros
Parámetro | Descripción |
---|---|
direct_cc_infos
|
default = [] Es la lista de CcInfo que se combinarán, cuyos encabezados exportarán los campos directos en el proveedor que se muestra.
|
cc_infos
|
default = [] Es la lista de CcInfo que se combinarán, cuyos encabezados no exportarán los campos directos en el proveedor que se muestra.
|
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])Combina varias
CompilationContexts
en una.
Parámetros
Parámetro | Descripción |
---|---|
compilation_contexts
|
default = [] Es la lista de CompilationContexts que se combinarán. Los encabezados de cada contexto se exportarán con los campos directos del proveedor que se muestra.
|
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
|
default = [] |