diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2014-01-01 10:25:57 -0600 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2014-01-01 10:25:57 -0600 |
commit | 835956ca69369993388195949c03613e0759e6d1 (patch) | |
tree | 547e24c44ac85558a23fac8c292faf8cf0bb498c /lib | |
parent | 90c4290796ff8eabe817ed1cae32af89bf7fbc7e (diff) | |
download | ffi-yajl-835956ca69369993388195949c03613e0759e6d1.tar.gz |
disable c-extension for ruby-1.8.7
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ffi_yajl.rb | 5 | ||||
-rw-r--r-- | lib/ffi_yajl/ext.rb | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/ffi_yajl.rb b/lib/ffi_yajl.rb index c280826..10ebb38 100644 --- a/lib/ffi_yajl.rb +++ b/lib/ffi_yajl.rb @@ -1,8 +1,9 @@ if ENV['FORCE_FFI_YAJL'] == "ext" require 'ffi_yajl/ext' -elsif ENV['FORCE_FFI_YAJL'] == "ffi" || defined?(Yajl) - # can't dynlink our libyajl2 c-ext and Yajl's libyajl1 c-ext into the same binary +elsif ENV['FORCE_FFI_YAJL'] == "ffi" || defined?(Yajl) || RUBY_VERSION.to_f < 1.9 + # - can't dynlink our libyajl2 c-ext and Yajl's libyajl1 c-ext into the same binary + # - c-extension segfaults on ruby 1.8.7 require 'ffi_yajl/ffi' else begin diff --git a/lib/ffi_yajl/ext.rb b/lib/ffi_yajl/ext.rb index d8dac6e..30f79bd 100644 --- a/lib/ffi_yajl/ext.rb +++ b/lib/ffi_yajl/ext.rb @@ -3,6 +3,11 @@ require 'rubygems' require 'ffi_yajl/encoder' require 'ffi_yajl/parser' +unless RUBY_VERSION.to_f >= 1.9 + # segfaults on ruby 1.8 and this is an exceedingly low priority to fix, use ffi instead + raise NotImplementedError, "The C-extension is disabled on Ruby 1.8" +end + module FFI_Yajl class Parser require 'ffi_yajl/ext/parser' |