diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2014-05-05 23:33:38 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2014-05-05 23:33:38 -0700 |
commit | 4106b309867adc08936c6a901561aff3c8cd40ee (patch) | |
tree | 8570318e3c5485ecaabeea93518679692433a329 | |
parent | d2de4557234ddf3dd11e658109c0c224f25fe4e3 (diff) | |
download | ffi-yajl-4106b309867adc08936c6a901561aff3c8cd40ee.tar.gz |
use the libyajl2 gem
-rw-r--r-- | Rakefile | 7 | ||||
-rw-r--r-- | ext/ffi_yajl/ext/encoder/extconf.rb | 9 | ||||
-rw-r--r-- | ext/ffi_yajl/ext/parser/extconf.rb | 9 | ||||
-rw-r--r-- | lib/ffi_yajl/ffi.rb | 3 |
4 files changed, 10 insertions, 18 deletions
@@ -57,13 +57,6 @@ end spec = Gem::Specification.load('ffi-yajl.gemspec') Rake::ExtensionTask.new do |ext| - ext.name = 'libyajl' - ext.lib_dir = 'lib' - ext.ext_dir = 'ext/libyajl2' - ext.gem_spec = spec -end - -Rake::ExtensionTask.new do |ext| ext.name = 'encoder' ext.lib_dir = 'lib/ffi_yajl/ext' ext.ext_dir = 'ext/ffi_yajl/ext/encoder' diff --git a/ext/ffi_yajl/ext/encoder/extconf.rb b/ext/ffi_yajl/ext/encoder/extconf.rb index 40f16ad..55add56 100644 --- a/ext/ffi_yajl/ext/encoder/extconf.rb +++ b/ext/ffi_yajl/ext/encoder/extconf.rb @@ -1,16 +1,15 @@ require 'mkmf' +require 'libyajl2' # 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'] -# search our gem root first to pick up libyajl2 that we vendored -gem_root = File.expand_path(File.join(File.dirname(__FILE__), "../../../..")) -$CFLAGS = "-I#{gem_root}/include -L#{gem_root}/lib #{$CFLAGS}" -$LDFLAGS = "-L#{gem_root}/lib #{$CFLAGS}" +# pick up the vendored libyajl2 out of the libyajl2 gem +$CFLAGS = "-I#{Libyajl2.include_path} -L#{Libyajl2.opt_path} #{$CFLAGS}" +$LDFLAGS = "-L#{Libyajl2.opt_path} #{$CFLAGS}" -puts gem_root puts $CFLAGS puts $LDFLAGS diff --git a/ext/ffi_yajl/ext/parser/extconf.rb b/ext/ffi_yajl/ext/parser/extconf.rb index e78e7a2..1720e27 100644 --- a/ext/ffi_yajl/ext/parser/extconf.rb +++ b/ext/ffi_yajl/ext/parser/extconf.rb @@ -1,16 +1,15 @@ require 'mkmf' +require 'libyajl2' # 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'] -# search our gem root first to pick up libyajl2 that we vendored -gem_root = File.expand_path(File.join(File.dirname(__FILE__), "../../../..")) -$CFLAGS = "-I#{gem_root}/include -L#{gem_root}/lib #{$CFLAGS}" -$LDFLAGS = "-L#{gem_root}/lib #{$CFLAGS}" +# pick up the vendored libyajl2 out of the libyajl2 gem +$CFLAGS = "-I#{Libyajl2.include_path} -L#{Libyajl2.opt_path} #{$CFLAGS}" +$LDFLAGS = "-L#{Libyajl2.opt_path} #{$CFLAGS}" -puts gem_root puts $CFLAGS puts $LDFLAGS diff --git a/lib/ffi_yajl/ffi.rb b/lib/ffi_yajl/ffi.rb index bc782e5..2b74330 100644 --- a/lib/ffi_yajl/ffi.rb +++ b/lib/ffi_yajl/ffi.rb @@ -1,12 +1,13 @@ require 'rubygems' +require 'libyajl2' require 'ffi' module FFI_Yajl extend ::FFI::Library libname = ::FFI.map_library_name("yajl") - libpath = File.expand_path(File.join(File.dirname(__FILE__), "..", libname)) + libpath = File.expand_path(File.join(Libyajl2.opt_path, libname)) if File.file?(libpath) # use our vendored version of libyajl2 if we find it installed |