summaryrefslogtreecommitdiff
path: root/ext/bigdecimal/extconf.rb
diff options
context:
space:
mode:
authorKenta Murata <mrkn@mrkn.jp>2021-01-05 08:12:39 +0900
committerKenta Murata <mrkn@mrkn.jp>2021-01-06 09:25:13 +0900
commit31854403b3398e1c7fa642dca9d2dfe02b171371 (patch)
tree1cf45b958b053eb9b3c149f878bfdba1a4cf3e8e /ext/bigdecimal/extconf.rb
parenta0a6293e787fb7412212cfd85b2cd1e726df8b38 (diff)
[ruby/bigdecimal] Check the function availabilities separately
https://github.com/ruby/bigdecimal/commit/cf839a34c8 https://github.com/ruby/bigdecimal/commit/75db4dabb9
Diffstat (limited to 'ext/bigdecimal/extconf.rb')
-rw-r--r--ext/bigdecimal/extconf.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/ext/bigdecimal/extconf.rb b/ext/bigdecimal/extconf.rb
index 5055e10ffa..d5140e8a1d 100644
--- a/ext/bigdecimal/extconf.rb
+++ b/ext/bigdecimal/extconf.rb
@@ -44,15 +44,22 @@ check_bigdecimal_version(gemspec_path)
have_builtin_func("__builtin_clz", "__builtin_clz(0)")
have_builtin_func("__builtin_clzl", "__builtin_clzl(0)")
+have_builtin_func("__builtin_clzll", "__builtin_clzll(0)")
have_header("float.h")
have_header("math.h")
have_header("stdbool.h")
have_header("stdlib.h")
-if have_func("_lzcnt_u64", "x86intrin.h") # check availability
- $defs << "-DHAVE_X86INTRIN_H"
-end
+have_header("x86intrin.h")
+have_func("_lzcnt_u32", "x86intrin.h")
+have_func("_lzcnt_u64", "x86intrin.h")
+
+have_header("intrin.h")
+have_func("__lzcnt", "intrin.h")
+have_func("__lzcnt64", "intrin.h")
+have_func("_BitScanReverse", "intrin.h")
+have_func("_BitScanReverse64", "intrin.h")
have_func("labs", "stdlib.h")
have_func("llabs", "stdlib.h")