Os binários Rust podem ser produzidos usando o tipo de módulo rust_binary ; por exemplo, como mostrado abaixo:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
Da mesma forma, você pode usar rust_binary_host para fornecer um módulo somente host.
Propriedades Rust_binary notáveis
Além das propriedades comuns importantes , as propriedades a seguir também são importantes ou exibem um comportamento exclusivo específico para o tipo de módulo rust_binary :
- static_executable : Constrói este binário como um binário estático e implica
prefer_rlibétrue. Executáveis totalmente estáticos só podem ser produzidos para alvos biônicos. Para alvos não biônicos, isso implica apenas queprefer_rlibétrue, mas ainda vinculalibcelibdldinamicamente. - prefer_rlib : Altera a ligação
rustlibspara selecionar a ligaçãorlibpor padrão para destinos de dispositivo e vinculalibstdcomo umarlibem destinos de dispositivo. Observe que esse é o comportamento padrão para destinos de host e, como tal, não tem impacto sobre eles.
Ligação
Por padrão, módulos rust_binary direcionados a dispositivos são sempre vinculados dinamicamente a libstd e, por padrão, preferem bibliotecas dylib para dependências listadas em rustlibs , a menos que prefer_rlib seja true . Se forem necessários binários totalmente estáticos, consulte a propriedade static_executable .
Os módulos host são sempre vinculados estaticamente a libstd e, por padrão, preferem bibliotecas rlib para dependências listadas em rustlibs .