Бинарные файлы Rust можно создавать с помощью модуля типа rust_binary ; например:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
Аналогичным образом, вы можете использовать rust_binary_host для предоставления модуля, предназначенного только для хост-системы.
Примечательные свойства rust_binary
Помимо важных общих свойств , следующие свойства также являются либо важными, либо демонстрируют уникальное поведение, специфичное для типа модуля rust_binary :
- static_executable : Создает этот бинарный файл как статический и подразумевает, что
prefer_rlibимеет значениеtrue. Полностью статические исполняемые файлы могут быть созданы только для целевых платформ Bionic. Для целевых платформ, не относящихся к Bionic, это подразумевает только, чтоprefer_rlibимеет значениеtrue, но при этом происходит динамическая компоновкаlibcиlibdl. - prefer_rlib : Изменяет способ компоновки
rustlibs, чтобы по умолчанию для целевых устройств выбиралась компоновкаrlib, а libstdlibstdкакrlibна целевых устройствах. Обратите внимание, что это поведение по умолчанию для хост-приложений и не влияет на них.
Связь
По умолчанию модули rust_binary , предназначенные для устройств, всегда динамически связываются с libstd и по умолчанию будут отдавать предпочтение библиотекам dylib для зависимостей, перечисленных в rustlibs если только prefer_rlib не имеет true . Если требуются полностью статические бинарные файлы, см. свойство static_executable .
Модули хоста всегда статически связаны с libstd и по умолчанию отдают предпочтение библиотекам rlib для зависимостей, перечисленных в rustlibs .