Выпуск GNU Mes 0.21, инструментария для самодостаточной сборки дистрибутивов

Представлен выпуск инструментария GNU Mes 0.21, обеспечивающего процесс бутстрэппинга (bootstrap) для GCC. Инструментарий решает задачу верифицированной начальной сборки компилятора в дистрибутивах, разрывая цепочку цикличной пересборки (для сборки компилятора требуются исполняемые файлы уже собранного компилятора).

В GNU Mes предлагается самодостаточный (self-hosting) интерпретатор для языка Scheme, написанный на языке Си, и простейший компилятор для языка Си (MesCC), написанный на языке Scheme. Оба компонента взаимособираемы. Scheme-интерпретатор даёт возможность собрать Си-компилятор MesCC, который затем позволяет собрать урезанную версию компилятора TinyCC (tcc), возможностей которого уже достаточно для сборки GCC.

В новом выпуске появилась возможность частичного (Reduced Binary Seed) бутстрэппинга дистрибутива Guix с использованием командной оболочки Gash (Guile as Shell) вместо bash и Gash Core Utils вместо coreutils, grep, sed, gzip, make, awk и tar, используя только компоненты на языке Scheme. В новой версии также подготовлен пакет с Mes для Debian GNU/Linux.

В следующих выпусках ожидается появление поддержки бутстрэппинга для NixOS, возможность использования dietlibc и uClibc для бутстрэппинга GNU (bash, binutils, gcc, tar), поддержка архитектуры ARM, дистрибутива Debian и ядра GNU Hurd, возможность компиляции Mes.c с использованием M2-Planet.

Источник: http://www.opennet.ru/opennews/art.shtml?num=51940