http: compile with -fPIC
[unicorn.git] / Rakefile
blobd06f78090b5e65183b8335d97c0fccf60265a609
1 # -*- encoding: binary -*-
3 require 'rubygems'
4 require 'echoe'
6 Echoe.new("unicorn") do |p|
7   p.summary = "Rack HTTP server for Unix, fast clients and nothing else"
8   p.author = "Eric Wong"
9   p.email = "normalperson@yhbt.net"
10   p.clean_pattern = ['ext/unicorn_http/*.{bundle,so,o,obj,pdb,lib,def,exp}',
11                      'lib/*.{bundle,so,o,obj,pdb,lib,def,exp}',
12                      'ext/unicorn_http/Makefile',
13                      'pkg', 'lib/*.bundle', '*.gem',
14                      'site/output', '.config', 'coverage',
15                      'test_*.log', 'log', 'doc']
16   p.url = "http://unicorn.bogomips.org/"
17   p.ignore_pattern = /^(pkg|site|projects|doc|log)|CVS|\.log/
18   p.need_tar_gz = false
19   p.need_tgz = true
20   p.dependencies = [ 'rack' ]
22   p.extension_pattern = ["ext/**/extconf.rb"]
24   # Eric hasn't bothered to figure out running exec tests properly
25   # from Rake, but Eric prefers GNU make to Rake for tests anyways...
26   p.test_pattern = [ 'test/unit/test*.rb' ]
27 end
29 #### Ragel builder
31 desc "Rebuild the Ragel sources"
32 task :ragel do
33   Dir.chdir "ext/unicorn_http" do
34     target = "unicorn_http.c"
35     File.unlink target if File.exist? target
36     sh "ragel unicorn_http.rl -C -G2 -o #{target}"
37     raise "Failed to build C source" unless File.exist? target
38   end
39 end