I file binari ruggine possono essere prodotti utilizzando il tipo di modulo rust_binary
, ad esempio:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
Allo stesso modo, puoi utilizzare rust_binary_host
per fornire un modulo solo host.
Proprietà rust_binary importanti
Oltre alle proprietà comuni importanti,
anche le seguenti proprietà sono importanti o mostrano un comportamento univoco
specifico del tipo di modulo rust_binary
:
- static_executable: compila questo file binario come file binario statico e presuppone che
prefer_rlib
siatrue
. Gli eseguibili completamente statici possono essere prodotti solo per bersagli bionici. Per i bersagli non bionici, ciò implica solo cheprefer_rlib
ètrue
, ma collega comunquelibc
elibdl
in modo dinamico. - prefer_rlib: modifica il collegamento
rustlibs
per selezionare il collegamentorlib
per impostazione predefinita per i target per dispositivo e collegalibstd
comerlib
sui target per dispositivo. Tieni presente che questo è il comportamento predefinito per i target host e non ha alcun impatto su di essi.
Collegamento
Per impostazione predefinita, i moduli rust_binary
che hanno come target i dispositivi sono sempre collegati dinamicamente rispetto a libstd
e per impostazione predefinita preferiranno le librerie dylib
per le dipendenze elencate in rustlibs
, a meno che prefer_rlib
non sia true
. Se sono richiesti file binari completamente statici, consulta la proprietà static_executable
.
I moduli host sono sempre collegati in modo statico a libstd
e per impostazione predefinita preferiscono le librerie rlib
per le dipendenze elencate in rustlibs
.