Rust-Binärdateien können mit dem Modultyp rust_binary
erstellt werden. Beispiel:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
Ebenso können Sie mit rust_binary_host
ein Modul bereitstellen, das nur für den Host gilt.
Wichtige Eigenschaften von „rust_binary“
Zusätzlich zu den wichtigen gemeinsamen Properties sind die folgenden Properties entweder wichtig oder haben ein für den rust_binary
-Modultyp spezifisches Verhalten:
- static_executable: Erstellt diese Binärdatei als statische Binärdatei und impliziert, dass
prefer_rlib
true
ist. Vollständig statische ausführbare Dateien können nur für Bionic-Ziele erstellt werden. Bei nicht-bionischen Zielen bedeutet das nur, dassprefer_rlib
=true
ist, aberlibc
undlibdl
werden trotzdem dynamisch verknüpft. - prefer_rlib: Ändert die
rustlibs
-Verknüpfung, sodass dierlib
-Verknüpfung standardmäßig für Geräteziele ausgewählt wird, und verknüpftlibstd
alsrlib
mit Gerätezielen. Das ist das Standardverhalten für Hostziele und hat keine Auswirkungen auf sie.
Verknüpfung
Standardmäßig werden rust_binary
-Module, die auf Geräte ausgerichtet sind, immer dynamisch mit libstd
verknüpft. Außerdem werden standardmäßig dylib
-Bibliotheken für Abhängigkeiten verwendet, die in rustlibs
aufgeführt sind, es sei denn, prefer_rlib
ist true
. Wenn vollständig statische Binärdateien erforderlich sind, lesen Sie die Informationen zur Property static_executable
.
Hostmodule sind immer statisch mit libstd
verknüpft und bevorzugen standardmäßig rlib
-Bibliotheken für Abhängigkeiten, die in rustlibs
aufgeführt sind.