Соберите файлы C в моем RubyGem

Я пытаюсь упаковать свое рубиновое приложение как RubyGem (используя Jeweller и Rake). У меня есть исходный код C, который мне нужно собрать на целевой машине, где должен быть установлен драгоценный камень, а затем поместить вывод в каталог bin драгоценного камня, чтобы мой рубиновый код мог его использовать.

Есть ли какой-нибудь хук, с помощью которого я могу выполнять команды во время установки драгоценного камня?

Фрагмент моего Rakefile выглядит так:

task :install do
  puts "Install"
  `touch /tmp/install`
end

task :build do
  puts "Build"
  `touch /tmp/build`
end

Когда я выполняю rake build, он выводит Build, а когда я выполняю rake install, выводится Build, за которым следует Install. Проблема возникает, когда я делаю gem install, тогда задача install не вызывается.


person arrac    schedule 15.12.2010    source источник


Ответы (1)


Вам нужны расширения gemspec:

http://docs.rubygems.org/read/chapter/20#extensions

По сути, вы можете запускать любой код ruby, который вам нравится, когда установлен гем.

person thomasfedb    schedule 15.12.2010
comment
Здорово! Но похоже, что ему нужен файл extconf.rb, что должно привести к Makefile в этом каталоге. - person arrac; 16.12.2010