configure.in: sigsetjmp sivesigs flag
* configure.in (RUBY_SETJMP_TYPE): optional flag to save signal mask. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8c84803d80
commit
d005ada1b8
12
configure.in
12
configure.in
@ -2754,12 +2754,14 @@ RUBY_CHECK_SETJMP(_setjmp)
|
|||||||
RUBY_CHECK_SETJMP(sigsetjmp, [sigjmp_buf])
|
RUBY_CHECK_SETJMP(sigsetjmp, [sigjmp_buf])
|
||||||
AC_MSG_CHECKING(for setjmp type)
|
AC_MSG_CHECKING(for setjmp type)
|
||||||
setjmp_suffix=
|
setjmp_suffix=
|
||||||
|
unset setjmp_sigmask
|
||||||
AC_ARG_WITH(setjmp-type,
|
AC_ARG_WITH(setjmp-type,
|
||||||
AS_HELP_STRING([--with-setjmp-type], [select setjmp type]),
|
AS_HELP_STRING([--with-setjmp-type], [select setjmp type]),
|
||||||
[
|
[
|
||||||
AS_CASE([$withval],
|
AS_CASE([$withval],
|
||||||
[__builtin_setjmp], [setjmp=__builtin_setjmp],
|
[__builtin_setjmp], [setjmp=__builtin_setjmp],
|
||||||
[_setjmp], [ setjmp_prefix=_],
|
[_setjmp], [ setjmp_prefix=_],
|
||||||
|
[sigsetjmp,*], [ setjmp_prefix=sig setjmp_sigmask=`expr "$withval" : 'sigsetjmp\(,.*\)'`],
|
||||||
[sigsetjmp], [ setjmp_prefix=sig],
|
[sigsetjmp], [ setjmp_prefix=sig],
|
||||||
[setjmp], [ setjmp_prefix=],
|
[setjmp], [ setjmp_prefix=],
|
||||||
[setjmpex], [ setjmp_prefix= setjmp_suffix=ex],
|
[setjmpex], [ setjmp_prefix= setjmp_suffix=ex],
|
||||||
@ -2787,13 +2789,11 @@ else
|
|||||||
setjmp_prefix=
|
setjmp_prefix=
|
||||||
setjmp_suffix=
|
setjmp_suffix=
|
||||||
fi
|
fi
|
||||||
if test x$setjmp_prefix = xsig; then
|
if test x$setjmp_prefix:$setjmp_sigmask = xsig:; then
|
||||||
setjmp_sigmask=yes
|
setjmp_sigmask=,0
|
||||||
else
|
|
||||||
unset setjmp_sigmask
|
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT(${setjmp_prefix}setjmp${setjmp_suffix}${setjmp_cast:+\($setjmp_cast\)})
|
AC_MSG_RESULT(${setjmp_prefix}setjmp${setjmp_suffix}${setjmp_cast:+\($setjmp_cast\)}${setjmp_sigmask})
|
||||||
AC_DEFINE_UNQUOTED([RUBY_SETJMP(env)], [${setjmp_prefix}setjmp${setjmp_suffix}($setjmp_cast(env)${setjmp_sigmask+,0})])
|
AC_DEFINE_UNQUOTED([RUBY_SETJMP(env)], [${setjmp_prefix}setjmp${setjmp_suffix}($setjmp_cast(env)${setjmp_sigmask})])
|
||||||
AC_DEFINE_UNQUOTED([RUBY_LONGJMP(env,val)], [${setjmp_prefix}longjmp($setjmp_cast(env),val)])
|
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)
|
AC_DEFINE_UNQUOTED(RUBY_JMP_BUF, ${setjmp_sigmask+${setjmp_prefix}}jmp_buf)
|
||||||
AS_IF([test x$setjmp_suffix = xex], [AC_DEFINE_UNQUOTED(RUBY_USE_SETJMPEX, 1)])
|
AS_IF([test x$setjmp_suffix = xex], [AC_DEFINE_UNQUOTED(RUBY_USE_SETJMPEX, 1)])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user