summaryrefslogtreecommitdiff
path: root/ext/json/parser/extconf.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/json/parser/extconf.rb')
-rw-r--r--ext/json/parser/extconf.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/json/parser/extconf.rb b/ext/json/parser/extconf.rb
index de5d5758b4..a9d740c755 100644
--- a/ext/json/parser/extconf.rb
+++ b/ext/json/parser/extconf.rb
@@ -1,10 +1,16 @@
# frozen_string_literal: true
require 'mkmf'
+$defs << "-DJSON_DEBUG" if ENV.fetch("JSON_DEBUG", "0") != "0"
have_func("rb_enc_interned_str", "ruby/encoding.h") # RUBY_VERSION >= 3.0
+have_func("rb_str_to_interned_str", "ruby.h") # RUBY_VERSION >= 3.0
have_func("rb_hash_new_capa", "ruby.h") # RUBY_VERSION >= 3.2
have_func("rb_hash_bulk_insert", "ruby.h") # Missing on TruffleRuby
-have_func("strnlen", "string.h") # Missing on Solaris 10
+have_func("ruby_xfree_sized", "ruby.h") # RUBY_VERSION >= 4.1
+
+if RUBY_ENGINE == "ruby"
+ have_const("RUBY_TYPED_EMBEDDABLE", "ruby.h") # RUBY_VERSION >= 3.3
+end
append_cflags("-std=c99")