1--- tool/mkconfig.rb.orig 2013-10-31 09:38:12.000000000 -0700 2+++ tool/mkconfig.rb 2013-10-31 09:44:27.000000000 -0700 3@@ -132,9 +132,15 @@ File.foreach "config.status" do |line| 4 val = "arch_flag || #{val}" if universal 5 when /^UNIVERSAL_ARCHNAMES$/ 6 universal, val = val, 'universal' if universal 7- when /^arch$/ 8+ when /^includedir$/ 9+ val = "(ENV['SDKROOT'] || (File.exists?(File.join(CONFIG['prefix'],'include')) ? '' : %x(xcode-select --print-path >/dev/null 2>&1 && xcrun --sdk macosx --show-sdk-path 2>/dev/null).chomp)) + #{val}" 10+ when /^(CXXFLAGS|LDFLAGS|CFLAGS|LDSHARED|LIBRUBY_LDSHARED)$/ 11 if universal 12- val.sub!(/universal/, %q[#{arch && universal[/(?:\A|\s)#{Regexp.quote(arch)}=(\S+)/, 1] || '\&'}]) 13+ # configure didn't strip -arch nor -m32/64 from CXXFLAGS 14+ # replace the first with ARCH_FLAG and delete the rest 15+ if val.sub!(/-(arch\s*\w+|m(32|64))/, '$(ARCH_FLAG)') 16+ val.gsub!(/\s*-(arch\s*\w+|m(32|64))/, '') 17+ end 18 end 19 end 20 v = " CONFIG[\"#{name}\"] #{eq} #{val}\n" 21@@ -178,7 +184,6 @@ print " TOPDIR = File.dirname(__FILE__) 22 print " DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), "'' unless defined? DESTDIR\n" 23 print <<'ARCH' if universal 24 arch_flag = ENV['ARCHFLAGS'] || ((e = ENV['RC_ARCHS']) && e.split.uniq.map {|a| "-arch #{a}"}.join(' ')) 25- arch = arch_flag && arch_flag[/\A\s*-arch\s+(\S+)\s*\z/, 1] 26 ARCH 27 print " universal = #{universal}\n" if universal 28 print " CONFIG = {}\n" 29@@ -267,6 +272,9 @@ print <<EOS 30 end 31 autoload :Config, "rbconfig/obsolete.rb" # compatibility for ruby-1.8.4 and older. 32 CROSS_COMPILING = nil unless defined? CROSS_COMPILING 33+RUBY_FRAMEWORK = true 34+RUBY_FRAMEWORK_VERSION = RbConfig::CONFIG['ruby_version'] 35+APPLE_GEM_HOME = File.join(RbConfig::CONFIG['libdir'], 'ruby/gems', RbConfig::CONFIG['ruby_version']) 36 EOS 37 38 $stdout = STDOUT 39