Sha256: e2ff47f757976e46d4bb1a9fb24059ad06de7d48ad1512fb06d658c732cd6f83
Contents?: true
Size: 1.12 KB
Versions: 6
Compression:
Stored size: 1.12 KB
Contents
namespace :extconf do extension = File.basename(__FILE__, '.rake') ext = "ext/#{extension}" ext_so = "#{ext}/#{extension}.#{Config::CONFIG['DLEXT']}" ext_files = FileList[ "#{ext}/*.c", "#{ext}/*.h", "#{ext}/*.rl", "#{ext}/extconf.rb", "#{ext}/Makefile", # "lib" ] task :compile => extension do if Dir.glob("**/#{extension}.{o,so,dll}").length == 0 STDERR.puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" STDERR.puts "Gem actually failed to build. Your system is" STDERR.puts "NOT configured properly to build #{GEM_NAME}." STDERR.puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" exit(1) end end desc "Builds just the #{extension} extension" task extension.to_sym => ["#{ext}/Makefile", ext_so ] file "#{ext}/Makefile" => ["#{ext}/extconf.rb"] do Dir.chdir(ext) do ruby "extconf.rb" end end file ext_so => ext_files do Dir.chdir(ext) do sh(PLATFORM =~ /win32/ ? 'nmake' : 'make') do |ok, res| if !ok require "fileutils" FileUtils.rm Dir.glob('*.{so,o,dll,bundle}') end end end end end
Version data entries
6 entries across 3 versions & 2 rubygems