http://www.aros.orgAROS-ExecAROS-Exec ArchivesPower2People
kitty mascottop logo menu

Компилирование 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.


Copyright © 1995-2017, The AROS Development Team. Все права защищены.
Amiga© является торговым знаком Amiga Inc. Все прочие торговые знаки принадлежат их собственникам.