diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2013-11-15 20:19:32 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2013-11-15 20:19:32 -0800 |
commit | 778c8fa643fbae9b8ec7167fea0a35fa0b5c1c08 (patch) | |
tree | 6908ae107e8d21985e6daa68efe47aef3c86a42f /lib/ffi_yajl.rb | |
parent | a4a3738f31c721291dea32837578bfdb806d5bbc (diff) | |
download | ffi-yajl-778c8fa643fbae9b8ec7167fea0a35fa0b5c1c08.tar.gz |
use vendered libyajl2 if we find it installed
- extconf.rb must be smart enough to figure out if the system
libyajl2 is usable or not, if it isn't usable, it will install
the vendered lib, which we always use
Diffstat (limited to 'lib/ffi_yajl.rb')
-rw-r--r-- | lib/ffi_yajl.rb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/ffi_yajl.rb b/lib/ffi_yajl.rb index a7e69d1..32de01c 100644 --- a/lib/ffi_yajl.rb +++ b/lib/ffi_yajl.rb @@ -4,14 +4,15 @@ require 'ffi' module FFI_Yajl extend FFI::Library - begin - # search the default paths for libyajl2 + + libname = FFI.map_library_name("yajl") + libpath = File.join(File.dirname(__FILE__), libname) + + if File.file?(libpath) + # use our vendored version of libyajl2 if we find it installed + ffi_lib libpath + else ffi_lib 'yajl' - # FIXME: need to explode if we find libyajl1 accidentally - rescue LoadError - # use the bundled libyajl2 - libname = FFI.map_library_name("yajl") - ffi_lib File.join(File.dirname(__FILE__), libname) end class YajlCallbacks < FFI::Struct |