Скрипти збірки
Іноді звичайної збірки за допомогою cargo недостатньо. Можливо, ваш крейт потребує деяких передумов перед тим, як cargo успішно скомпілює його, наприклад генерації коду або якогось нативного коду, який потрібно скомпілювати. Щоб розв’язати цю проблему, ми маємо скрипти збірки, які Cargo може запускати.
Щоб додати скрипт збірки до вашого пакета, його можна вказати в Cargo.toml таким чином:
[package]
...
build = "build.rs"
Інакше Cargo за замовчуванням шукатиме файл build.rs у каталозі проєкту.
Як використовувати скрипт збірки
Скрипт збірки — це просто ще один файл Rust, який буде скомпільовано та викликано перед компіляцією будь-чого іншого в пакеті. Отже, його можна використовувати для виконання передумов вашого крейта.
Cargo надає скрипту вхідні дані через змінні середовища specified here, які можна використовувати.
Скрипт надає вихідні дані через stdout. Усі надруковані рядки записуються до target/debug/build/<pkg>/output. Крім того, рядки з префіксом cargo: будуть інтерпретовані Cargo безпосередньо і, отже, можуть використовуватися для визначення параметрів компіляції пакета.
Для подальшої специфікації та прикладів прочитайте Cargo specification.