class Setup::Compiler
Public Instance Methods
clean()
click to toggle source
# File lib/setup/compiler.rb, line 36 def clean extdirs.each do |dir| Dir.chdir(dir) do make('clean') end end end
compile()
click to toggle source
# File lib/setup/compiler.rb, line 27 def compile extdirs.each do |dir| Dir.chdir(dir) do make end end end
compiles?()
click to toggle source
# File lib/setup/compiler.rb, line 9 def compiles? !extdirs.empty? #extdirs.any?{ |dir| File.exist?(File.join(dir, 'extconf.rb')) } end
configure()
click to toggle source
# File lib/setup/compiler.rb, line 15 def configure extdirs.each do |dir| Dir.chdir(dir) do if File.exist?('extconf.rb') && !FileUtils.uptodate?('Makefile', ['extconf.rb']) #load("extconf.rb", true) ruby("extconf.rb") end end end end
distclean()
click to toggle source
# File lib/setup/compiler.rb, line 45 def distclean extdirs.each do |dir| Dir.chdir(dir) do make('distclean') end end end
extdirs()
click to toggle source
TODO: get from project
# File lib/setup/compiler.rb, line 54 def extdirs Dir['ext/**/*/{MANIFEST,extconf.rb}'].map do |f| File.dirname(f) end.uniq end
make(task=nil)
click to toggle source
# File lib/setup/compiler.rb, line 61 def make(task=nil) return unless File.exist?('Makefile') bash(*[config.makeprog, task].compact) end