bug-gnulib
[Top][All Lists]
Advanced

[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
 ])




reply via email to

[Prev in Thread] Current Thread [Next in Thread]