Les binaires Rust peuvent être générés à l'aide du type de module rust_binary
, par exemple :
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
De même, vous pouvez utiliser rust_binary_host
pour fournir un module hôte uniquement.
Propriétés rust_binary notables
En plus des propriétés communes importantes, les propriétés suivantes sont également importantes ou présentent un comportement unique propre au type de module rust_binary
:
- static_executable: crée ce binaire en tant que binaire statique et implique que
prefer_rlib
esttrue
. Les exécutables entièrement statiques ne peuvent être produits que pour les cibles bionic. Pour les cibles non bioniques, cela implique uniquement queprefer_rlib
esttrue
, mais qu'il associe toujourslibc
etlibdl
de manière dynamique. - prefer_rlib: modifie l'association
rustlibs
pour sélectionner l'associationrlib
par défaut pour les cibles par types d'appareil, et associelibstd
en tant querlib
sur les cibles d'appareils. Notez qu'il s'agit du comportement par défaut pour les hôtes cibles et qu'il n'a aucune incidence sur celles-ci.
Association
Par défaut, les modules rust_binary
qui ciblent 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, par défaut, préfèrent les bibliothèques rlib
pour les dépendances répertoriées dans rustlibs
.