File: compile.rake

package info (click to toggle)
ruby-redcloth 4.2.9-2%2Bdeb7u2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 712 kB
  • sloc: ruby: 1,206; ansic: 201; makefile: 16
file content (47 lines) | stat: -rw-r--r-- 1,401 bytes parent folder | download | duplicates (2)
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