Utilidades para la compilación, vinculación y generación de líneas de comandos de C++.
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_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)
Parámetros
Parámetro | Descripción |
---|---|
feature_configuration
|
requerido Configuración del atributo que se consulta. |
action_name
|
obligatorio Es el nombre de action_config. |
CcToolchainInfo
Provider cc_common.CcToolchainInfo
compile
tuple cc_common.compile(actions, feature_configuration, cc_toolchain, srcs=[], public_hdrs=[], private_hdrs=[], includes=[], quote_includes=[], system_includes=[], framework_includes=[], defines=[], local_defines=[], include_prefix='', strip_include_prefix='', user_compile_flags=[], conly_flags=[], cxx_flags=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[])
CompilationContext
, CcCompilationOutputs
).
Parámetros
Parámetro | Descripción |
---|---|
actions
|
objeto actions obligatorio. |
feature_configuration
|
que se necesitanfeature_configuration para la consulta.
|
cc_toolchain
|
requeridoCcToolchainInfo proveedor que se usará.
|
srcs
|
El valor predeterminado es [] Es la lista de archivos fuente que se compilarán. |
public_hdrs
|
El valor predeterminado es [] Lista de encabezados necesarios para la compilación de srcs y puede incluirse de forma transitiva en las reglas dependientes. |
private_hdrs
|
El valor predeterminado es [] Es la lista de encabezados necesarios para la compilación de srcs y que NO deben incluirse en las reglas dependientes. |
includes
|
sequence o depset;
el valor predeterminado es [] Rutas de acceso de los archivos de encabezado a los que se hace referencia con corchetes y comillas. Por lo general, se aprueba con -I. Se propaga a los dependientes de forma transitiva. |
quote_includes
|
El valor predeterminado es [] 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
|
El valor predeterminado es [] Rutas de acceso de búsqueda de archivos de encabezado a los que se hace referencia con 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. Se propaga a los dependientes de forma transitiva. |
framework_includes
|
el valor predeterminado es [] Rutas de búsqueda de archivos de encabezado de los 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
|
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
|
El valor predeterminado es [] 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
|
El valor predeterminado es '' 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
|
El valor predeterminado es '' Es el prefijo que se quitará 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 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
|
el valor predeterminado es [] Lista adicional de opciones de compilación. |
conly_flags
|
El valor predeterminado es [] Es una lista adicional de opciones de compilación para compilaciones de C. |
cxx_flags
|
El valor predeterminado es [] Es una lista adicional de opciones de compilación para compilaciones de C++. |
compilation_contexts
|
El valor predeterminado es [] 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
|
El valor predeterminado es False Indica si se deben crear salidas de PIC. |
disallow_nopic_outputs
|
El valor predeterminado es False Indica si se deben crear salidas de NOPIC. |
additional_inputs
|
El valor predeterminado es [] Lista de archivos adicionales necesarios para la compilación de srcs |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
ctx o None ; el valor predeterminado es None El contexto de la regla. |
cc_toolchain
|
required cc_toolchain para la que configuramos las funciones. |
language
|
cadena o None ;
el valor predeterminado es None El lenguaje para el que se debe configurar: c++ o objc (c++ predeterminado) |
requested_features
|
El valor predeterminado es [] Es la lista de funciones que se habilitarán. |
unsupported_features
|
El valor predeterminado es [] 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)
CcToolchainConfigInfo
.
Parámetros
Parámetro | Descripción |
---|---|
ctx
|
obligatorio Es el contexto de la regla. |
features
|
El valor predeterminado es [] Contiene todas las especificaciones de marcas de un componente. 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 un "proporciona" 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
|
El valor predeterminado es [] 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:
|
artifact_name_patterns
|
El valor predeterminado 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
|
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, por lo general, son relativas a la raíz de ejecución. Las rutas de acceso usadas por 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 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
|
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
|
cadena o None ;
el valor predeterminado es None Ignorado. |
target_system_name
|
obligatorio El nombre del sistema GNU. |
target_cpu
|
obligatorio Es la cadena de arquitectura de destino. |
target_libc
|
obligatorio La cadena de versión de libc (p.ej., "glibc-2.2.2"). |
compiler
|
required String de la versión del compilador (p.ej., "gcc-4.1.1"). |
abi_version
|
string o None ; el valor predeterminado es None La ABI en uso, que es una versión gcc. P. ej.: "gcc-3.4" |
abi_libc_version
|
cadena; o None ;
el valor predeterminado es None Es la versión de glibc que usa la ABI que estamos usando. |
tool_paths
|
la configuración predeterminada es [] Ubicaciones de las herramientas. Argumentos:
|
make_variables
|
El valor predeterminado es [] Es una variable de compilación a la que las reglas pueden acceder. |
builtin_sysroot
|
cadena 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. |
cc_target_os
|
cadena o None ;
el valor predeterminado es None Solo 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)
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 Es un conjunto de rutas de acceso 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
|
El valor predeterminado es unbound Es un conjunto de rutas 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
|
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 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
|
El valor predeterminado es 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)
Parámetros
Parámetro | Descripción |
---|---|
objects
|
depset o None ;
el valor predeterminado es None Es una 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)
Parámetros
Parámetro | Descripción |
---|---|
cc_toolchain
|
required cc_toolchain para la que estamos creando variables de compilación. |
feature_configuration
|
requerido Configuración del atributo que se consulta. |
source_file
|
El valor predeterminado es 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
|
El valor predeterminado es None Es el 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
|
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 Depset de directorios de inclusión. |
quote_include_directories
|
depset o None ;
el valor predeterminado es None Depset de directorios de inclusión de comillas. |
system_include_directories
|
depset o None ;
el valor predeterminado es None Depset de directorios de inclusión del sistema. |
framework_include_directories
|
depset o None ;
el valor predeterminado es None Depset de directorios de inclusión del framework. |
preprocessor_defines
|
depset o None ;
el valor predeterminado es None Depset de definiciones del preprocesador. |
thinlto_index
|
Cadena o None ;
El valor predeterminado es None Es la ruta de acceso del archivo de índice de LTO. |
thinlto_input_bitcode_file
|
cadena o None ;
el valor predeterminado es None Es el archivo de código de bits que se ingresa al backend de LTO. |
thinlto_output_object_file
|
cadena o None ;
el valor predeterminado es None Es el archivo de objetos que genera el backend de LTO. |
use_pic
|
El valor predeterminado es False Cuando sea verdadero, la compilación generará código independiente de la posición. |
add_legacy_cxx_options
|
El valor predeterminado es False . No se usa. |
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='')
LibraryToLink
Parámetros
Parámetro | Descripción |
---|---|
actions
|
obligatorioactions .
|
feature_configuration
|
El valor predeterminado es None feature_configuration que se consultará.
|
cc_toolchain
|
El valor predeterminado es None CcToolchainInfo proveedor que se usará.
|
static_library
|
Archivo o None ;
el valor predeterminado 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
|
Archivo o None ;
el valor predeterminado es None File 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 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 archivos.
El valor predeterminado es unbound . Experimental, no se debe usar. |
alwayslink
|
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
|
Cadena;
El valor predeterminado es '' 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
|
El valor predeterminado es '' 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)
Parámetros
Parámetro | Descripción |
---|---|
cc_toolchain
|
required cc_toolchain para la que estamos creando variables de compilación. |
feature_configuration
|
requerido Configuración del atributo que se consulta. |
library_search_directories
|
None o depset;
el valor predeterminado es None Depset de directorios en los que el vinculador buscará bibliotecas en el momento de la vinculación. |
runtime_library_search_directories
|
None o depset;
el valor predeterminado es None Depset de directorios en los que el cargador buscará bibliotecas en el tiempo de ejecución. |
user_link_flags
|
None o secuencia;
el valor predeterminado es None Lista de marcas de vínculo adicionales (linkopts). |
output_file
|
La configuración predeterminada es None Es la ruta de acceso opcional del archivo de salida. |
param_file
|
El valor predeterminado es None Ruta de archivo de parámetros opcional. |
def_file
|
El valor predeterminado es None Ruta de archivo .def opcional. |
is_using_linker
|
El valor predeterminado es True Es verdadero cuando se usa el vinculador y falso cuando se usa el archivador. 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
|
El valor predeterminado es 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 sincronizarlo con el nombre de la acción utilizado. Este campo se quitará una vez que se solucione b/65151735. |
must_keep_debug
|
El valor predeterminado es True Cuando se establece en False, 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
|
el valor predeterminado es False Cuando se establece en verdadero, se establece la variable 'is_cc_test'. |
is_static_linking_mode
|
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)
LinkerInput
.
Parámetros
Parámetro | Descripción |
---|---|
owner
|
required Es la etiqueta del destino que produjo todos los archivos que se usaron en esta entrada. |
libraries
|
None o depset;
el valor predeterminado es None Lista de LibraryToLink .
|
user_link_flags
|
None ; o depset de cadenas; o secuencia de cadenas;
el valor predeterminado es None Marcas de vínculo del usuario que se pasan 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 a través de depsets() no aplanados, unelos en un LinkerInput para que no se aplanen 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)
LinkingContext
.
Parámetros
Parámetro | Descripción |
---|---|
linker_inputs
|
None o depset;
el valor predeterminado es None Depset de LinkerInput .
|
libraries_to_link
|
None o secuencia; el valor predeterminado es None Obsoleto. Este parámetro está obsoleto 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 o secuencia;
El valor predeterminado es None Obsoleto. 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 o secuencia;
El valor predeterminado es None Obsoleto. Este parámetro está obsoleto y se quitará pronto. No dependas de ella. Está inhabilitado 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., 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)
CcLinkingContext
, CcLinkingOutputs
).
Parámetros
Parámetro | Descripción |
---|---|
actions
|
objeto actions obligatorio. |
feature_configuration
|
que se necesitanfeature_configuration para la consulta.
|
cc_toolchain
|
se requiere usar el proveedor CcToolchainInfo .
|
compilation_outputs
|
obligatorio Resultados de la compilación que contienen archivos de objetos para vincular. |
user_link_flags
|
la opción predeterminada es [] Lista adicional de opciones de vinculación. |
linking_contexts
|
El valor predeterminado es [] . 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
|
El valor predeterminado es 'c++' Por el momento, solo se admite C++. No uses este parámetro. |
alwayslink
|
El valor predeterminado es False Indica si esta biblioteca siempre debe estar vinculada. |
additional_inputs
|
El valor predeterminado es [] Para entradas adicionales a la acción de vinculación, p. ej., secuencias de comandos de vinculación. |
disallow_static_libraries
|
El valor predeterminado es False Indica si se deben crear bibliotecas estáticas. |
disallow_dynamic_library
|
El valor predeterminado es False Indica si se debe crear una biblioteca dinámica. |
do_not_use_tools_cpp_compiler_present
None
cc_common.do_not_use_tools_cpp_compiler_present
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)
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)
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)
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 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)
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)
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=[], additional_outputs=unbound)
Parámetros
Parámetro | Descripción |
---|---|
actions
|
objeto actions obligatorio. |
feature_configuration
|
que se necesitanfeature_configuration para la consulta.
|
cc_toolchain
|
requeridoCcToolchainInfo proveedor que se usará.
|
compilation_outputs
|
CcCompilationOutputs o None ; el valor predeterminado es None Salidas de compilación que contienen archivos de objetos para vincular. |
user_link_flags
|
El valor predeterminado es [] Es la lista adicional de opciones del vinculador. |
linking_contexts
|
El valor predeterminado es [] Vincula contextos de dependencias para vincularlos 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
|
La opción predeterminada es 'c++' Por el momento, solo es compatible con C++. No uses este parámetro. |
output_type
|
El valor predeterminado es 'executable' Puede ser "executable" o "dynamic_library". |
link_deps_statically
|
El valor predeterminado es True Es verdadero para vincular dependencias de forma estática y falso de forma dinámica. |
stamp
|
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. Este valor no debe establecerse (o debe establecerse en 0) cuando se genera el resultado ejecutable para las reglas de prueba. |
additional_inputs
|
sequence 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 unbound . Para salidas adicionales a la acción de vinculación, p. ej., archivos de mapa. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])
CompilationContexts
en una.
Parámetros
Parámetro | Descripción |
---|---|
compilation_contexts
|
el valor predeterminado es [] Lista de CompilationContexts para combinar. 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=[])
Parámetros
Parámetro | Descripción |
---|---|
compilation_outputs
|
El valor predeterminado es [] . |