Skip to content

Commit

Permalink
fixing up rakefile to build extensions etc
Browse files Browse the repository at this point in the history
  • Loading branch information
tenderlove committed Nov 29, 2008
1 parent 563e239 commit de132f1
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 2 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
*.swp
*.o
lib/racc/parser-text.rb
Makefile
40 changes: 40 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,44 @@ require 'rake'
require 'rake/gempackagetask'
require 'rake/rdoctask'
require 'rake/testtask'
require 'rake/clean'

kind = Config::CONFIG['DLEXT']

EXT = "ext/racc/cparse/cparse.#{kind}"

[
EXT,
'lib/racc/parser-text.rb'
].each { |f| CLEAN << f }

file 'lib/racc/parser.rb'

file 'lib/racc/parser-text.rb' => ['lib/racc/parser.rb'] do |t|
File.open(t.name, 'wb') { |file|
file.write(<<-eorb)
module Racc
PARSER_TEXT = <<'__end_of_file__'
#{File.read(t.prerequisites.first)}
__end_of_file__
end
eorb
}
end

task 'ext/racc/cparse/Makefile' do
Dir.chdir('ext/racc/cparse') do
ruby "extconf.rb"
end
end

task EXT => 'ext/racc/cparse/Makefile' do
Dir.chdir('ext/racc/cparse') do
sh 'make'
end
end

task :build => ['lib/racc/parser-text.rb', EXT]

Rake::TestTask.new do |t|
%w[ ext lib ].each do |dir|
Expand All @@ -12,4 +50,6 @@ Rake::TestTask.new do |t|
t.verbose = true
end

Rake::Task[:test].prerequisites << :build

task :default => :test
5 changes: 3 additions & 2 deletions test/helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,9 @@ def racc arg

def ruby arg
Dir.chdir(TEST_DIR) do
result = system("env ruby -I #{INC} #{arg} 2>>/tmp/out")
result ? assert(result) : raise
cmd = "#{ENV['_']} -I #{INC} #{arg} 2>>/tmp/out"
result = system(cmd)
result ? assert(result) : raise(cmd)
end
end
end
Expand Down

0 comments on commit de132f1

Please sign in to comment.