1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
CLEAN.include [
'tmp',
'**/*.{o,obj,class,pdb,lib,def,exp,log,rbc}',
'ext/redcloth_scan/**/redcloth_*.rb',
'ext/redcloth_scan/Makefile', 'ext/redcloth_scan/extconf.rb',
]
CLOBBER.include [
'pkg',
'**/*.{c,java}',
'lib/**/*.{bundle,so,o,obj,pdb,lib,def,exp,jar}',
'lib/redcloth_scan.rb',
]
# Load the Gem specification for the current platform (Ruby or JRuby).
def gemspec(platform = RUBY_PLATFORM[/java/] || 'ruby')
Gem::Specification.load(File.expand_path('../../redcloth.gemspec', __FILE__))
end
require 'rake/extensiontask'
require 'rake/javaextensiontask'
require File.dirname(__FILE__) + '/ragel_extension_task'
if defined?(JRUBY_VERSION)
Rake::JavaRagelExtensionTask.new('redcloth_scan', gemspec)
else
extconf = "ext/redcloth_scan/extconf.rb"
file extconf do
FileUtils.mkdir(File.dirname(extconf)) unless File.directory?(File.dirname(extconf))
File.open(extconf, "w") do |io|
io.write(<<-EOF)
require 'mkmf'
CONFIG['warnflags'].gsub!(/-Wshorten-64-to-32/, '') if CONFIG['warnflags']
$CFLAGS << ' -O0 -Wall ' if CONFIG['CC'] =~ /gcc/
dir_config("redcloth_scan")
have_library("c", "main")
create_makefile("redcloth_scan")
EOF
end
end
Rake::RagelExtensionTask.new("redcloth_scan", gemspec) do |ext|
if ENV['RUBY_CC_VERSION']
ext.cross_compile = true
ext.cross_platform = ['i386-mingw32', 'i386-mswin32-60']
end
end
end
|