X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fsigaction.m4;h=3a3ed9f24db57916ab3a32aabe8b8b44b04ca1c8;hb=22d7496bac7d391faff10755b17889ecd2f604d4;hp=869c8168dee931dbb31d7d230d9db92b5a5f3e6d;hpb=50fe845c936e712ce3de7ee20eed51c033ae43a7;p=gnulib.git diff --git a/m4/sigaction.m4 b/m4/sigaction.m4 index 869c8168d..3a3ed9f24 100644 --- a/m4/sigaction.m4 +++ b/m4/sigaction.m4 @@ -1,4 +1,4 @@ -# sigaction.m4 serial 2 +# sigaction.m4 serial 5 dnl Copyright (C) 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,13 +7,17 @@ dnl with or without modifications, as long as this notice is preserved. # Determine if sigaction interface is present. AC_DEFUN([gl_SIGACTION], [ - dnl Due to autoconf conventions, we can't tell if HAVE_SIGACTION - dnl means we have the type or means we have the function. We assume - dnl that all implementations either have both or neither. - AC_REPLACE_FUNCS([sigaction]) - if test $ac_cv_func_sigaction = no ; then + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([sigaction]) + if test $ac_cv_func_sigaction = yes; then + AC_CHECK_MEMBERS([struct sigaction.sa_sigaction], , , + [[#include ]]) + if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then + HAVE_STRUCT_SIGACTION_SA_SIGACTION=0 + fi + else HAVE_SIGACTION=0 - AC_SUBST([HAVE_SIGACTION]) + AC_LIBOBJ([sigaction]) gl_PREREQ_SIGACTION fi ]) @@ -24,13 +28,18 @@ AC_DEFUN([gl_PREREQ_SIGACTION], AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_UID_T]) + AC_REQUIRE([gl_PREREQ_SIG_HANDLER_H]) AC_CHECK_FUNCS_ONCE([sigaltstack siginterrupt]) AC_CHECK_TYPES([siginfo_t], [], [], [[ #include ]]) if test $ac_cv_type_siginfo_t = no; then HAVE_SIGINFO_T=0 - AC_SUBST([HAVE_SIGINFO_T]) fi - gl_PREREQ_SIG_HANDLER_H +]) + +# Prerequisites of lib/sig-handler.h. +AC_DEFUN([gl_PREREQ_SIG_HANDLER_H], +[ + AC_REQUIRE([AC_C_INLINE]) ])