summaryrefslogtreecommitdiff
path: root/ext/bigdecimal/extconf.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bigdecimal/extconf.rb')
-rw-r--r--ext/bigdecimal/extconf.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/ext/bigdecimal/extconf.rb b/ext/bigdecimal/extconf.rb
index 3799e68..b4f3a7a 100644
--- a/ext/bigdecimal/extconf.rb
+++ b/ext/bigdecimal/extconf.rb
@@ -1,11 +1,30 @@
# frozen_string_literal: false
require 'mkmf'
+alias __have_macro__ have_macro
+
have_func("labs", "stdlib.h")
have_func("llabs", "stdlib.h")
+have_func("finite", "math.h")
+have_func("isfinite", "math.h")
have_type("struct RRational", "ruby.h")
have_func("rb_rational_num", "ruby.h")
have_func("rb_rational_den", "ruby.h")
+have_func("rb_array_const_ptr", "ruby.h")
+have_func("rb_sym2str", "ruby.h")
+
+have_macro("FIX_CONST_VALUE_PTR", "ruby.h")
+have_macro("RARRAY_CONST_PTR", "ruby.h")
+have_macro("RARRAY_AREF", "ruby.h")
create_makefile('bigdecimal')
+
+# Add additional dependencies
+open('Makefile', 'a') do |io|
+ if RUBY_VERSION >= '2.4'
+ io.puts <<-MAKEFILE
+bigdecimal.o: $(hdrdir)/ruby/backward.h
+ MAKEFILE
+ end
+end