Binários Rust podem ser produzidos usando o tipo de módulo rust_binary
; por exemplo:
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 notáveis de ferrugem_binary
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 vinculalibc
elibdl
dinamicamente. - prefer_rlib : altera a ligação
rustlibs
para selecionar a ligaçãorlib
por padrão para destinos de dispositivos e vinculalibstd
como umrlib
em destinos de dispositivos. Observe que este é o comportamento padrão para destinos de host e não tem impacto sobre eles.
Ligação
Por padrão, os módulos rust_binary
direcionados a dispositivos são sempre vinculados dinamicamente ao libstd
e, por padrão, preferirão 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 ao libstd
e, por padrão, preferem bibliotecas rlib
para dependências listadas em rustlibs
.