1.2.3

## Система сборки

This topic has missing or partial documentation. Please help us improve it.

See How-To - Write Documentation

TODO: расписать детали.

В качестве программы для сборки собственных файлов Rubinius стандартно использует Rake. Также в систему включено несколько внешних библиотек, компиляция которых управляется Makefile-ами.

## Сборки девелоперские и инсталляционные

Rubinius состоит из исполняемого бинарника и множества дополнительных файлов, таких как Основная и Стандартная библиотеки (core & standard libraries). Бинарник должен знать, где искать эти файлы даже тогда, когда он сам перемещен в произвольную локацию. Чтобы решить эту проблему, Rubinius различает два типа сборок: девелоперскую (development build) и инсталляционную (install build). Бинарник знает полный путь до своей базовой директории, относительно которой ожидает найти необходимые ему файлы.

Девелоперский бинарник хранит путь до директории исходника, в которой был собран. После сборки бинарник можно унести в любую другую директорию, но следует помнить, что по мере Вашей работы над файлами Основной библиотеки в каталогах `kernel/**`, бинарник будет продолжать пользоваться именно ими.

Инсталляционный бинарник знает путь к директории инсталляции. Так же как и в предыдущем случае, если бинарник перенести в новое место, он все равно найдет проинсталлированные файлы.

Данный подход, конечно, имеет некоторые последствия. Если скомпилирован девелоперский бинарник, а затем директория с исходниками была переименована, для продолжения работы бинарника придется его пересобрать. Точно так же, когда установлен инсталлируемый бинарник и переименована директория инсталляции, бинарник не станет работать, даже если будет помещен в нее непосредственно. Бинарник проверяет наличие единственного, жестко прошитого в нем пути. Если когда-нибудь по какой-то причине такой подход станет особенно неприемлемым, мы его пересмотрим.

## Инсталляция Rubinius

Для инсталляции Rubinius нужно прежде всего сконфигурировать для него префикс инсталляции:

    ./configure --prefix=/path/to/install/dir

Программа `configure` создаст файл `config.rb`, в котором указаны ключевые пути, используемые в Rubinius. После конфигурирования запустите `rake install` для сборки и инсталляции. Эта процедура сформирует все нужные файлы, включая Стандартную библиотеку в `lib/`, а затем скопирует их в директорию инсталляции при помощи программы `install`. Задачи для `install` прописаны в файле `rakelib/install.rake`.