summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-25 15:08:46 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-25 15:08:46 +0000
commita1f28fb554dd80995b64b491bc2b7cdcc68604e3 (patch)
treedf05703cd3e6e770d86010c1babf029a9b7d1921 /configure.in
parentc901347d1d07a684e904b8aad2992962b17b93c3 (diff)
merge revision(s) r45885: [Backport #9818]
* configure.in (RUBY_SETJMP_TYPE): check for setjmp type after CCDLFLAGS is appended to CFLAGS, since __builtin_setjmp can be affected. [ruby-core:62469] [Bug #9818] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in6
1 files changed, 6 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index 21b55d0854..b657b1fa3d 100644
--- a/configure.in
+++ b/configure.in
@@ -2023,6 +2023,7 @@ AC_CACHE_CHECK(for sigsetjmp as a macro or function, ac_cv_func_sigsetjmp,
ac_cv_func_sigsetjmp=yes,
ac_cv_func_sigsetjmp=no)])
+AC_DEFUN(RUBY_CHECK_BUILTIN_SETJMP, [
if test x"${ac_cv_func___builtin_setjmp}" = xyes; then
unset ac_cv_func___builtin_setjmp
fi
@@ -2044,10 +2045,13 @@ AC_CACHE_CHECK(for __builtin_setjmp, ac_cv_func___builtin_setjmp,
])
test "$ac_cv_func___builtin_setjmp" = no || break
done])
+])
# we don't use _setjmp if _longjmp doesn't exist.
test x$ac_cv_func__longjmp = xno && ac_cv_func__setjmp=no
+AC_DEFUN(RUBY_SETJMP_TYPE, [
+RUBY_CHECK_BUILTIN_SETJMP
AC_MSG_CHECKING(for setjmp type)
setjmp_suffix=
AC_ARG_WITH(setjmp-type,
@@ -2092,6 +2096,7 @@ AC_MSG_RESULT(${setjmp_prefix}setjmp${setjmp_suffix}${setjmp_cast:+($setjmp_cast
AC_DEFINE_UNQUOTED([RUBY_SETJMP(env)], [${setjmp_prefix}setjmp${setjmp_suffix}($setjmp_cast(env)${setjmp_sigmask+,0})])
AC_DEFINE_UNQUOTED([RUBY_LONGJMP(env,val)], [${setjmp_prefix}longjmp($setjmp_cast(env),val)])
AC_DEFINE_UNQUOTED(RUBY_JMP_BUF, ${setjmp_sigmask+${setjmp_prefix}}jmp_buf)
+])
# End of setjmp check.
AC_ARG_ENABLE(setreuid,
@@ -3369,6 +3374,7 @@ AC_SUBST(DTRACE_OBJ)
AC_SUBST(DTRACE_GLOMMED_OBJ)
AC_SUBST(LIBRUBY_A_OBJS)
+RUBY_SETJMP_TYPE
}
{ # build section