summaryrefslogtreecommitdiff
path: root/ext/ripper/extconf.rb
blob: f1716b84c01cadb213bdbb90de3107f95eb56f25 (plain)
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
#!ruby -s

require 'mkmf'
require 'rbconfig'

def main
  unless have_command('bison')
    $stderr.puts 'Ripper requires bison; abort'
    exit 1
  end
  $objs = %w(ripper.o)
  $cleanfiles.concat %w(ripper.y ripper.c ripper.E ripper.output eventids1.c ids1 ids2)
  $CPPFLAGS += ' -DRIPPER'
  $CPPFLAGS += ' -DRIPPER_DEBUG' if $debug
  create_makefile 'ripper'
end

def have_command(cmd)
  checking_for(cmd) {
    ENV['PATH'].split(File::PATH_SEPARATOR).any? {|path|
      File.executable?("#{path}/#{cmd}#{Config::CONFIG['EXEEXT']}")
    }
  }
end

main