Modules binaires

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 est true . Les exécutables entièrement statiques ne peuvent être produits que pour des cibles bioniques. Pour les cibles non bioniques, cela implique seulement que prefer_rlib vaut true , mais cela lie toujours libc et libdl de manière dynamique.
  • prefer_rlib : modifie la liaison rustlibs pour sélectionner la liaison rlib par défaut pour les cibles de périphérique, et lie libstd en tant que rlib 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 .