1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
require 'mkmf'
have_header("ruby/st.h")
have_header("st.h")
have_func("rb_str_replace", ["ruby.h"])
have_func("rb_big_new", ["ruby.h"])
have_func("rb_intern_str", ["ruby.h"])
have_func("rb_sym2str", ["ruby.h"])
have_func("rb_str_intern", ["ruby.h"])
have_func("rb_integer_unpack", ["ruby.h"])
$CFLAGS << %[ -I.. -Wall -O3 -g -std=c99]
#$CFLAGS << %[ -DDISABLE_RMEM]
#$CFLAGS << %[ -DDISABLE_RMEM_REUSE_INTERNAL_FRAGMENT]
#$CFLAGS << %[ -DDISABLE_BUFFER_READ_REFERENCE_OPTIMIZE]
#$CFLAGS << %[ -DDISABLE_BUFFER_READ_TO_S_OPTIMIZE]
if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
# msgpack-ruby doesn't modify data came from RSTRING_PTR(str)
$CFLAGS << %[ -DRSTRING_NOT_MODIFIED]
# Rubinius C extensions don't grab GVL while rmem is not thread safe
$CFLAGS << %[ -DDISABLE_RMEM]
end
if warnflags = CONFIG['warnflags']
warnflags.slice!(/ -Wdeclaration-after-statement/)
end
create_makefile('cbor/cbor')
|