Los binarios de Rust se pueden producir usando el tipo de módulo rust_binary ; por ejemplo, como se muestra a continuación:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
De manera similar, puede usar rust_binary_host para proporcionar un módulo solo de host.
Propiedades notables de rust_binary
Además de las propiedades comunes importantes , las siguientes propiedades también son importantes o exhiben un comportamiento único específico para el tipo de módulo rust_binary :
- static_executable : crea este binario como un binario estático e implica que
prefer_rlibestrue. Los ejecutables completamente estáticos solo se pueden producir para objetivos biónicos. Para objetivos no biónicos, esto solo implica queprefer_rlibestrue, pero aún vinculalibcylibdldinámicamente. - prefer_rlib : cambia el vínculo de
rustlibspara seleccionar el vínculo derlibde forma predeterminada para los dispositivos de destino y vinculalibstdcomo unrliben los dispositivos de destino. Tenga en cuenta que este es el comportamiento predeterminado para los destinos de host y, como tal, no tiene impacto en ellos.
Enlace
De forma predeterminada, los módulos rust_binary que se dirigen a dispositivos siempre se vinculan dinámicamente con libstd y, de forma predeterminada, preferirán las bibliotecas dylib para las dependencias enumeradas en rustlibs a menos que prefer_rlib sea true . Si se requieren archivos binarios totalmente estáticos, consulte la propiedad static_executable .
Los módulos host siempre están vinculados estáticamente con libstd y, de forma predeterminada, prefieren las bibliotecas rlib para las dependencias que se enumeran en rustlibs .