[前][次][番号順一覧][スレッド一覧]

ruby-changes:18205

From: nobu <ko1@a...>
Date: Thu, 16 Dec 2010 21:58:02 +0900 (JST)
Subject: [ruby-changes:18205] Ruby:r30226 (trunk): * tool/mkconfig.rb (RbConfig): honor ARCHFLAGS and RC_ARCHS to

nobu	2010-12-16 21:46:44 +0900 (Thu, 16 Dec 2010)

  New Revision: 30226

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=30226

  Log:
    * tool/mkconfig.rb (RbConfig): honor ARCHFLAGS and RC_ARCHS to
      override embedded ARCH_FLAG value on universal-darwin.

  Modified files:
    trunk/ChangeLog
    trunk/tool/mkconfig.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 30225)
+++ ChangeLog	(revision 30226)
@@ -1,3 +1,8 @@
+Thu Dec 16 21:46:39 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* tool/mkconfig.rb (RbConfig): honor ARCHFLAGS and RC_ARCHS to
+	  override embedded ARCH_FLAG value on universal-darwin.
+
 Thu Dec 16 19:50:12 2010  NAKAMURA Usaku  <usa@r...>
 
 	* win32/{configure.bat,setup.mak,Makefile.sub} (PROGRAM_PREFIX,
Index: tool/mkconfig.rb
===================================================================
--- tool/mkconfig.rb	(revision 30225)
+++ tool/mkconfig.rb	(revision 30226)
@@ -36,6 +36,7 @@
 
 arch = RUBY_PLATFORM
 win32 = /mswin/ =~ arch
+universal = /universal.*darwin/ =~ arch
 v_fast = []
 v_others = []
 vars = {}
@@ -115,8 +116,17 @@
       val.gsub!(/--with-out-ext/, "--without-ext")
     end
     val = val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump
-    if /^prefix$/ =~ name
+    case name
+    when /^prefix$/
       val = "(TOPDIR || DESTDIR + #{val})"
+    when /^ARCH_FLAG$/
+      val = "arch_flag || #{val}" if universal
+    when /^UNIVERSAL_ARCHNAMES$/
+      universal, val = val, 'universal' if universal
+    when /^arch$/
+      if universal
+        val.sub!(/universal/, %q[#{arch && universal[/(?:\A|\s)#{Regexp.quote(arch)}=(\S+)/, 1] || '\&'}])
+      end
     end
     v = "  CONFIG[\"#{name}\"] #{win32 && vars[name] ? '<< "\n"' : '='} #{val}\n"
     vars[name] = true
@@ -138,6 +148,11 @@
 prefix = "/lib/ruby/#{version}/#{arch}"
 print "  TOPDIR = File.dirname(__FILE__).chomp!(#{prefix.dump})\n"
 print "  DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), "'' unless defined? DESTDIR\n"
+print <<'ARCH' if universal
+  arch_flag = ENV['ARCHFLAGS'] || ((e = ENV['RC_ARCHS']) && e.split.uniq.map {|a| "-arch #{a}"}.join(' '))
+  arch = arch_flag && arch_flag[/\A\s*-arch\s+(\S+)\s*\z/, 1]
+ARCH
+print "  universal = #{universal}\n"
 print "  CONFIG = {}\n"
 print "  CONFIG[\"DESTDIR\"] = DESTDIR\n"
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]