]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gnulib/import/m4/glob_h.m4
Update gnulib
[thirdparty/binutils-gdb.git] / gnulib / import / m4 / glob_h.m4
index ef4c9cc24693a03209a5aba6ba355cfc20f3c432..41ffde236fa46c7cd3dad2848b34c8a2e53af38a 100644 (file)
@@ -1,5 +1,5 @@
-# glob_h.m4 serial 5
-dnl Copyright (C) 2018-2021 Free Software Foundation, Inc.
+# glob_h.m4 serial 9
+dnl Copyright (C) 2018-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -22,20 +22,18 @@ AC_DEFUN_ONCE([gl_GLOB_H],
   AC_SUBST([HAVE_GLOB_H])
 
   m4_ifdef([gl_POSIXCHECK],
-    [GLOB_H=glob.h],
-    [GLOB_H=''
+    [GL_GENERATE_GLOB_H=true],
+    [GL_GENERATE_GLOB_H=false
      if m4_ifdef([gl_ANSI_CXX], [test "$CXX" != no], [false]); then
        dnl Override <glob.h> always, to support the C++ GNULIB_NAMESPACE.
-       GLOB_H=glob.h
+       GL_GENERATE_GLOB_H=true
      else
        if test $ac_cv_header_glob_h != yes; then
          dnl Provide a substitute <glob.h> file.
-         GLOB_H=glob.h
+         GL_GENERATE_GLOB_H=true
        fi
      fi
     ])
-  AC_SUBST([GLOB_H])
-  AM_CONDITIONAL([GL_GENERATE_GLOB_H], [test -n "$GLOB_H"])
 
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
@@ -47,23 +45,37 @@ AC_DEFUN_ONCE([gl_GLOB_H],
 dnl Unconditionally enables the replacement of <glob.h>.
 AC_DEFUN([gl_REPLACE_GLOB_H],
 [
-  AC_REQUIRE([gl_GLOB_H_DEFAULTS])
-  GLOB_H='glob.h'
-  AM_CONDITIONAL([GL_GENERATE_GLOB_H], [test -n "$GLOB_H"])
+  gl_GLOB_H_REQUIRE_DEFAULTS
+  GL_GENERATE_GLOB_H=true
 ])
 
+# gl_GLOB_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_GLOB_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_GLOB_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_GLOB_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_GLOB_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_GLOB_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GLOB])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_GLOB_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_GLOB_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_GLOB_H_DEFAULTS],
 [
-  GNULIB_GLOB=0;             AC_SUBST([GNULIB_GLOB])
   dnl Assume POSIX and GNU behavior unless another module says otherwise.
   HAVE_GLOB=1;               AC_SUBST([HAVE_GLOB])
   HAVE_GLOB_PATTERN_P=1;     AC_SUBST([HAVE_GLOB_PATTERN_P])