Building in Android

Crea dos genrule, una para generar el encabezado de CXX y otra para generar el archivo de origen de CXX. Luego se usarán como entradas a cc_library_static.

// Genera un encabezado de C++ que contenga los enlaces de C++ // a las funciones exportadas de Rust en lib.rs. genrule { name: "libcxx_test_bridge_header", tools: ["cxxbridge"], cmd: "$(location cxxbridge) $(in) --header > $(out)", srcs: ["lib.rs"], out: ["lib.rs.h"], } // Genera el código C++ al que llama Rust. genrule { name: "libcxx_test_bridge_code", tools: ["cxxbridge"], cmd: "$(location cxxbridge) $(in) > $(out)", srcs: ["lib.rs"], out: ["lib.rs.cc"], }

Speaker Notes

  • La herramienta cxxbridge es una herramienta independiente que genera el lado C++ del módulo de bridge. Se incluye en Android y está disponible como herramienta de Soong.
  • Por convención, si el archivo de origen de Rust es lib.rs, el archivo de encabezado se llamará lib.rs.h y el archivo de origen, lib.rs.cc. Sin embargo, esta convención en cuanto a la nomenclatura no es obligatoria.