diff options
Diffstat (limited to 'ext/json/generator/extconf.rb')
| -rw-r--r-- | ext/json/generator/extconf.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ext/json/generator/extconf.rb b/ext/json/generator/extconf.rb new file mode 100644 index 0000000000..33af03ea30 --- /dev/null +++ b/ext/json/generator/extconf.rb @@ -0,0 +1,19 @@ +require 'mkmf' + +if RUBY_ENGINE == 'truffleruby' + # The pure-Ruby generator is faster on TruffleRuby, so skip compiling the generator extension + File.write('Makefile', dummy_makefile("").join) +else + append_cflags("-std=c99") + have_const("RUBY_TYPED_EMBEDDABLE", "ruby.h") # RUBY_VERSION >= 3.3 + have_func("ruby_xfree_sized", "ruby.h") # RUBY_VERSION >= 4.1 + + $defs << "-DJSON_GENERATOR" + $defs << "-DJSON_DEBUG" if ENV.fetch("JSON_DEBUG", "0") != "0" + + if enable_config('generator-use-simd', default=!ENV["JSON_DISABLE_SIMD"]) + load __dir__ + "/../simd/conf.rb" + end + + create_makefile 'json/ext/generator' +end |
