summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-11-10 23:22:03 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-11-10 23:22:03 +0000
commit40c35f214799bb3e431cfa04a57aed2323be898d (patch)
tree7a9cb35894e7f1c46b6c09aefeb8f011381de62e
parentfa9a6a96e112313868f4b8623a7bdf2a5c7181d1 (diff)
* Makefile.in (OUTFLAG): keep trailing spaces. [ruby-dev:27666]
* mkconfig.rb: substitution refereces added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog10
-rw-r--r--Makefile.in3
-rw-r--r--mkconfig.rb37
3 files changed, 31 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 773224de0a..210a1b2518 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Nov 11 08:20:56 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in (OUTFLAG): keep trailing spaces. [ruby-dev:27666]
+
+ * mkconfig.rb: substitution refereces added.
+
Fri Nov 11 07:44:18 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* configure.in: undef HAVE_LINK on BeOS. (link(2) always returns
@@ -17,9 +23,9 @@ Tue Nov 8 15:32:27 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
Mon Nov 7 13:43:51 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/tk/stubs.c (_nativethread_consistency_check): use simpler
+ * ext/tk/stubs.c (_nativethread_consistency_check): use simpler
(low cost) way to check whether the Tcl interpreter was compiled
- with threads enabled of not.
+ with threads enabled of not.
* ext/tk/tcltklib.c: reduce warnings.
diff --git a/Makefile.in b/Makefile.in
index 9dde68840e..d03aa007ff 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -30,7 +30,8 @@ RDOCTARGET = @RDOCTARGET@
EXTOUT = @EXTOUT@
RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
-OUTFLAG = -o
+empty =
+OUTFLAG = @OUTFLAG@$(empty)
CFLAGS = @CFLAGS@ @XCFLAGS@ @ARCH_FLAG@
CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
diff --git a/mkconfig.rb b/mkconfig.rb
index b4897e6aaa..bce0021669 100644
--- a/mkconfig.rb
+++ b/mkconfig.rb
@@ -16,10 +16,10 @@ unless File.directory?(dir = File.dirname(rbconfig_rb))
end
version = RUBY_VERSION
-rbconfig_rb_tmp = rbconfig_rb + '.tmp'
-config = open(rbconfig_rb_tmp, "w")
-$orgout = $stdout.dup
-$stdout.reopen(config)
+def (config = "").write(arg)
+ concat(arg.to_s)
+end
+$stdout = config
fast = {'prefix'=>TRUE, 'ruby_install_name'=>TRUE, 'INSTALL'=>TRUE, 'EXEEXT'=>TRUE}
print %[
@@ -119,10 +119,13 @@ print <<EOS
val.gsub!(/\\$\\$|\\$\\(([^()]+)\\)|\\$\\{([^{}]+)\\}/) do |var|
if !(v = $1 || $2)
'$'
- elsif key = config[v]
+ elsif key = config[v = v[/\\A[^:]+(?=(?::(.*?)=(.*))?\\z)/]]
+ pat, sub = $1, $2
config[v] = false
Config::expand(key, config)
config[v] = key
+ key = key.gsub(/\#{Regexp.quote(pat)}(?=\\s|\\z)/n) {sub} if pat
+ key
else
var
end
@@ -135,17 +138,19 @@ print <<EOS
end
CROSS_COMPILING = nil unless defined? CROSS_COMPILING
EOS
-$stdout.flush
-$stdout.reopen($orgout)
-config.close
-if $timestamp and
- File.exist?(rbconfig_rb) and
- FileUtils.compare_file(rbconfig_rb, rbconfig_rb_tmp)
- puts "#{rbconfig_rb} unchanged"
- File.unlink(rbconfig_rb_tmp)
-else
- puts "#{rbconfig_rb} updated"
- File.rename(rbconfig_rb_tmp, rbconfig_rb)
+
+$stdout = STDOUT
+mode = IO::RDWR|IO::CREAT
+mode |= IO::BINARY if defined?(IO::BINARY)
+open(rbconfig_rb, mode) do |f|
+ if $timestamp and f.stat.size == config.size and f.read == config
+ puts "#{rbconfig_rb} unchanged"
+ else
+ puts "#{rbconfig_rb} updated"
+ f.rewind
+ f.truncate(0)
+ f.print(config)
+ end
end
if String === $timestamp
FileUtils.touch($timestamp)