ce822326079abbca2d6f062adb4d3257d4b16f18
[platform/upstream/m4.git] / m4 / sigaction.m4
1 # sigaction.m4 serial 5
2 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
6
7 # Determine if sigaction interface is present.
8 AC_DEFUN([gl_SIGACTION],
9 [
10   AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
11   AC_CHECK_FUNCS_ONCE([sigaction])
12   if test $ac_cv_func_sigaction = yes; then
13     AC_CHECK_MEMBERS([struct sigaction.sa_sigaction], , ,
14                      [[#include <signal.h>]])
15     if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then
16       HAVE_STRUCT_SIGACTION_SA_SIGACTION=0
17     fi
18   else
19     HAVE_SIGACTION=0
20     AC_LIBOBJ([sigaction])
21     gl_PREREQ_SIGACTION
22   fi
23 ])
24
25 # Prerequisites of the part of lib/signal.in.h and of lib/sigaction.c.
26 AC_DEFUN([gl_PREREQ_SIGACTION],
27 [
28   AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
29   AC_REQUIRE([AC_C_RESTRICT])
30   AC_REQUIRE([AC_TYPE_UID_T])
31   AC_REQUIRE([gl_PREREQ_SIG_HANDLER_H])
32   AC_CHECK_FUNCS_ONCE([sigaltstack siginterrupt])
33   AC_CHECK_TYPES([siginfo_t], [], [], [[
34 #include <signal.h>
35   ]])
36   if test $ac_cv_type_siginfo_t = no; then
37     HAVE_SIGINFO_T=0
38   fi
39 ])
40
41 # Prerequisites of lib/sig-handler.h.
42 AC_DEFUN([gl_PREREQ_SIG_HANDLER_H],
43 [
44   AC_REQUIRE([AC_C_INLINE])
45 ])