Les binaires Rust peuvent être produits à l'aide du type de module rust_binary. Exemple :
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
De même, vous pouvez utiliser rust_binary_host pour fournir un module réservé à l'hôte.
Propriétés rust_binary notables
Outre les propriétés communes importantes,
les propriétés suivantes sont également importantes ou présentent un comportement unique
spécifique au type de module rust_binary :
- static_executable : compile ce binaire en tant que binaire statique et implique que
prefer_rlibesttrue. Les exécutables entièrement statiques ne peuvent être produits que pour les cibles bioniques. Pour les cibles non bioniques, cela implique uniquement queprefer_rlibesttrue, mais il associe toujourslibcetlibdlde manière dynamique. - prefer_rlib : modifie la liaison
rustlibspour sélectionner la liaisonrlibpar défaut pour les cibles d'appareil et associelibstden tant querlibsur les cibles d'appareil. Notez qu'il s'agit du comportement par défaut pour les cibles hôtes, et qu'il n'a aucun impact sur elles.
Liaison
Par défaut, les modules rust_binary ciblant des appareils sont toujours associés de manière dynamique à libstd et préfèrent par défaut les bibliothèques dylib pour les dépendances listées dans rustlibs, sauf si prefer_rlib est true. Si des binaires entièrement statiques sont requis, consultez la propriété static_executable.
Les modules hôtes sont toujours associés de manière statique à libstd et préfèrent par défaut les bibliothèques rlib pour les dépendances listées dans rustlibs.