<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -41,8 +41,8 @@ unless java
   require &quot;rake/extensiontask&quot;
 
   RET = Rake::ExtensionTask.new(&quot;nokogiri&quot;, HOE.spec) do |ext|
-    ext.lib_dir                         = &quot;lib/nokogiri&quot;
-    ext.gem_spec.required_ruby_version  = &quot;~&gt; #{RUBY_VERSION.sub(/\.\d+$/, '.0')}&quot;
+    ext.lib_dir = File.join(*['lib', 'nokogiri', ENV['FAT_DIR']].compact)
+
     ext.config_options &lt;&lt; ENV['EXTOPTS']
     cross_dir = File.join(File.dirname(__FILE__), 'tmp', 'cross')
     ext.cross_compile   = true
@@ -55,14 +55,31 @@ unless java
       &quot;--with-xslt-dir=#{File.join(cross_dir, 'libxslt')}&quot;
   end
 
-  task :muck_with_lib_dir do
-    RET.lib_dir += &quot;/#{RUBY_VERSION.sub(/\.\d$/, '')}&quot;
-    FileUtils.mkdir_p(RET.lib_dir)
-  end
-  if Rake::Task.task_defined?(:cross)
-    Rake::Task[:cross].prerequisites &lt;&lt; &quot;muck_with_lib_dir&quot;
+  ###
+  # To build the windows fat binary, do:
+  #
+  #   rake fat_binary native gem
+  #
+  # I keep my ruby in multiruby, so my command is like this:
+  #
+  #   RAKE19=~/.multiruby/install/1.9.1-p129/bin/rake \
+  #     rake fat_binary native gem
+  task 'fat_binary' do
+    rake19 = ENV['RAKE19'] || 'rake1.9'
+    system(&quot;rake clean cross compile RUBY_CC_VERSION=1.8.6 FAT_DIR=1.8&quot;)
+    system(&quot;#{rake19} clean cross compile RUBY_CC_VERSION=1.9.1 FAT_DIR=1.9&quot;)
+    File.open(&quot;lib/#{HOE.name}/#{HOE.name}.rb&quot;, 'wb') do |f|
+      f.write &lt;&lt;-eoruby
+require &quot;#{HOE.name}/\#{RUBY_VERSION.sub(/\.\d+$/, '')}/#{HOE.name}&quot;
+      eoruby
+    end
+    HOE.spec.extensions = []
+    HOE.spec.platform = 'i386-mingw32'
+    HOE.spec.files += Dir[&quot;lib/#{HOE.name}/#{HOE.name}.rb&quot;]
+    HOE.spec.files += Dir[&quot;lib/#{HOE.name}/1.{8,9}/*&quot;]
   end
-
+  CLOBBER.include(&quot;lib/nokogiri/nokogiri.rb&quot;)
+  CLOBBER.include(&quot;lib/nokogiri/1.{8,9}&quot;)
 end
 
 namespace :gem do
@@ -156,15 +173,6 @@ task :debug do
   ENV['CFLAGS'] += &quot; -DDEBUG&quot;
 end
 
-if Rake::Task.task_defined?(:cross)
-  task :add_dll_to_manifest do
-    HOE.spec.files += Dir['ext/nokogiri/**.{dll,so}']
-    HOE.spec.files += Dir['ext/nokogiri/{1.8,1.9}/**.{dll,so}']
-  end
-
-  Rake::Task[:cross].prerequisites &lt;&lt; :add_dll_to_manifest
-end
-
 # required_ruby_version
 
 # Only do this on unix, since we can't build on windows
@@ -193,11 +201,4 @@ namespace :install do
   end
 end
 
-namespace :libxml do
-  desc &quot;What version of LibXML are we building against?&quot;
-  task :version =&gt; :compile do
-    sh &quot;#{RUBY} -Ilib:ext -rnokogiri -e 'puts Nokogiri::LIBXML_VERSION'&quot;
-  end
-end
-
 # vim: syntax=Ruby</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -9,12 +9,7 @@ if ENV['NOKOGIRI_FFI'] || RUBY_PLATFORM =~ /java/
   require 'ffi'
   require 'nokogiri/ffi/libxml'
 else
-  if RUBY_PLATFORM =~/(mswin|mingw)/i
-    # Fat binary gems, you make the Rockin' world go round
-    require &quot;nokogiri/#{RUBY_VERSION.sub(/\.\d+$/, '')}/nokogiri&quot;
-  else
-    require 'nokogiri/nokogiri'
-  end
+  require 'nokogiri/nokogiri'
 end
 
 require 'nokogiri/version'</diff>
      <filename>lib/nokogiri.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>1e59ebe7e890467a996a51387740e6fd0bfb39f2</id>
    </parent>
  </parents>
  <author>
    <name>Aaron Patterson</name>
    <email>aaron.patterson@gmail.com</email>
  </author>
  <url>http://github.com/tenderlove/nokogiri/commit/2dd18529ebaace4e09a9d60ef5a3c25ad66d1784</url>
  <id>2dd18529ebaace4e09a9d60ef5a3c25ad66d1784</id>
  <committed-date>2009-05-24T17:03:51-07:00</committed-date>
  <authored-date>2009-05-24T17:03:51-07:00</authored-date>
  <message>making fat binaries easy with nokogiri</message>
  <tree>cea5b9d6a00e6e00c4d2efcdecdc8e5976e2165e</tree>
  <committer>
    <name>Aaron Patterson</name>
    <email>aaron.patterson@gmail.com</email>
  </committer>
</commit>
