Blame gnulib/m4/signal_h.m4

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