diff options
-rw-r--r-- | ext/libyajl2/extconf.rb | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/ext/libyajl2/extconf.rb b/ext/libyajl2/extconf.rb index e1a2a5b..5119aa3 100644 --- a/ext/libyajl2/extconf.rb +++ b/ext/libyajl2/extconf.rb @@ -1,38 +1,42 @@ #!/usr/bin/env ruby -require 'mkmf' -require 'rbconfig' +if !defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx' -## the customer is always right, ruby is always compiled to be stupid -$CFLAGS = ENV['CFLAGS'] if ENV['CFLAGS'] -$LDFLAGS = ENV['LDFLAGS'] if ENV['LDFLAGS'] -RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC'] + require 'mkmf' + require 'rbconfig' -## except if you're doing an unoptimized gcc install we're going to help you out a bit -#if RbConfig::MAKEFILE_CONFIG['CC'] =~ /gcc|clang/ -# $CFLAGS << " -O3" unless $CFLAGS[/-O\d/] -#end + ## the customer is always right, ruby is always compiled to be stupid + $CFLAGS = ENV['CFLAGS'] if ENV['CFLAGS'] + $LDFLAGS = ENV['LDFLAGS'] if ENV['LDFLAGS'] + RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC'] -pkg_config('yajl') + ## except if you're doing an unoptimized gcc install we're going to help you out a bit + #if RbConfig::MAKEFILE_CONFIG['CC'] =~ /gcc|clang/ + # $CFLAGS << " -O3" unless $CFLAGS[/-O\d/] + #end -# yajl_tree.h is only in >= 2.0 -have_header("yajl/yajl_tree.h") || find_header("yajl/yajl_tree.h", "/usr/local/include") + pkg_config('yajl') -# yajl_complete_parse is only in >= 2.0 -libyajl2_ok = have_library("yajl", "yajl_complete_parse", [ "yajl/yajl_parse.h" ]) + # yajl_tree.h is only in >= 2.0 + have_header("yajl/yajl_tree.h") || find_header("yajl/yajl_tree.h", "/usr/local/include") -prefix=File.expand_path(File.join(File.dirname(__FILE__), "..", "..")) + # yajl_complete_parse is only in >= 2.0 + libyajl2_ok = have_library("yajl", "yajl_complete_parse", [ "yajl/yajl_parse.h" ]) -unless libyajl2_ok - system "wget -O yajl-2.0.1.tar.gz http://github.com/lloyd/yajl/tarball/2.0.1" - system "tar xvf yajl-2.0.1.tar.gz" - Dir.chdir "lloyd-yajl-f4b2b1a" - system "./configure --prefix=#{prefix} > /tmp/libyajl.out" - system "make install >> /tmp/libyajl.out" - Dir.chdir ".." -end + prefix=File.expand_path(File.join(File.dirname(__FILE__), "..", "..")) + + unless libyajl2_ok + system "wget -O yajl-2.0.1.tar.gz http://github.com/lloyd/yajl/tarball/2.0.1" + system "tar xvf yajl-2.0.1.tar.gz" + Dir.chdir "lloyd-yajl-f4b2b1a" + system "./configure --prefix=#{prefix} > /tmp/libyajl.out" + system "make install >> /tmp/libyajl.out" + Dir.chdir ".." + end -create_makefile("dummy") + create_makefile("dummy") + +end File.open("Makefile", "w") do |mf| mf.puts "# Dummy makefile for non-mri rubies" |