summaryrefslogtreecommitdiff
path: root/ext/ripper/extconf.rb
blob: 536e23d3ad0f28b342d3cba8216116204aab9b33 (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
#!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.output ids1 ids2)
  $CPPFLAGS += ' -DRIPPER'
  $CPPFLAGS += ' -DRIPPER_DEBUG' if $debug
  create_makefile 'ripper'
end

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

main