Información de cadena de herramientas

Denuncia un problema Ver fuente Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

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++. Puede mostrar 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++. Puede mostrar 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 que usan 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

Es la ruta de acceso al objeto binario 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

Es la ruta de acceso al objeto binario objcopy.

objdump_executable

string CcToolchainInfo.objdump_executable

Es 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" (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 obligatorio
Configuración del atributo que se consultará.

strip_executable

string CcToolchainInfo.strip_executable

Es 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. Puede mostrar None.

target_gnu_system_name

string CcToolchainInfo.target_gnu_system_name

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 dependas de ella. 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 de la struct (de forma recursiva) son cadenas, números enteros, valores booleanos, otras estructuras, una lista de estos tipos o un diccionario con claves y valores de cadenas de estos tipos. Se escapan las comillas y las líneas nuevas en las cadenas. 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 dependas de ella. Está inhabilitado con ---incompatible_struct_has_no_methods. Usa esta marca 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 de la estructura (de forma recursiva) son cadenas, números enteros, valores booleanos, otras estructuras, diccionarios o listas de estos tipos. Se escapan las comillas y las líneas nuevas en las cadenas. 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.