Xwire build system (далее - система сборки) предоставляет основу для проектов, строящих, в основном, встраиваемые (embedded) системы для ЭВМ различных архитектур (x86, ARM, MIPS, PowerPC и других) из набора программ с открытыми исходными текстами.
Большая часть существующих проектов - системы с GNU/Linux и автономные (stand-alone) программы (ядра ОС, загрузчики).
Может быть “сборочной средой” (пункт 3.13), “открытой сборочной средой” (пункт 3.14), “изолированной сборочной средой” (пункт 3.15) в ГОСТ Р 54593-2011 [gost_spo].
[gost_spo] | (1, 2) ГОСТ Р 54593-2011. Информационные технологии. Свободное программное обеспечение. Общие положения. Москва, Стандартинформ, 2011. |
Проекты, использущие систему сборки, содержат набор пакетов, описывающих, где взять (скачать) архив с исходными текстами, как их собрать для целевой платформы и установить в образ целевой системы, а также зависимости от других пакетов.
Кросс-компилятор, другие инструменты и библиотека языка C тоже собираются из исходных текстов, как и любые другие обычные пакеты.
Проекты, использущие систему сборки, изолированы - независимы от других проектов и разделяют только двигатель системы сборки и необязательный набор общих пакетов.
Современное ПО, в том числе для встраиваемых систем, часто весьма сложно и состоит, по большей части, из компонент третьих лиц (компаний и отдельных авторов).
Создание целевой системы состоит, в основном, из интеграции этих компонент в рамках некоторого процесса производства ПО.
Задача систем сборки - осуществление этой интеграции систематическим путём, предоставляя удобства, прежде всего, разработчику ПО - интегратору компонент в целевую систему.
Buildroot, производный он него OpenWrt, OpenEmbedded.
Воспроизводимость получаемых образов.
Многоплатформенность. Один и тот же проект строит одни и те же исходные тексты для разных целевых платформ (при наличии описаний платформ в проекте).
Сборка разных вариантов конечных образов, управляемая параметрами сборки проекта.
Сборка может быть прервана на любом пакете на любой ступени сборки пакета и продолжена с этой точки.
Сборка происходит в отдельном от исходных текстов проекта и системы сборки, каталоге. В процесса сборки файлы ни проекта, ни системы сборки, не меняются.
В случае каких-то проблем, можно удалить корневой каталог сборки и начать сборку сначала.
Проекты и система сборки, за некоторыми небольшими исключениями, не содержат в себе исходных текстов, а только ссылки на их архивы в интернете.
Двухуровневая система хранения архивов исходных текстов, обеспечивающая:
Использование ccache для ускорения повторных сборок.
Xwire build system,
Copyright © 2003-2012,
Xwire Inc. <http://xwire.com>
IIPR, LLC <http://iipr.com>, <info@iipr.com>,
Postbox 19253, Seattle, WA 98109
Xwire build system Documentation,
Copyright © 2012, Dmitry Fedorov <dm.fedorov@gmail.com>