Бинарные файлы 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. Полностью статические исполняемые файлы могут быть созданы только для бионических целей. Для не бионических целей это означает только то, чтоprefer_rlibустановлено значениеtrue, но он по-прежнему динамически связываетlibcиlibdl. - Prefer_rlib : изменяет
rustlibs, чтобы выбратьrlibпо умолчанию для целевых устройств, и связываетlibstdкакrlibдля целевых устройств. Обратите внимание, что это поведение по умолчанию для целей хоста, и поэтому оно не влияет на них.
Связь
По умолчанию модули rust_binary , предназначенные для устройств, всегда динамически компонуются с libstd и по умолчанию будут предпочитать библиотеки dylib для зависимостей, перечисленных в rustlibs если только для prefer_rlib preference_rlib не установлено значение true . Если требуются полностью статические двоичные файлы, см. свойство static_executable .
Хост-модули всегда статически связаны с libstd и по умолчанию предпочитают библиотеки rlib для зависимостей, перечисленных в rustlibs .