This topic has missing or partial documentation. Please help us improve it.
TODO: расписать детали.
В качестве программы для сборки собственных файлов Rubinius стандартно использует Rake. Также в систему включено несколько внешних библиотек, компиляция которых управляется Makefile-ами.
Rubinius состоит из исполняемого бинарника и множества дополнительных файлов, таких как Основная и Стандартная библиотеки (core & standard libraries). Бинарник должен знать, где искать эти файлы даже тогда, когда он сам перемещен в произвольную локацию. Чтобы решить эту проблему, Rubinius различает два типа сборок: девелоперскую (development build) и инсталляционную (install build). Бинарник знает полный путь до своей базовой директории, относительно которой ожидает найти необходимые ему файлы.
Девелоперский бинарник хранит путь до директории исходника, в которой был
собран. После сборки бинарник можно унести в любую другую директорию, но
следует помнить, что по мере Вашей работы над файлами Основной библиотеки в
каталогах kernel/**
, бинарник будет продолжать пользоваться именно ими.
Инсталляционный бинарник знает путь к директории инсталляции. Так же как и в предыдущем случае, если бинарник перенести в новое место, он все равно найдет проинсталлированные файлы.
Данный подход, конечно, имеет некоторые последствия. Если скомпилирован девелоперский бинарник, а затем директория с исходниками была переименована, для продолжения работы бинарника придется его пересобрать. Точно так же, когда установлен инсталлируемый бинарник и переименована директория инсталляции, бинарник не станет работать, даже если будет помещен в нее непосредственно. Бинарник проверяет наличие единственного, жестко прошитого в нем пути. Если когда-нибудь по какой-то причине такой подход станет особенно неприемлемым, мы его пересмотрим.
Для инсталляции Rubinius нужно прежде всего сконфигурировать для него префикс инсталляции:
./configure --prefix=/path/to/install/dir
Программа configure
создаст файл config.rb
, в котором указаны ключевые
пути, используемые в Rubinius. После конфигурирования запустите rake install
для сборки и инсталляции. Эта процедура сформирует все нужные файлы, включая
Стандартную библиотеку в lib/
, а затем скопирует их в директорию инсталляции
при помощи программы install
. Задачи для install
прописаны в файле
rakelib/install.rake
.