Blame m4/signal_h.m4

Packit Service fdd496
# signal_h.m4 serial 18
Packit Service fdd496
dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
Packit Service fdd496
dnl This file is free software; the Free Software Foundation
Packit Service fdd496
dnl gives unlimited permission to copy and/or distribute it,
Packit Service fdd496
dnl with or without modifications, as long as this notice is preserved.
Packit Service fdd496
Packit Service fdd496
AC_DEFUN([gl_SIGNAL_H],
Packit Service fdd496
[
Packit Service fdd496
  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
Packit Service fdd496
  AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T])
Packit Service fdd496
  gl_NEXT_HEADERS([signal.h])
Packit Service fdd496
Packit Service fdd496
# AIX declares sig_atomic_t to already include volatile, and C89 compilers
Packit Service fdd496
# then choke on 'volatile sig_atomic_t'.  C99 requires that it compile.
Packit Service fdd496
  AC_CHECK_TYPE([volatile sig_atomic_t], [],
Packit Service fdd496
    [HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0], [[
Packit Service fdd496
#include <signal.h>
Packit Service fdd496
    ]])
Packit Service fdd496
Packit Service fdd496
  dnl Ensure the type pid_t gets defined.
Packit Service fdd496
  AC_REQUIRE([AC_TYPE_PID_T])
Packit Service fdd496
Packit Service fdd496
  AC_REQUIRE([AC_TYPE_UID_T])
Packit Service fdd496
Packit Service fdd496
  dnl Persuade glibc <signal.h> to define sighandler_t.
Packit Service fdd496
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
Packit Service fdd496
  AC_CHECK_TYPE([sighandler_t], [], [HAVE_SIGHANDLER_T=0], [[
Packit Service fdd496
#include <signal.h>
Packit Service fdd496
    ]])
Packit Service fdd496
Packit Service fdd496
  dnl Check for declarations of anything we want to poison if the
Packit Service fdd496
  dnl corresponding gnulib module is not in use.
Packit Service fdd496
  gl_WARN_ON_USE_PREPARE([[#include <signal.h>
Packit Service fdd496
    ]], [pthread_sigmask sigaction
Packit Service fdd496
    sigaddset sigdelset sigemptyset sigfillset sigismember
Packit Service fdd496
    sigpending sigprocmask])
Packit Service fdd496
])
Packit Service fdd496
Packit Service fdd496
AC_DEFUN([gl_CHECK_TYPE_SIGSET_T],
Packit Service fdd496
[
Packit Service fdd496
  AC_CHECK_TYPES([sigset_t],
Packit Service fdd496
    [gl_cv_type_sigset_t=yes], [gl_cv_type_sigset_t=no],
Packit Service fdd496
    [[
Packit Service fdd496
      #include <signal.h>
Packit Service fdd496
      /* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
Packit Service fdd496
      #include <sys/types.h>
Packit Service fdd496
    ]])
Packit Service fdd496
  if test $gl_cv_type_sigset_t != yes; then
Packit Service fdd496
    HAVE_SIGSET_T=0
Packit Service fdd496
  fi
Packit Service fdd496
])
Packit Service fdd496
Packit Service fdd496
AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR],
Packit Service fdd496
[
Packit Service fdd496
  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
Packit Service fdd496
  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
Packit Service fdd496
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
Packit Service fdd496
  dnl Define it also as a C macro, for the benefit of the unit tests.
Packit Service fdd496
  gl_MODULE_INDICATOR_FOR_TESTS([$1])
Packit Service fdd496
])
Packit Service fdd496
Packit Service fdd496
AC_DEFUN([gl_SIGNAL_H_DEFAULTS],
Packit Service fdd496
[
Packit Service fdd496
  GNULIB_PTHREAD_SIGMASK=0;    AC_SUBST([GNULIB_PTHREAD_SIGMASK])
Packit Service fdd496
  GNULIB_RAISE=0;              AC_SUBST([GNULIB_RAISE])
Packit Service fdd496
  GNULIB_SIGNAL_H_SIGPIPE=0;   AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE])
Packit Service fdd496
  GNULIB_SIGPROCMASK=0;        AC_SUBST([GNULIB_SIGPROCMASK])
Packit Service fdd496
  GNULIB_SIGACTION=0;          AC_SUBST([GNULIB_SIGACTION])
Packit Service fdd496
  dnl Assume proper GNU behavior unless another module says otherwise.
Packit Service fdd496
  HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING])
Packit Service fdd496
  HAVE_PTHREAD_SIGMASK=1;      AC_SUBST([HAVE_PTHREAD_SIGMASK])
Packit Service fdd496
  HAVE_RAISE=1;                AC_SUBST([HAVE_RAISE])
Packit Service fdd496
  HAVE_SIGSET_T=1;             AC_SUBST([HAVE_SIGSET_T])
Packit Service fdd496
  HAVE_SIGINFO_T=1;            AC_SUBST([HAVE_SIGINFO_T])
Packit Service fdd496
  HAVE_SIGACTION=1;            AC_SUBST([HAVE_SIGACTION])
Packit Service fdd496
  HAVE_STRUCT_SIGACTION_SA_SIGACTION=1;
Packit Service fdd496
                               AC_SUBST([HAVE_STRUCT_SIGACTION_SA_SIGACTION])
Packit Service fdd496
  HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1;
Packit Service fdd496
                               AC_SUBST([HAVE_TYPE_VOLATILE_SIG_ATOMIC_T])
Packit Service fdd496
  HAVE_SIGHANDLER_T=1;         AC_SUBST([HAVE_SIGHANDLER_T])
Packit Service fdd496
  REPLACE_PTHREAD_SIGMASK=0;   AC_SUBST([REPLACE_PTHREAD_SIGMASK])
Packit Service fdd496
  REPLACE_RAISE=0;             AC_SUBST([REPLACE_RAISE])
Packit Service fdd496
])