Les binaires Rust peuvent être produits en utilisant le 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 notables de rust_binary
En plus des 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 : Construit ce binaire comme un binaire statique et implique que
prefer_rlib
esttrue
. Les exécutables entièrement statiques ne peuvent être produits que pour des cibles bioniques. Pour les cibles non bioniques, cela implique seulement queprefer_rlib
vauttrue
, mais cela lie toujourslibc
etlibdl
de manière dynamique. - prefer_rlib : modifie la liaison
rustlibs
pour sélectionner la liaisonrlib
par défaut pour les cibles de périphérique, et lielibstd
en tant querlib
sur les cibles de périphérique. Notez qu'il s'agit du comportement par défaut des cibles hôtes et qu'il n'a aucun impact sur elles.
Lien
Par défaut, les modules rust_binary
qui ciblent les appareils sont toujours liés dynamiquement à libstd
et préféreront par défaut les bibliothèques dylib
pour les dépendances répertorié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 liés statiquement à libstd
et préfèrent par défaut les bibliothèques rlib
pour les dépendances répertoriées dans rustlibs
.