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_rlibisttrue. Vollständig statische ausführbare Dateien können nur für Bionic-Ziele erstellt werden. Bei nicht bionischen Zielen bedeutet das nur, dassprefer_rlibgleichtrueist.libcundlibdlwerden 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üpftlibstdalsrlibmit 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.