about summary refs log tree commit homepage
path: root/Rakefile
diff options
context:
space:
mode:
authorevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-17 03:27:51 +0000
committerevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-17 03:27:51 +0000
commit3c411489d16076c2058b904b6b3d7a674643c754 (patch)
tree9b23a1d95ca50cf3fba0e8efa2c72242ad0098fe /Rakefile
parent85a3ee1b92d45ef2b4f4288bea156830c24b2702 (diff)
downloadunicorn-3c411489d16076c2058b904b6b3d7a674643c754.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@662 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile86
1 files changed, 44 insertions, 42 deletions
diff --git a/Rakefile b/Rakefile
index 16fbcc9..f758f3d 100644
--- a/Rakefile
+++ b/Rakefile
@@ -17,58 +17,60 @@ Echoe.new("mongrel") do |p|
   p.require_signed = true
 
   case RUBY_PLATFORM
-    when /mswin/
-      p.certificate_chain = ['~/gem_certificates/mongrel-public_cert.pem',
-        '~/gem_certificates/luislavena-mongrel-public_cert.pem']
-    else
-      p.certificate_chain = ['~/p/configuration/gem_certificates/mongrel/mongrel-public_cert.pem',
-        '~/p/configuration/gem_certificates/evan_weaver-mongrel-public_cert.pem']
-    end
+  when /mswin/
+    p.certificate_chain = ['~/gem_certificates/mongrel-public_cert.pem',
+      '~/gem_certificates/luislavena-mongrel-public_cert.pem']
+  else
+    p.certificate_chain = ['~/p/configuration/gem_certificates/mongrel/mongrel-public_cert.pem',
+      '~/p/configuration/gem_certificates/evan_weaver-mongrel-public_cert.pem']
   end
 
   p.eval = proc do  
     case RUBY_PLATFORM
-      when /mswin/
-        self.files += ['lib/http11.so']
-        extensions.clear
-        self.platform = Gem::Platform::WIN32
-      when /jruby/
-        self.files += ['lib/http11.jar']
-        extensions.clear
-        self.platform = 'jruby'        
-      else
-        add_dependency('daemons', '>= 1.0.3')
-        add_dependency('fastthread', '>= 1.0.1')
-      end
+    when /mswin/
+      extensions.clear
+      self.files += ['lib/http11.so']
+      self.platform = Gem::Platform::WIN32
+    when /jruby/
+      extensions.clear
+      self.files += ['lib/http11.jar']
+      self.platform = 'jruby'        
+    else
+      add_dependency('daemons', '>= 1.0.3')
+      add_dependency('fastthread', '>= 1.0.1')
+    end
   end
+  
 end
 
-case RUBY_PLATFORM
-  # A hack around RubyGems and Echoe for pre-compiled extensions.
-  when /mswin/
-    file "lib/http11.so" do
-      extension = "ext/http11/extconf.rb"
-      directory = File.dirname(extension)
-      Dir.chdir(directory) do
-        ruby File.basename(extension)
-        system(PLATFORM =~ /win32/ ? 'nmake' : 'make')
-      end
-      move_extensions
-    end
-    task :compile => ["lib/http11.so"]
-  when /jruby/
-    file "lib/http11.jar" do
-      directory = "jruby_ext/http11"
-      Dir.chdir(directory) { system "ant jar" }
-      move_extensions      
-    end      
-    task :compile => ["lib/http11.jar"]
-end
+#### A hack around RubyGems and Echoe for pre-compiled extensions.
 
-#### Helper
+extension = "ext/http11/extconf.rb"
+extension_dir = File.dirname(extension)
 
 def move_extensions
-  Dir["#{directory}/*.#{Config::CONFIG['DLEXT']}"].each { |file| cp file, "lib/" }
+  Dir["#{extension_dir}/*.#{Config::CONFIG['DLEXT']}"].each { |file| cp file, "lib/" }
+end
+
+case RUBY_PLATFORM
+when /mswin/
+  filename = "lib/http11.so"
+  file filename do
+    Dir.chdir(extension_dir) do
+      ruby File.basename(extension)
+      system(PLATFORM =~ /win32/ ? 'nmake' : 'make')
+    end
+    move_extensions
+  end
+  task :compile => [filename]
+
+when /jruby/
+  filename = "lib/http11.jar"
+  file filename do
+    Dir.chdir(extension_dir) { sh "ant jar" }
+    move_extensions      
+  end      
+  task :compile => [filename]
 end
 
 #### Project-wide install and uninstall tasks