From 30e90a335d15a0b7766ea0f0c981a523d5ba0be8 Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 10 Aug 2008 09:10:58 +0000 Subject: * tool/transcode-tblgen.rb: record checksum of transcode-tblgen.rb itself. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/transcode-tblgen.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tool/transcode-tblgen.rb') diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb index 4e7cbc516f..3459bd8bf1 100644 --- a/tool/transcode-tblgen.rb +++ b/tool/transcode-tblgen.rb @@ -565,7 +565,11 @@ dir = File.dirname(arg) $:.unshift dir unless $:.include? dir src = File.read(arg) src.force_encoding("ascii-8bit") if src.respond_to? :force_encoding +this_script = File.read(__FILE__) +this_script.force_encoding("ascii-8bit") if this_script.respond_to? :force_encoding + base_signature = "/* autogenerated. */\n" +base_signature << "/* #{make_signature(File.basename(__FILE__), this_script)} */\n" base_signature << "/* #{make_signature(File.basename(arg), src)} */\n" if !force_mode && output_filename && File.readable?(output_filename) @@ -574,14 +578,14 @@ if !force_mode && output_filename && File.readable?(output_filename) old_signature.each_line {|line| if %r{/\* src="([0-9a-z_.-]+)",} =~ line name = $1 - next if name == File.basename(arg) + next if name == File.basename(arg) || name == File.basename(__FILE__) path = File.join(dir, name) if File.readable? path chk_signature << "/* #{make_signature(name, File.read(path))} */\n" end end } - if old_signature == chk_signature && File.mtime(__FILE__) < File.mtime(output_filename) + if old_signature == chk_signature now = Time.now File.utime(now, now, output_filename) STDERR.puts "already up-to-date: #{output_filename}" if VERBOSE_MODE -- cgit v1.2.3