Rust-Binärdateien können mit dem Modultyp rust_binary
erstellt werden, z. B.:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
Ebenso können Sie mit rust_binary_host
ein Modul nur für den Host bereitstellen.
Wichtige rust_binary-Attribute
Zusätzlich zu den wichtigen gemeinsamen Properties sind die folgenden Properties 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.
prefer_rlib
isttrue
. Vollständig statische ausführbare Dateien können nur für Bionic-Ziele erstellt werden. Bei nicht bionischen Zielen bedeutet das nur, dassprefer_rlib
gleichtrue
ist.libc
undlibdl
werden aber weiterhin dynamisch verknüpft. - prefer_rlib: Ändert die
rustlibs
-Verknüpfung so, dass standardmäßig dierlib
-Verknüpfung für Geräteziele ausgewählt wird, und verknüpftlibstd
alsrlib
mit Geräteziele. 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 und bevorzugen standardmäßig dylib
-Bibliotheken für Abhängigkeiten, die in rustlibs
aufgeführt sind, sofern prefer_rlib
nicht true
ist. Wenn vollständig statische Binärdateien erforderlich sind, sehen Sie sich die Property static_executable
an.
Hostmodule werden immer statisch mit libstd
verknüpft und bevorzugen standardmäßig rlib
-Bibliotheken für Abhängigkeiten, die in rustlibs
aufgeführt sind.