25 lines
800 B
Ruby
25 lines
800 B
Ruby
|
require 'mkmf'
|
||
|
|
||
|
# check out code if it hasn't been already
|
||
|
if Dir[File.expand_path('../vendor/http-parser/*', __FILE__)].empty?
|
||
|
Dir.chdir(File.expand_path('../../../', __FILE__)) do
|
||
|
xsystem 'git submodule init'
|
||
|
xsystem 'git submodule update'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# mongrel and http-parser both define http_parser_(init|execute), so we
|
||
|
# rename functions in http-parser before using them.
|
||
|
vendor_dir = File.expand_path('../vendor/http-parser/', __FILE__)
|
||
|
src_dir = File.expand_path('../', __FILE__)
|
||
|
%w[ http_parser.c http_parser.h ].each do |file|
|
||
|
File.open(File.join(src_dir, "ryah_#{file}"), 'w'){ |f|
|
||
|
f.write File.read(File.join(vendor_dir, file)).gsub('http_parser', 'ryah_http_parser')
|
||
|
}
|
||
|
end
|
||
|
|
||
|
$CFLAGS << " -I#{src_dir}"
|
||
|
|
||
|
dir_config("ruby_http_parser")
|
||
|
create_makefile("ruby_http_parser")
|