<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,28 +1,26 @@
 require 'mkmf'
+require 'rbconfig'
 
 HERE = File.expand_path(File.dirname(__FILE__))
 BUNDLE = Dir.glob(&quot;libmemcached-*.tar.gz&quot;).first
 BUNDLE_PATH = BUNDLE.sub(&quot;.tar.gz&quot;, &quot;&quot;)
 
-DARWIN = `uname -sp` == &quot;Darwin i386\n&quot;
-
-# Is there a better way to do this?
-archflags = if ENV['ARCHFLAGS']
-  ENV['ARCHFLAGS']
-elsif Config::CONFIG['host_os'][0,8] == &quot;darwin10&quot;
-  &quot;-arch i386 -arch x86_64&quot;
-elsif Config::CONFIG['host_os'][0,6] == &quot;darwin&quot;
-  &quot;-arch i386 -arch ppc&quot;
+if ENV['DEBUG']
+  puts &quot;Setting debug flags.&quot;
+  $CFLAGS &lt;&lt; &quot; -O0 -ggdb -DHAVE_DEBUG&quot;
+  $EXTRA_CONF = &quot; --enable-debug&quot;
 end
 
+$CFLAGS = &quot;#{RbConfig::CONFIG['CFLAGS']} #{$CFLAGS}&quot;.split(&quot; &quot;).uniq.join(&quot; &quot;).gsub(&quot;$(cflags)&quot;, &quot;&quot;)
+$LDFLAGS = &quot;#{RbConfig::CONFIG['LDFLAGS']} #{$LDFLAGS}&quot;.split(&quot; &quot;).uniq.join(&quot; &quot;).gsub(&quot;$(ldflags)&quot;, &quot;&quot;)
+$CXXFLAGS = &quot; -std=gnu++98&quot;
+$CPPFLAGS = $ARCH_FLAG = $DLDFLAGS = &quot;&quot;
+
 if !ENV[&quot;EXTERNAL_LIB&quot;]
   $includes = &quot; -I#{HERE}/include&quot;
   $libraries = &quot; -L#{HERE}/lib&quot;
-
   $CFLAGS = &quot;#{$includes} #{$libraries} #{$CFLAGS}&quot;
   $LDFLAGS = &quot;#{$libraries} #{$LDFLAGS}&quot;
-  $CPPFLAGS = $ARCH_FLAG = $DLDFLAGS = &quot;&quot;
-
   $LIBPATH = [&quot;#{HERE}/lib&quot;]
   $DEFLIBPATH = []
 
@@ -38,38 +36,17 @@ if !ENV[&quot;EXTERNAL_LIB&quot;]
       puts(cmd = &quot;patch -p1 &lt; libmemcached.patch&quot;)
       raise &quot;'#{cmd}' failed&quot; unless system(cmd)
 
-      Dir.chdir(BUNDLE_PATH) do
-        
-        cxxflags = cflags = ldflags = &quot;-fPIC&quot;
-        extraconf = ''
-        
-        # again... is there a better way to do this?
-        if DARWIN
-          cflags = &quot;#{cflags} #{archflags}&quot;
-          cxxflags = &quot;-std=gnu++98 #{cflags}&quot;
-          ldflags = &quot;#{ldflags} #{archflags}&quot;
-          extraconf = '--enable-dtrace --disable-dependency-tracking'
-        end
-                
-        if ENV['DEBUG']
-          puts &quot;Setting debug flags for libmemcached.&quot;
-          cflags &lt;&lt; &quot; -O0 -ggdb -DHAVE_DEBUG&quot;
-          extraconf &lt;&lt; &quot; --enable-debug&quot;
-        else
-          cflags &lt;&lt; &quot; -Os&quot;
-        end
+      Dir.chdir(BUNDLE_PATH) do        
+        puts(cmd = &quot;env CFLAGS='-fPIC #{$CFLAGS}' LDFLAGS='-fPIC #{$LDFLAGS}' ./configure --prefix=#{HERE} --without-memcached --disable-shared --disable-utils #{$EXTRA_CONF} 2&gt;&amp;1&quot;)
         
-        puts(cmd = &quot;env CFLAGS='#{cflags}' LDFLAGS='#{ldflags}' ./configure --prefix=#{HERE} --without-memcached --disable-shared --disable-utils #{extraconf} 2&gt;&amp;1&quot;)
         raise &quot;'#{cmd}' failed&quot; unless system(cmd)
-        puts(cmd = &quot;make CXXFLAGS='#{cxxflags}' || true 2&gt;&amp;1&quot;)
+        puts(cmd = &quot;make CXXFLAGS=#{$CXXFLAGS} || true 2&gt;&amp;1&quot;)
         raise &quot;'#{cmd}' failed&quot; unless system(cmd)
         puts(cmd = &quot;make install || true 2&gt;&amp;1&quot;)
         raise &quot;'#{cmd}' failed&quot; unless system(cmd)
       end
 
-      unless ENV['DEBUG'] or ENV['DEV']
-        system(&quot;rm -rf #{BUNDLE_PATH}&quot;)
-      end
+      system(&quot;rm -rf #{BUNDLE_PATH}&quot;) unless ENV['DEBUG'] or ENV['DEV']
     end
   end
   
@@ -81,22 +58,6 @@ if !ENV[&quot;EXTERNAL_LIB&quot;]
   $LIBS &lt;&lt; &quot; -lmemcached_gem&quot;
 end
 
-$CFLAGS.gsub! /-O\d/, ''
-
-if ENV['DEBUG']
-  puts &quot;Setting debug flags for gem.&quot;
-  $CFLAGS &lt;&lt; &quot; -O0 -ggdb -DHAVE_DEBUG&quot;
-else
-  $CFLAGS &lt;&lt; &quot; -Os&quot;
-end
-
-if DARWIN
-  $CFLAGS.gsub! /-arch \S+/, ''
-  $CFLAGS &lt;&lt; &quot; #{archflags}&quot;
-  $LDFLAGS.gsub! /-arch \S+/, ''
-  $LDFLAGS &lt;&lt; &quot; #{archflags}&quot;
-end
-
 if ENV['SWIG']
   puts &quot;Running SWIG.&quot;
   puts(cmd = &quot;swig #{$includes} -ruby -autorename rlibmemcached.i&quot;)</diff>
      <filename>ext/extconf.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f80edb63210c3a84e640610fce1ce953296ca111</id>
    </parent>
  </parents>
  <author>
    <name>Evan Weaver</name>
    <email>eweaver@twitter.com</email>
  </author>
  <url>http://github.com/fauna/memcached/commit/215cbb9e4e611ac8650550918a313845ddb027e2</url>
  <id>215cbb9e4e611ac8650550918a313845ddb027e2</id>
  <committed-date>2009-10-29T03:09:38-07:00</committed-date>
  <authored-date>2009-10-29T03:09:38-07:00</authored-date>
  <message>Rely on Ruby's flags for the build script (Alexander Kellett).</message>
  <tree>f5c9875b6ebcae43083d465edcc0327d5a622f11</tree>
  <committer>
    <name>Evan Weaver</name>
    <email>eweaver@twitter.com</email>
  </committer>
</commit>
