В компиляторе PCC обеспечена возможность сборки FreeBSD

Компилятор PCC (Portable C Compiler), развиваемый с целью создания распространяемой под лицензий BSD альтернативы Си-компилятора из состава GCC, доведен до состояния при котором удалось произвести сборку FreeBSD-CURRENT на платформе amd64, без внесения каких-либо правок. Более того, по заявлению ключевого разработчика, состояние PCC достаточно стабильно и можно планировать скорый выпуск релиза PCC 1.0.

PCC распространяется в рамках лицензии BSD и нацелен на создание полноценного компилятора для языка Си, полностью совместимого со стандартом C99 и частично совместимого с GCC. PCC является в значительной степени переработанным вариантом компилятора Portable C Compiler, разработанного S. C. Johnson в конце 70-х годов прошлого века. Основным разработчиком проекта является Anders Magnusson из команды NetBSD. Размер архива последней сборки PCC занимает 1948 Кб, что в шесть раз больше, чем три года назад и в три раза больше, чем в прошлом году. Финансирование доведения PCC до первого стабильного релиза предоставляет проект BSD Fund. Кроме FreeBSD, прогресс сборки систем при помощи PCC также отмечается для ОС NetBSD и OpenBSD.

Энтузиастам желающих поэкспериментировать со сборкой FreeBSD при помощи PPC, следует установить свежие версии пакетов pcc и pcc-libs, после чего выполнить сборку:

     make CC=/usr/local/bin/pcc WITHOUT_GROFF=1 WITHOUT_CLANG=1 
          WITHOUT_TOOLCHAIN=1 WITHOUT_BOOT=1 WITHOUT_NS_CACHING=1

Сборка groff не производится в виду отсутствия поддержки C++ в pcc. При сборке без «WITHOUT_TOOLCHAIN» компиляция может пройти успешно, но есть вероятность проявления одной ошибки, которая еще остается неисправленной. Директива «WITHOUT_BOOT» указана, так как результирующий код загрузчика при сборке при помощи PCC оказывается немного больше допустимого размера (проблема легко исправима). «WITHOUT_NS_CACHING» используется, так как в коде присутствуют расширения, свойственные GNU C++.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.