Компилирование AROS из исходного кода
Содержание
Требования
Для сборки AROS потребуется следующее программное обеспечение:
- GCC 3.2.2+
- GNU Binutils
- GNU Make
- GNU AWK (GAWK) - другие разновидности AWK тоже могут подойти
- Python 2.2.1+
- Bison
- Flex
- pngtopnm и ppmtoilbm (часть пакета netpbm)
- Autoconf
- Automake
- Утилиты общего назначения cp, mv, sort, uniq, head, ...
Для компиляции под платформу i386-linux или i386-freebsd, также понадобится:
- заголовки и библиотеки X11 для разработки
Исходный код
Вы можете скачать исходный код AROS или со страницы Загрузка или используя SVN (для этого потребуется получить доступ к репозиторию). Для разработчика достаточно получить из репозитория пакет source, кроме того случая, когда вы также захотите скомпилировать сопутствующие программы. В последнем случае, смотрите документацию по работе с Subversion.
Сборка
Конфигурирование
В первую очередь запустите скрипт конфигурирования в корневой директории с исходными кодами AROS:
> cd AROS > ./configure
Вы можете задать некоторые опции для конфигурирования. Следующие опции доступны для всех целей:
- --enable-debug=LIST [default: none]
Включает различные типы отладки. Запятые или пробелы могут использоваться для разделения элементов в списке. Если список не предоставлен, то принимается значение all. Если опция --enable-debug вообще не задана, то по умолчанию принимается значение none. Доступные значения:
- none
- Отключает все типы отладки и отладку в целом.
- all
- Включает все нижеперечисленные типы отладки.
- stack
Включает отладку стека.
- mungwall
- Включает отслеживание памяти с помощью mungwall.
- modules
- Включает отладку модулей.
Hosted-версия AROS/i386-linux или AROS/i386-freebsd
Вам не надо задавать опцию --target для сборки этих версий. Для сборки hosted-версий доступны следующие опции:
- --with-resolution=WIDTHxHEIGHTxDEPTH [default: 800x600x8]
- Задает разрешение и глубину цвета, которые AROS будет использовать по умолчанию.
- --enable-xshm-extension [default: enabled]
- Включает использование расширения X11 MIT-SHM, что даёт значительное увеличение производительности, но при этом могут не очень хорошо работать удаленные видеотерминалы.
Вы не можете кросскомпилировать эти версии.
Native-версия AROS/i386-pc
Для сборки портированной версии для i386-pc вам надо задать при конфигурировании опцию --target=pc-i386. Дополнительно доступны следующие специфичные для i386-pc опции:
- --with-serial-debug=N [default: disabled]
- Включает вывод отладочной информации на последовательный порт N.
Вы не можете кросскомпилировать эту версию.
Компилирование
Для запуска процесса компиляции, просто выполните команду:
> make
Если команда не сработает даже после того, как вы обновили исходники из SVN-репозитория, то попробуйте следующее:
> make clean > rm -rf bin/ > ./configure {options} > make
Если вы используете FreeBSD или какую-нибудь другую операционную систему, не использующую GNU make в качестве системной команды make, то вам следует заменить её командой GNU make, для выполнения вышеописанных действий. Например, во FreeBSD после установки портированной версии GNU make, надо выполнять команду:
> gmake
Hosted-версия AROS/i386-linux или AROS/i386-freebsd
Если вы собираете из исходников hosted-версию i386-linux или i386-freebsd, то вам следует дополнительно также выполнить следующую команду для правильной настройки поддержки клавиатуры:
> make default-x11keymaptable
Native-версия AROS/i386-pc
Если вы собираете из исходников native-версию i386-pc, то после завершения компилирования в файл bin/pc-i386/gen/rom/boot/aros.bin будет помещён образ загрузочной дискеты. В добавок к этому вы можете создать загрузочный ISO-образ, выполнив команду:
> make bootiso-pc-i386
Созданный ISO-образ будет помещён в distfiles/aros-pc-i386.iso.
Приложение
Сборка нескольких целей из одного и того же исходного кода
Если вы намереваетесь скомпилировать несколько различных целей из одного и того же исходного кода, то в первую очередь вам надо произвести действия по настройке для каждой цели, которую вы компилируете. Вы можете добавить цели для компиляции в любое время, когда пожелаете. Последняя цель с заданными настройками является целью по умолчанию.
Для выбора определенной цели для сборки, просто выполните команду make, как показано ниже:
> AROS_TARGET_ARCH=$ARCH AROS_TARGET_CPU=$CPU make
Здесь $ARCH означает процессорную архитектуру, для которой будет производиться компилирование, а $CPU - тип процессора. Например, для сборки AROS/i386-pc вы должны запустить следующую команду:
> AROS_TARGET_ARCH=pc AROS_TARGET_CPU=i386 make
Если вы компилируете несколько целей под один тип процессора, то можете задать только параметр AROS_TARGET_ARCH, не изменяя тип процессора.
После того как вы один раз сделали make, полностью скомпилировали систему, а после этого с исходниками произошли некоторые изменения, которые вы хотите добавить к своей уже скомпилированной системе, то можно использовать быструю компиляцию изменений, используя команду make <имя-версии>-quick.
Как скомпилировать AROS
Этот пошаговое руководство описывает, как подготовить среду разработки и компилирования AROS в Ubuntu Linux 6.10 "Edgy Eft". Допустим, у вас уже есть ISO-образ компакт-диска с сайта Ubuntu и вы установили с него систему. Также вам следует настроить в ней подключение к Интернету.
Получение необходимых пакетов
Так как на Live CD отсутствуют необходимые пакеты, нам надо получить их из Интернета:
> sudo apt-get install subversion gcc-3.4 gawk bison flex netpbm autoconf automake1.4 libx11-dev
Вам потребуется ввести в командной строке пароль для вашего аккаунта в Ubuntu.
Установка ISO8859 в качестве кодировки
Нам потребуется установить кодировку для использования исходников AROS и их компиляция. Просто найдите строку и выберите en_US iso 8859-1 в списке, предоставляемом следующими командами:
> sudo apt-get install localeconf > sudo dpkg-reconfigure localeconf
Примечание: русские пользователи, возможно, могут использовать кодировку KOI-8R (но не UTF-8!).
После этого мы устанавливаем кодировку для командной строки:
> sudo locale-gen "en_US" > sudo dpkg-reconfigure locales > export LANG="en_US.ISO-8859-1"
Установка make 3.80
Для установки необходимой нам версии утилиты make, надо добавить дополнительные репозитории Ubuntu. Запустите терминал командной строки и откройте в текстовом редакторе (nano) список репозиториев командой:
> sudo nano /etc/apt/sources.list
Добавьте туда следующие строки:
deb http://us.archive.ubuntu.com/ubuntu breezy main restricted deb http://us.archive.ubuntu.com/ubuntu dapper main restricted
Сохраните внесённые изменения и выйдите из nano нажатием Ctrl+X.
Теперь получим список обновлённых программ:
> sudo apt-get update
Далее будем использовать менеджер пакетов Synaptic. Запустите его из меню:
System > Administration > Synaptic package manager
Или, в русифицированной версии:
Система > Администрирование > Менеджер пакетов Synaptic
После этого найдите в нем пакет make, выберите "make" в правом окне и, нажав ''package > force version..'', задайте версию "3.80 (breezy)".
Получение исходных кодов
Большое количество инструкций по работе с SVN-репозиторием можно найти на странице Работа с SVN
Вкратце, команды, которые вы должны использовать будут похожи на эти:
> svn checkout https://svn.aros.org/svn/aros/trunk/AROS > cd AROS > svn checkout https://svn.aros.org/svn/aros/trunk/contrib
Настройка и компилирование AROS из исходного кода
Во-первых, установите параметры и настройки:
> export CC="gcc-3.4" > ./configure
Вам может понадобиться перезапустить терминал командной строки, если возникнут проблемы с компилятором C.
В конце, введите:
> make
Это займёт какое-то время (до нескольких часов на медленных компьютерах). После этого у вас будет скомпилированная hosted-версия AROS. Не забудьте также, что вам может понадобиться соединение с Интернетом в процессе компилирования для скачивания последних версий исходников EUAE.