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