Blame m4/signal_h.m4

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