summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2014-05-05 23:33:38 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2014-05-05 23:33:38 -0700
commit4106b309867adc08936c6a901561aff3c8cd40ee (patch)
tree8570318e3c5485ecaabeea93518679692433a329
parentd2de4557234ddf3dd11e658109c0c224f25fe4e3 (diff)
downloadffi-yajl-4106b309867adc08936c6a901561aff3c8cd40ee.tar.gz
use the libyajl2 gem
-rw-r--r--Rakefile7
-rw-r--r--ext/ffi_yajl/ext/encoder/extconf.rb9
-rw-r--r--ext/ffi_yajl/ext/parser/extconf.rb9
-rw-r--r--lib/ffi_yajl/ffi.rb3
4 files changed, 10 insertions, 18 deletions
diff --git a/Rakefile b/Rakefile
index 6036f47..1af496d 100644
--- a/Rakefile
+++ b/Rakefile
@@ -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