<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -13,9 +13,5 @@ else
 end
 
 # put in a different location if on windows so we can have fat binaries
-parent_dir = &quot;hitimes&quot;
-if RUBY_PLATFORM =~ /(mswin|mingw)/i then
-  v = RUBY_VERSION.gsub(/\.\d$/,'')
-  parent_dir = File.join( parent_dir, v )
-end
-create_makefile(&quot;#{parent_dir}/hitimes_ext&quot;)
+subdir = RUBY_VERSION.gsub(/\.\d$/,'')
+create_makefile(&quot;hitimes/#{subdir}/hitimes_ext&quot;)</diff>
      <filename>ext/hitimes/extconf.rb</filename>
    </modified>
    <modified>
      <diff>@@ -49,9 +49,12 @@ Hitimes::GEM_SPEC = Gem::Specification.new do |spec|
   end 
 end
 
-Hitimes::GEM_SPEC_WIN = Hitimes::GEM_SPEC.clone
-Hitimes::GEM_SPEC_WIN.platform = ::Gem::Platform.new( &quot;i386-mswin32_60&quot; )
-Hitimes::GEM_SPEC_WIN.extensions = []
-#Hitimes::GEM_SPEC_WIN.files += 
+Hitimes::GEM_SPEC_MSWIN32 = Hitimes::GEM_SPEC.clone
+Hitimes::GEM_SPEC_MSWIN32.platform = ::Gem::Platform.new( &quot;i386-mswin32&quot; )
+Hitimes::GEM_SPEC_MSWIN32.extensions = []
 
-Hitimes::SPECS = [ Hitimes::GEM_SPEC, Hitimes::GEM_SPEC_WIN ]
+Hitimes::GEM_SPEC_MINGW32= Hitimes::GEM_SPEC.clone
+Hitimes::GEM_SPEC_MINGW32.platform = ::Gem::Platform.new( &quot;i386-mingw32&quot; )
+Hitimes::GEM_SPEC_MINGW32.extensions = []
+
+Hitimes::SPECS = [ Hitimes::GEM_SPEC, Hitimes::GEM_SPEC_MSWIN32, Hitimes::GEM_SPEC_MINGW32 ] </diff>
      <filename>gemspec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,12 +19,9 @@ end
 require 'hitimes/paths'
 require 'hitimes/version'
 
-# support for fat binaries on windows
-if RUBY_PLATFORM =~ /(mswin|mingw)/i
-  require &quot;hitimes/#{RUBY_VERSION.sub(/\.\d$/,'')}/hitimes_ext&quot;
-else
-  require 'hitimes/hitimes_ext'
-end
+# use a version subdirectory for extensions, initially to support windows, but
+# why make a special case.  It doesn't hurt anyone to have an extra subdir.
+require &quot;hitimes/#{RUBY_VERSION.sub(/\.\d$/,'')}/hitimes_ext&quot;
 require 'hitimes/stats'
 require 'hitimes/mutexed_stats'
 require 'hitimes/metric'</diff>
      <filename>lib/hitimes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 require File.expand_path( File.join( File.dirname( __FILE__ ), &quot;spec_helper.rb&quot; ) )
 
-require 'hitimes/hitimes_ext'
+require 'hitimes'
 
 describe Hitimes::Interval do
   it &quot;has a 0 duration when newly created&quot; do</diff>
      <filename>spec/interval_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 require File.expand_path( File.join( File.dirname( __FILE__ ), &quot;spec_helper.rb&quot; ) )
 
-require 'hitimes/hitimes_ext'
+require 'hitimes'
 require 'hitimes/mutexed_stats'
 
 describe Hitimes::MutexedStats do</diff>
      <filename>spec/mutex_stats_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,5 @@
 require 'rubygems'
 require 'spec'
 
-$: &lt;&lt; File.expand_path(File.join(File.dirname(__FILE__),&quot;..&quot;,&quot;ext&quot;))
 $: &lt;&lt; File.expand_path(File.join(File.dirname(__FILE__),&quot;..&quot;,&quot;lib&quot;))
 </diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,10 +21,14 @@ namespace :announce do
       mail.puts
       mail.puts info[:release_notes]
       mail.puts
-      mail.puts info[:urls]
+      mail.puts &quot;    #{info[:urls]}&quot;
       mail.puts 
+      mail.puts &quot;=== Installation&quot;
+      mail.puts
       mail.puts &quot;  gem install #{Hitimes::GEM_SPEC.name}&quot;
       mail.puts 
+      mail.puts &quot;=== Description&quot;
+      mail.puts
       mail.puts info[:description]
     end 
     puts &quot;Created the following as email.txt:&quot;</diff>
      <filename>tasks/announce.rake</filename>
    </modified>
    <modified>
      <diff>@@ -49,10 +49,13 @@ if pkg_config = Configuration.for_if_exist?(&quot;packaging&quot;) then
         cp &quot;ext/hitimes/hitimes_ext.so&quot;, &quot;lib/hitimes/#{s}/&quot;, :verbose =&gt; true
       end
 
-      Hitimes::GEM_SPEC_WIN.files += FileList[&quot;lib/hitimes/{1.8,1.9}/**.{dll,so}&quot;]
-      Gem::Builder.new( Hitimes::GEM_SPEC_WIN ).build 
-      mkdir &quot;pkg&quot; unless File.directory?( 'pkg' )
-      mv Dir[&quot;*.gem&quot;].first, &quot;pkg&quot;
+      Hitimes::SPECS.each do |spec|
+        next if spec.platform == &quot;ruby&quot;
+        spec.files += FileList[&quot;lib/hitimes/{1.8,1.9}/**.{dll,so}&quot;]
+        Gem::Builder.new( spec ).build
+        mkdir &quot;pkg&quot; unless File.directory?( 'pkg' )
+        mv Dir[&quot;*.gem&quot;].first, &quot;pkg&quot;
+      end
     end
 
     task :clobber do</diff>
      <filename>tasks/distribution.rake</filename>
    </modified>
    <modified>
      <diff>@@ -9,13 +9,19 @@ if ext_config = Configuration.for_if_exist?('extension') then
   namespace :ext do  
     desc &quot;Build the extension(s)&quot;
     task :build =&gt; :clean do
-      Hitimes::GEM_SPEC.extensions.each do |extension|
-        path = Pathname.new(extension)
+      ext_config.configs.each do |extension|
+        path  = Pathname.new(extension)
         parts = path.split
-        conf = parts.last
+        conf  = parts.last
         Dir.chdir(path.dirname) do |d| 
           ruby conf.to_s
           sh &quot;make&quot; 
+
+          # install into requireable location so specs will run
+          subdir = &quot;hitimes/#{RUBY_VERSION.sub(/\.\d$/,'')}&quot;
+          dest_dir = Hitimes::Paths.lib_path( subdir )
+          mkdir_p dest_dir, :verbose =&gt; true
+          cp &quot;hitimes_ext.#{Config::CONFIG['DLEXT']}&quot;, dest_dir, :verbose =&gt; true
         end
       end
     end 
@@ -34,6 +40,9 @@ if ext_config = Configuration.for_if_exist?('extension') then
         parts = path.split
         conf = parts.last
         Dir.chdir(path.dirname) do |d| 
+          if File.exist?( &quot;Makefile&quot; ) then
+            sh &quot;make clean distclean&quot;
+          end
           cp &quot;#{rbconfig}&quot;, &quot;rbconfig.rb&quot;
           sh &quot;#{ruby_exe} -I. extconf.rb&quot;
           sh &quot;make&quot;
@@ -61,6 +70,7 @@ if ext_config = Configuration.for_if_exist?('extension') then
           if File.exist?( &quot;Makefile&quot; ) then
             sh &quot;make clean&quot;
           end
+          rm_f &quot;rbconfig.rb&quot;
         end 
       end 
     end </diff>
      <filename>tasks/extension.rake</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>988e33b173c769bd454dcbc6d83257bc988c7e69</id>
    </parent>
  </parents>
  <author>
    <name>Jeremy Hinegardner</name>
    <email>jeremy@hinegardner.org</email>
  </author>
  <url>http://github.com/copiousfreetime/hitimes/commit/b32bad4ef5403f84b5ce309b693a7a24f515fa0a</url>
  <id>b32bad4ef5403f84b5ce309b693a7a24f515fa0a</id>
  <committed-date>2009-08-01T14:46:17-07:00</committed-date>
  <authored-date>2009-08-01T14:46:17-07:00</authored-date>
  <message>add in support for mingw32 gem</message>
  <tree>fd0e1842fd761f867204be909158035204830043</tree>
  <committer>
    <name>Jeremy Hinegardner</name>
    <email>jeremy@hinegardner.org</email>
  </committer>
</commit>
