Rust-Binärdateien können mit dem Modultyp rust_binary
erstellt werden; Zum Beispiel:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
Ebenso können Sie rust_binary_host
verwenden, um ein reines Host-Modul bereitzustellen.
Bemerkenswerte rust_binary-Eigenschaften
Zusätzlich zu den wichtigen allgemeinen Eigenschaften sind auch die folgenden Eigenschaften entweder wichtig oder weisen ein einzigartiges Verhalten auf, das für den Modultyp rust_binary
spezifisch ist:
- 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 bionische Ziele erstellt werden. Für nicht-bionische Ziele bedeutet dies nur, dassprefer_rlib
true
ist,libc
undlibdl
jedoch weiterhin dynamisch verknüpft. - Prefer_rlib : Ändert die
rustlibs
Verknüpfung, um standardmäßig dierlib
-Verknüpfung für Geräteziele auszuwählen, und verknüpftlibstd
alsrlib
auf Gerätezielen. Beachten Sie, dass dies das Standardverhalten für Hostziele ist und keine Auswirkungen auf diese hat.
Verknüpfung
Standardmäßig werden rust_binary
Module, die auf Geräte abzielen, immer dynamisch mit libstd
verknüpft und bevorzugen standardmäßig dylib
-Bibliotheken für in rustlibs
aufgeführte Abhängigkeiten, es sei denn, prefer_rlib
ist true
. Wenn vollständig statische Binärdateien erforderlich sind, sehen Sie sich die Eigenschaft static_executable
an.
Hostmodule sind immer statisch mit libstd
verknüpft und bevorzugen standardmäßig rlib
Bibliotheken für Abhängigkeiten, die in rustlibs
aufgeführt sind.