Información de cadena de herramientas

Información sobre el compilador C++ en uso.

Miembros

all_files

depset CcToolchainInfo.all_files

Muestra todos los archivos de la cadena de herramientas (de modo que se puedan pasar a acciones usando esta cadena de herramientas como entradas).

ar_executable

string CcToolchainInfo.ar_executable

La ruta de acceso al objeto binario de AR.

built_in_include_directories

list CcToolchainInfo.built_in_include_directories

Muestra la lista de directorios integrados del compilador.

compilador

string CcToolchainInfo.compiler

Compilador C++. Es posible que se muestre None.

compiler_executable

string CcToolchainInfo.compiler_executable

La ruta de acceso al objeto binario del compilador.

cpu

string CcToolchainInfo.cpu

CPU de destino de la cadena de herramientas de C++. Es posible que se muestre None.

dynamic_runtime_lib

depset CcToolchainInfo.dynamic_runtime_lib(feature_configuration)

Muestra los archivos del atributo `dynamic_runtime_lib` (para que se puedan pasar a acciones usando esta cadena de herramientas como entradas). El llamador puede verificar si feature_configuration habilita la función `static_link_cpp_runtimes` (de lo contrario, no se deben usar `static_runtime_lib` ni `dynamic_runtime_lib`) y usar `static_runtime_lib` si el modo de vinculación estático está activo.

Parámetros

Parámetro Descripción
feature_configuration obligatorio
Configuración del atributo que se consultará.

gcov_executable

string CcToolchainInfo.gcov_executable

La ruta al objeto binario de gcov.

ld_executable

string CcToolchainInfo.ld_executable

La ruta de acceso al objeto binario ld.

libc

string CcToolchainInfo.libc

Cadena de versión de libc. Es posible que se muestre None.

needs_pic_for_dynamic_libraries

bool CcToolchainInfo.needs_pic_for_dynamic_libraries(feature_configuration)

Muestra true si las compilaciones de esta regla deben aplicar -fPIC; de lo contrario, muestra false. 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 de Bazel "--force_pic".

Parámetros

Parámetro Descripción
feature_configuration obligatorio
Configuración del atributo que se consultará.

nm_executable

string CcToolchainInfo.nm_executable

La ruta de acceso al objeto binario nm.

objcopy_executable

string CcToolchainInfo.objcopy_executable

La ruta de acceso al objeto binario objcopy.

objdump_executable

string CcToolchainInfo.objdump_executable

La ruta de acceso al objeto binario objdump.

preprocessor_executable

string CcToolchainInfo.preprocessor_executable

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 acciones usando esta cadena de herramientas como entradas). El llamador debe verificar si feature_configuration habilita la función `static_link_cpp_runtimes` (de lo contrario, 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 obligatorio
Configuración del atributo que se consultará.

strip_executable

string CcToolchainInfo.strip_executable

La ruta de acceso al objeto binario de Strip.

sysroot

string CcToolchainInfo.sysroot

Muestra 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 muestra None. Es posible que se muestre None.

target_gnu_system_name

string CcToolchainInfo.target_gnu_system_name

Es el nombre del sistema GNU. Es posible que se muestre None.

to_json

string CcToolchainInfo.to_json()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente.
Crea una string JSON a partir del parámetro struct. Este método solo funciona si todos los elementos struct (de forma recurrente) son cadenas, ints, booleanos, otros structs, una lista de estos tipos o un diccionario con claves de cadenas y valores de estos tipos. Las comillas y las líneas nuevas en las cadenas tienen 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 distintos de structs y no contaminan el espacio de nombres del campo de struct.

to_proto

string CcToolchainInfo.to_proto()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependa de él. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta función experimental para verificar que tu código sea compatible con su eliminación inminente.
Crea un mensaje de texto a partir del parámetro struct. Este método solo funciona si todos los elementos struct (de forma recurrente) son cadenas, ints, booleanos, otros structs o dicts, o listas de estos tipos. Las comillas y las líneas nuevas en las cadenas tienen escape. Las claves de struct se iteran en 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.