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 (para que se puedan pasar a acciones que usen esta cadena de herramientas como entradas).

ar_executable

string CcToolchainInfo.ar_executable

Es 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 de 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" (si no es así, no se deben 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 obligatorio
Configuración de la función que se consultará.

gcov_executable

string CcToolchainInfo.gcov_executable

Es la ruta de acceso al objeto binario gcov.

ld_executable

string CcToolchainInfo.ld_executable

Es la ruta de acceso al objeto binario ld.

libc

string CcToolchainInfo.libc

Cadena de versión de libc. Puede mostrar None.

needs_pic_for_dynamic_libraries

bool CcToolchainInfo.needs_pic_for_dynamic_libraries(feature_configuration)

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

Parámetros

Parámetro Descripción
feature_configuration obligatorio
Configuración de la función 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

Es la ruta de acceso al objeto binario del preprocesador.

static_runtime_lib

depset CcToolchainInfo.static_runtime_lib(feature_configuration)

Muestra los archivos del atributo "static_runtime_lib" (para que se puedan pasar a acciones que usan 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 requerido
Configuración del atributo que se consulta.

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 el sysroot es el mismo que el predeterminado, este método muestra None. Puede mostrar None.

target_gnu_system_name

string CcToolchainInfo.target_gnu_system_name

El nombre del sistema GNU. Puede mostrar None.

to_json

string CcToolchainInfo.to_json()

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 función experimental para verificar que tu código sea compatible con su eliminación inminente.
Crea una cadena 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 structs, una lista de estos tipos o un diccionario con claves y valores de cadenas 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 las estructuras y no contaminan el espacio de nombres del campo de la estructura.

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 de 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. Se escapan las comillas y las líneas nuevas en las cadenas. Las claves de la estructura se iteran en el orden ordenado. 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.