Тулчейн Rust на Redox собирается рецептами Cookbook, с кэшем и общей LLVM

26.02.2026

Сборка компилятора Rust на Redox переведена на штатные рецепты Cookbook. Это дало кэширование через sccache, линковку с разделяемыми библиотеками LLVM вместо статической, а также rustdoc и линкер rust-lld на самой Redox.

Зачем тулчейн ставится рецептами

Компилятор — большая программа, собирающаяся долго и требующая множества зависимостей. Обычно для таких сборок пишут отдельную процедуру. Но Redox строит систему рецептов, где каждая программа описывается единообразно: версия, зависимости, параметры, патчи.

Перевод тулчейна на рецепты означает, что он собирается тем же механизмом, что и всё остальное. Отсюда три следствия, каждое из которых важно само по себе.

Кэширование через sccache

sccache — кэш результатов компиляции, созданный для непрерывной сборки. Повторная сборка того же кода берёт результат из кэша вместо компиляции заново.

Для сборки самого компилятора это особенно заметно: зависимостей много, и повторные попытки неизбежны. С кэшем эксперимент «а заработает ли, если пересобрать» перестаёт занимать часы.

Общие библиотеки LLVM вместо статических

Компилятор линкуется либо сам с собой, либо с разделяемыми библиотеками. Первый вариант надёжнее, второй — быстрее собирается и меньше по размеру.

Для Redox это часть более широкого движения: компилятор должен работать на Redox, значит, сборка под Redox тоже должна быть по-настоящему своя. В коммите от 26 февраля библиотеки LLVM для Redox сделаны разделяемыми, а префикс сборки — собираемым на самой системе, с режимом самостоятельной сборки.

rustdoc и rust-lld

rustdoc — генератор документации крейтов. Он включён и для сборки под Linux, и под Redox. Это позволяет публиковать документацию крейта с самой Redox, а не только с внешней машины.

rust-lld — линкер на Rust, написанный внутри проекта Rust. На Redox он теперь используется как основной линкер, для чего потребовался обходной путь. Обычно собственный линкер линкует быстрее и потребляет меньше памяти, чем GNU ld.

Оригинал

Коммит Build prefix on Redox OS, add self hosted mode от 26 февраля 2026 года в репозитории redox-os/redox; начало перевода — Boostrap rust from cookbook от 11 февраля, обходной путь для rust-lld — 12-го, rustdoc — 24-го. Сводка «This Month in Redox — February 2026», раздел «Rust In Cookbook!»

Упоминаний: 1 · Просмотров: 5