Blame m4/signal_h.m4

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