Pliki binarne Rust można wygenerować za pomocą typu modułu rust_binary
, na przykład:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
I w podobny sposób możesz użyć rust_binary_host
, aby udostępnić moduł tylko-hosta.
Ważniejsze właściwości rust_binary
Oprócz ważnych wspólnych właściwości te właściwości są również ważne lub mają unikalne zachowanie specyficzne dla typu modułu rust_binary
:
- static_executable: tworzy ten plik binarny jako statyczny plik binarny i zakłada, że
prefer_rlib
totrue
. W pełni statyczne pliki wykonywalne można tworzyć tylko na potrzeby celów bionicznych. W przypadku celów niebionicznych oznacza to, żeprefer_rlib
ma wartośćtrue
, ale nadal łączy dynamicznie elementylibc
ilibdl
. - prefer_rlib: zmienia połączenie z
rustlibs
, by domyślnie wybrać połączenierlib
w przypadku urządzeń docelowych, oraz łączylibstd
jakorlib
na urządzeniach docelowych. Pamiętaj, że jest to domyślne działanie w przypadku celów hostów i nie ma na nie wpływu.
Połączenie
Domyślnie moduły rust_binary
kierowane na urządzenia są zawsze połączone dynamicznie z zasadą libstd
. Domyślnie preferują biblioteki dylib
w przypadku zależności wymienionych w zasadzie rustlibs
, chyba że prefer_rlib
ma wartość true
. Jeśli wymagane są całkowicie statyczne pliki binarne, zapoznaj się z właściwością static_executable
.
Moduły hosta są zawsze łączone statycznie z libstd
i domyślnie preferują biblioteki rlib
dla zależności wymienionych w rustlibs
.