[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Some small autoconf macro improvements
From: |
Bruno Haible |
Subject: |
Re: Some small autoconf macro improvements |
Date: |
Sun, 26 Jul 2020 01:55:02 +0200 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-179-generic; KDE/5.18.0; x86_64; ; ) |
This patch is similar. But it needs a trick in order to suppress the
normal output from an AC_CHECK_FUNC invocation.
2020-07-25 Bruno Haible <bruno@clisp.org>
sigprocmask: Small autoconf macro improvement.
* m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
user to override the value of gl_cv_func_sigprocmask.
* m4/gnulib-common.m4 (gl_SILENT): New macro.
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index dfd4a25..7449648 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -1,4 +1,4 @@
-# gnulib-common.m4 serial 51
+# gnulib-common.m4 serial 52
dnl Copyright (C) 2007-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -626,6 +626,15 @@ AC_DEFUN([gl_BIGENDIAN],
AC_C_BIGENDIAN
])
+# gl_SILENT(command)
+# executes command, but without the normal configure output.
+AC_DEFUN([gl_SILENT],
+[
+ {
+ $1
+ } AS_MESSAGE_FD>/dev/null
+])
+
# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it)
# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not
# output a spurious "(cached)" mark in the midst of other configure output.
diff --git a/m4/signalblocking.m4 b/m4/signalblocking.m4
index 74de534..0f72dd2 100644
--- a/m4/signalblocking.m4
+++ b/m4/signalblocking.m4
@@ -1,4 +1,4 @@
-# signalblocking.m4 serial 14
+# signalblocking.m4 serial 15
dnl Copyright (C) 2001-2002, 2006-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -13,10 +13,19 @@ AC_DEFUN([gl_SIGNALBLOCKING],
[
AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T])
- if test $gl_cv_type_sigset_t = yes; then
- AC_CHECK_FUNC([sigprocmask], [gl_cv_func_sigprocmask=1])
- fi
- if test -z "$gl_cv_func_sigprocmask"; then
+ AC_CACHE_CHECK([for sigprocmask],
+ [gl_cv_func_sigprocmask],
+ [if test $gl_cv_type_sigset_t = yes; then
+ gl_SILENT([
+ AC_CHECK_FUNC([sigprocmask],
+ [gl_cv_func_sigprocmask=yes],
+ [gl_cv_func_sigprocmask=no])
+ ])
+ else
+ gl_cv_func_sigprocmask=no
+ fi
+ ])
+ if test $gl_cv_func_sigprocmask != yes; then
HAVE_POSIX_SIGNALBLOCKING=0
fi
])