Información de cadena de herramientas

Información sobre el compilador de C++ que se usa.

Miembros

all_files

depset CcToolchainInfo.all_files

Devuelve todos los archivos de la cadena de herramientas (para que se puedan pasar a las acciones que usan esta cadena de herramientas como entradas).

ar_executable

string CcToolchainInfo.ar_executable

Ruta de acceso al objeto binario ar.

built_in_include_directories

list CcToolchainInfo.built_in_include_directories

Devuelve la lista de directorios integrados del compilador.

compilador

string CcToolchainInfo.compiler

Compilador de C++ Puede devolver None.

compiler_executable

string CcToolchainInfo.compiler_executable

Es la ruta de acceso al objeto binario del compilador.

cpu

string CcToolchainInfo.cpu

CPU objetivo de la cadena de herramientas de C++. Puede devolver None.

dynamic_runtime_lib

depset CcToolchainInfo.dynamic_runtime_lib(feature_configuration)

Devuelve los archivos del atributo "dynamic_runtime_lib" (para que se puedan pasar a las acciones que usan esta cadena de herramientas como entradas). La persona que llama puede verificar si la feature_configuration habilita la función `static_link_cpp_runtimes` (si no es así, no se debe usar `static_runtime_lib` ni `dynamic_runtime_lib`) y usar `static_runtime_lib` si el modo de vinculación estática está activo.

Parámetros

Parámetro Descripción
feature_configuration required
Es la configuración de la función sobre la que se realizará la consulta.

gcov_executable

string CcToolchainInfo.gcov_executable

Ruta de acceso al objeto binario gcov.

ld_executable

string CcToolchainInfo.ld_executable

Ruta de acceso al objeto binario ld.

libc

string CcToolchainInfo.libc

Es la cadena de versión de libc. Puede devolver None.

needs_pic_for_dynamic_libraries

bool CcToolchainInfo.needs_pic_for_dynamic_libraries(feature_configuration)

Devuelve verdadero si las compilaciones de esta regla deben aplicar -fPIC; de lo contrario, devuelve falso. Determina si debemos aplicar -fPIC para las compilaciones de C++ de esta regla según la cadena de herramientas de C++ y la presencia de la opción `--force_pic` de Bazel.

Parámetros

Parámetro Descripción
feature_configuration required
Es la configuración de la función sobre la que se realizará la consulta.

nm_executable

string CcToolchainInfo.nm_executable

Ruta de acceso al objeto binario nm.

objcopy_executable

string CcToolchainInfo.objcopy_executable

Ruta de acceso al objeto binario objcopy.

objdump_executable

string CcToolchainInfo.objdump_executable

Ruta de acceso al objeto binario objdump.

preprocessor_executable

string CcToolchainInfo.preprocessor_executable

Es la ruta de acceso al objeto binario del preprocesador.

static_runtime_lib

depset CcToolchainInfo.static_runtime_lib(feature_configuration)

Devuelve los archivos del atributo "static_runtime_lib" (para que se puedan pasar a las acciones que usan esta cadena de herramientas como entradas). El llamador debe verificar si la feature_configuration habilita la función `static_link_cpp_runtimes` (si no es así, no se debe usar `static_runtime_lib` ni `dynamic_runtime_lib`) y usar `dynamic_runtime_lib` si el modo de vinculación dinámica está activo.

Parámetros

Parámetro Descripción
feature_configuration required
Es la configuración de la función sobre la que se realizará la consulta.

strip_executable

string CcToolchainInfo.strip_executable

Es la ruta de acceso al objeto binario de strip.

sysroot

string CcToolchainInfo.sysroot

Devuelve el sysroot que se usará. Si el compilador de la cadena de herramientas no admite diferentes sysroots o si el sysroot es el mismo que el sysroot predeterminado, este método devuelve None. Puede devolver None.

target_gnu_system_name

string CcToolchainInfo.target_gnu_system_name

Es el nombre del sistema GNU. Puede devolver None.

to_json

string CcToolchainInfo.to_json()

(Obsoleto). Esta API dejó de estar disponible y se quitará pronto. No dependas de ella. Se inhabilita con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con esta eliminación inminente.
Crea una cadena JSON a partir del parámetro struct. Este método solo funciona si todos los elementos del struct (de forma recursiva) son cadenas, números enteros, booleanos, otros structs, una lista de estos tipos o un diccionario con claves y valores de cadena de estos tipos. Las comillas y las líneas nuevas de las cadenas se marcan con cadenas de escape. Ejemplos:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

(Obsoleto). En su lugar, usa json.encode(x) o json.encode_indent(x), que funcionan para valores que no son structs y no contaminan el espacio de nombres del campo struct.

to_proto

string CcToolchainInfo.to_proto()

(Obsoleto). Esta API dejó de estar disponible y se quitará pronto. No dependas de ella. Se inhabilita con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con esta eliminación inminente.
Crea un mensaje de texto a partir del parámetro struct. Este método solo funciona si todos los elementos de struct (de forma recursiva) son cadenas, números enteros, booleanos, otros structs o diccionarios, o bien listas de estos tipos. Las comillas y las líneas nuevas de las cadenas se marcan con cadenas de escape. Las claves de struct se iteran siguiendo el orden de clasificación. Ejemplos:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

(Obsoleto). Usa proto.encode_text(x) en su lugar.