summaryrefslogtreecommitdiff
path: root/tool/m4/ruby_check_setjmp.m4
diff options
context:
space:
mode:
Diffstat (limited to 'tool/m4/ruby_check_setjmp.m4')
-rw-r--r--tool/m4/ruby_check_setjmp.m416
1 files changed, 16 insertions, 0 deletions
diff --git a/tool/m4/ruby_check_setjmp.m4 b/tool/m4/ruby_check_setjmp.m4
new file mode 100644
index 0000000000..7f3b7e3fdf
--- /dev/null
+++ b/tool/m4/ruby_check_setjmp.m4
@@ -0,0 +1,16 @@
+# used for AC_ARG_WITH(setjmp-type)
+AC_DEFUN([RUBY_CHECK_SETJMP], [
+AC_CACHE_CHECK([for ]$1[ as a macro or function], ac_cv_func_$1,
+ [AC_TRY_COMPILE([
+@%:@include <setjmp.h>
+]AC_INCLUDES_DEFAULT([$3])[
+@%:@define JMPARGS_1 env
+@%:@define JMPARGS_2 env,1
+@%:@define JMPARGS JMPARGS_]m4_ifval($2,2,1)[
+],
+ m4_ifval($2,$2,jmp_buf)[ env; $1(JMPARGS);],
+ ac_cv_func_$1=yes,
+ ac_cv_func_$1=no)]
+)
+AS_IF([test "$ac_cv_func_]$1[" = yes], [AC_DEFINE([HAVE_]AS_TR_CPP($1), 1)])
+])dnl