[macruby-changes] [275] MacRuby/trunk/Rakefile
source_changes at macosforge.org
source_changes at macosforge.org
Wed Jun 11 15:22:38 PDT 2008
Revision: 275
http://trac.macosforge.org/projects/ruby/changeset/275
Author: lsansonetti at apple.com
Date: 2008-06-11 15:22:38 -0700 (Wed, 11 Jun 2008)
Log Message:
-----------
build fixes
Modified Paths:
--------------
MacRuby/trunk/Rakefile
Modified: MacRuby/trunk/Rakefile
===================================================================
--- MacRuby/trunk/Rakefile 2008-06-11 21:05:47 UTC (rev 274)
+++ MacRuby/trunk/Rakefile 2008-06-11 22:22:38 UTC (rev 275)
@@ -65,8 +65,9 @@
@header_paths = {}
end
- def build
- OBJS.each do |obj|
+ def build(objs=nil)
+ objs ||= @objs
+ objs.each do |obj|
if should_build?(obj)
s = obj_source(obj)
flags = File.extname(s) == '.m' ? @objc_cflags : @cflags
@@ -222,6 +223,25 @@
if !File.exist?('prelude.c')
FileUtils.touch('prelude.c') # create empty file nevertheless
end
+ if !File.exist?('parse.c') or File.mtime('parse.y') > File.mtime('parse.c')
+ exec_line("/usr/bin/bison -o y.tab.c parse.y")
+ exec_line("/usr/bin/sed -f ./tool/ytab.sed -e \"/^#/s!y\.tab\.c!parse.c!\" y.tab.c > parse.c.new")
+ if !File.exist?('parse.c') or File.read('parse.c.new') != File.read('parse.c')
+ FileUtils.mv('parse.c.new', 'parse.c')
+ else
+ FileUtils.rm('parse.c.new')
+ end
+ end
+ if !File.exist?('lex.c') or File.read('lex.c') != File.read('lex.c.blt')
+ FileUtils.cp('lex.c.blt', 'lex.c')
+ end
+ inc_to_gen = %w{opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc vmtc.inc vm.inc}.select { |inc| !File.exist?(inc) or File.mtime("template/#{inc}.tmpl") > File.mtime(inc) }
+ unless inc_to_gen.empty?
+ exec_line("/usr/bin/ruby -Ks tool/insns2vm.rb #{inc_to_gen.join(' ')}")
+ end
+ if !File.exist?('node_name.inc') or File.mtime('include/ruby/node.h') > File.mtime('node_name.inc')
+ exec_line("/usr/bin/ruby -n tool/node_name.rb include/ruby/node.h > node_name.inc")
+ end
$builder.build
end
@@ -422,7 +442,7 @@
RUBY_FRAMEWORK = true
RUBY_FRAMEWORK_VERSION = RbConfig::CONFIG['ruby_version']
EOS
- if File.read('rbconfig.rb') != rbconfig
+ if !File.exist?('rbconfig.rb') or File.read('rbconfig.rb') != rbconfig
File.open('rbconfig.rb', 'w') { |io| io.print rbconfig }
end
end
@@ -431,6 +451,7 @@
exec_line("./miniruby -I. -I./lib -rrbconfig tool/compile_prelude.rb prelude.rb gem_prelude.rb prelude.c.new")
if !File.exist?('prelude.c') or File.read('prelude.c') != File.read('prelude.c.new')
FileUtils.mv('prelude.c.new', 'prelude.c')
+ $builder.build(['prelude'])
else
FileUtils.rm('prelude.c.new')
end
@@ -470,7 +491,7 @@
task :clean_local do
$builder.clean
- FileUtils.rm_f(INSTALLED_LIST)
+ ['parse.c', 'lex.c', INSTALLED_LIST].each { |x| FileUtils.rm_f(x) }
end
task :clean_ext do
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080611/f71e8f36/attachment.htm
More information about the macruby-changes
mailing list