On 2020-12-06 I committed this:

>       * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
>       defined: 1. Define a symbol in this namespace. 2. Don't redirect using
>       a preprocessor #define.
>       * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
>       ...

There are other situations when it is necessary to avoid preprocessor
#defines. For example, when building libtextstyle on native Windows,
the package intentionally does
  #define isatty libtextstyle_isatty
and when <unistd.h> does
  #undef isatty
  #define isatty _isatty
the library defines a wrong symbol, leading to a link error.

So, what we need is a way through which a package can avoid some or
all of these preprocessor #defines. Done as follows:


2020-12-25  Bruno Haible  <br...@clisp.org>

        Make it possible to turn off each of the Windows oldnames workarounds.
        * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
        oldnames workarounds through a GNULIB_MDA_<func> symbol.
        * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
        * lib/search.in.h (lfind, lsearch): Likewise.
        * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
        Likewise.
        * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
        * lib/string.in.h (memccpy, strdup): Likewise.
        * lib/sys_stat.in.h (chmod, umask): Likewise.
        * lib/time.in.h (tzset): Likewise.
        * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
        execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
        read, rmdir, swab, unlink, write): Likewise.
        * lib/utime.in.h (utime): Likewise.
        * lib/wchar.in.h (wcsdup): Likewise.
        * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
        GNULIB_MDA_<func> symbols.
        * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
        * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
        * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
        * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
        * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
        * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
        * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
        * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
        * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
        * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
        * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
        symbols.
        * modules/math (Makefile.am): Likewise.
        * modules/search (Makefile.am): Likewise.
        * modules/stdio (Makefile.am): Likewise.
        * modules/stdlib (Makefile.am): Likewise.
        * modules/string (Makefile.am): Likewise.
        * modules/sys_stat (Makefile.am): Likewise.
        * modules/time (Makefile.am): Likewise.
        * modules/unistd (Makefile.am): Likewise.
        * modules/utime-h (Makefile.am): Likewise.
        * modules/wchar (Makefile.am): Likewise.

>From 52c7413a808f2db9658e86183a122f3028ed88b8 Mon Sep 17 00:00:00 2001
From: Bruno Haible <br...@clisp.org>
Date: Fri, 25 Dec 2020 13:48:17 +0100
Subject: [PATCH] Make it possible to turn off each of the Windows oldnames
 workarounds.

* lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
oldnames workarounds through a GNULIB_MDA_<func> symbol.
* lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
* lib/search.in.h (lfind, lsearch): Likewise.
* lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
Likewise.
* lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
* lib/string.in.h (memccpy, strdup): Likewise.
* lib/sys_stat.in.h (chmod, umask): Likewise.
* lib/time.in.h (tzset): Likewise.
* lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
read, rmdir, swab, unlink, write): Likewise.
* lib/utime.in.h (utime): Likewise.
* lib/wchar.in.h (wcsdup): Likewise.
* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
GNULIB_MDA_<func> symbols.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
* m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
* m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
* modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
symbols.
* modules/math (Makefile.am): Likewise.
* modules/search (Makefile.am): Likewise.
* modules/stdio (Makefile.am): Likewise.
* modules/stdlib (Makefile.am): Likewise.
* modules/string (Makefile.am): Likewise.
* modules/sys_stat (Makefile.am): Likewise.
* modules/time (Makefile.am): Likewise.
* modules/unistd (Makefile.am): Likewise.
* modules/utime-h (Makefile.am): Likewise.
* modules/wchar (Makefile.am): Likewise.
---
 ChangeLog         |  43 ++++++++++++++
 lib/fcntl.in.h    |   4 +-
 lib/math.in.h     |  96 +++++++++++++++++-------------
 lib/search.in.h   |  32 +++++-----
 lib/stdio.in.h    |  90 +++++++++++++++-------------
 lib/stdlib.in.h   |  78 ++++++++++++++-----------
 lib/string.in.h   |  18 +++---
 lib/sys_stat.in.h |  32 +++++-----
 lib/time.in.h     |   2 +-
 lib/unistd.in.h   | 172 ++++++++++++++++++++++++++++++------------------------
 lib/utime.in.h    |   2 +-
 lib/wchar.in.h    |   2 +-
 m4/fcntl_h.m4     |   5 +-
 m4/math_h.m4      |   9 ++-
 m4/search_h.m4    |   5 +-
 m4/stdio_h.m4     |   9 ++-
 m4/stdlib_h.m4    |   8 ++-
 m4/string_h.m4    |   5 +-
 m4/sys_stat_h.m4  |   5 +-
 m4/time_h.m4      |   4 +-
 m4/unistd_h.m4    |  24 +++++++-
 m4/utime_h.m4     |   4 +-
 m4/wchar_h.m4     |   4 +-
 modules/fcntl-h   |   2 +
 modules/math      |   6 ++
 modules/search    |   2 +
 modules/stdio     |   6 ++
 modules/stdlib    |   5 ++
 modules/string    |   2 +
 modules/sys_stat  |   2 +
 modules/time      |   1 +
 modules/unistd    |  21 +++++++
 modules/utime-h   |   1 +
 modules/wchar     |   1 +
 34 files changed, 456 insertions(+), 246 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index dff97af..0322e09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,46 @@
+2020-12-25  Bruno Haible  <br...@clisp.org>
+
+	Make it possible to turn off each of the Windows oldnames workarounds.
+	* lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
+	oldnames workarounds through a GNULIB_MDA_<func> symbol.
+	* lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
+	* lib/search.in.h (lfind, lsearch): Likewise.
+	* lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
+	Likewise.
+	* lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
+	* lib/string.in.h (memccpy, strdup): Likewise.
+	* lib/sys_stat.in.h (chmod, umask): Likewise.
+	* lib/time.in.h (tzset): Likewise.
+	* lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
+	execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
+	read, rmdir, swab, unlink, write): Likewise.
+	* lib/utime.in.h (utime): Likewise.
+	* lib/wchar.in.h (wcsdup): Likewise.
+	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
+	GNULIB_MDA_<func> symbols.
+	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
+	* m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
+	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
+	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
+	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
+	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
+	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
+	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
+	* m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
+	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
+	* modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
+	symbols.
+	* modules/math (Makefile.am): Likewise.
+	* modules/search (Makefile.am): Likewise.
+	* modules/stdio (Makefile.am): Likewise.
+	* modules/stdlib (Makefile.am): Likewise.
+	* modules/string (Makefile.am): Likewise.
+	* modules/sys_stat (Makefile.am): Likewise.
+	* modules/time (Makefile.am): Likewise.
+	* modules/unistd (Makefile.am): Likewise.
+	* modules/utime-h (Makefile.am): Likewise.
+	* modules/wchar (Makefile.am): Likewise.
+
 2020-12-24  Paul Eggert  <egg...@cs.ucla.edu>
 
 	canonicalize, canonicalize-lgpl: remove lint
diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h
index 11c9aae..200fa91 100644
--- a/lib/fcntl.in.h
+++ b/lib/fcntl.in.h
@@ -112,7 +112,7 @@ _GL_CXXALIASWARN (creat);
 /* Assume creat is always declared.  */
 _GL_WARN_ON_USE (creat, "creat is not always POSIX compliant - "
                  "use gnulib module creat for portability");
-#else
+#elif @GNULIB_MDA_CREAT@
 /* On native Windows, map 'creat' to '_creat', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::creat always.  */
@@ -186,7 +186,7 @@ _GL_CXXALIASWARN (open);
 /* Assume open is always declared.  */
 _GL_WARN_ON_USE (open, "open is not always POSIX compliant - "
                  "use gnulib module open for portability");
-#else
+#elif @GNULIB_MDA_OPEN@
 /* On native Windows, map 'open' to '_open', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::open always.  */
diff --git a/lib/math.in.h b/lib/math.in.h
index ebf2e0d..c1e2840 100644
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -1336,47 +1336,53 @@ _GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - "
 #endif
 
 
+#if @GNULIB_MDA_J0@
 /* On native Windows, map 'j0' to '_j0', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::j0 always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef j0
-#  define j0 _j0
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef j0
+#   define j0 _j0
+#  endif
 _GL_CXXALIAS_MDA (j0, double, (double x));
-#else
+# else
 _GL_CXXALIAS_SYS (j0, double, (double x));
-#endif
+# endif
 _GL_CXXALIASWARN (j0);
+#endif
 
+#if @GNULIB_MDA_J1@
 /* On native Windows, map 'j1' to '_j1', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::j1 always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef j1
-#  define j1 _j1
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef j1
+#   define j1 _j1
+#  endif
 _GL_CXXALIAS_MDA (j1, double, (double x));
-#else
+# else
 _GL_CXXALIAS_SYS (j1, double, (double x));
-#endif
+# endif
 _GL_CXXALIASWARN (j1);
+#endif
 
+#if @GNULIB_MDA_JN@
 /* On native Windows, map 'jn' to '_jn', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::jn always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef jn
-#  define jn _jn
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef jn
+#   define jn _jn
+#  endif
 _GL_CXXALIAS_MDA (jn, double, (int n, double x));
-#else
+# else
 _GL_CXXALIAS_SYS (jn, double, (int n, double x));
-#endif
+# endif
 _GL_CXXALIASWARN (jn);
+#endif
 
 
 /* Return x * 2^exp.  */
@@ -2343,47 +2349,53 @@ _GL_WARN_ON_USE (truncl, "truncl is unportable - "
 #endif
 
 
+#if @GNULIB_MDA_Y0@
 /* On native Windows, map 'y0' to '_y0', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::y0 always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef y0
-#  define y0 _y0
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef y0
+#   define y0 _y0
+#  endif
 _GL_CXXALIAS_MDA (y0, double, (double x));
-#else
+# else
 _GL_CXXALIAS_SYS (y0, double, (double x));
-#endif
+# endif
 _GL_CXXALIASWARN (y0);
+#endif
 
+#if @GNULIB_MDA_Y1@
 /* On native Windows, map 'y1' to '_y1', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::y1 always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef y1
-#  define y1 _y1
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef y1
+#   define y1 _y1
+#  endif
 _GL_CXXALIAS_MDA (y1, double, (double x));
-#else
+# else
 _GL_CXXALIAS_SYS (y1, double, (double x));
-#endif
+# endif
 _GL_CXXALIASWARN (y1);
+#endif
 
+#if @GNULIB_MDA_YN@
 /* On native Windows, map 'yn' to '_yn', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::yn always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef yn
-#  define yn _yn
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef yn
+#   define yn _yn
+#  endif
 _GL_CXXALIAS_MDA (yn, double, (int n, double x));
-#else
+# else
 _GL_CXXALIAS_SYS (yn, double, (int n, double x));
-#endif
+# endif
 _GL_CXXALIASWARN (yn);
+#endif
 
 
 /* Definitions of function-like macros come here, after the function
diff --git a/lib/search.in.h b/lib/search.in.h
index 7fc6f65..42859c6 100644
--- a/lib/search.in.h
+++ b/lib/search.in.h
@@ -38,45 +38,49 @@
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 
+#if @GNULIB_MDA_LFIND@
 /* On native Windows, map 'lfind' to '_lfind', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::lfind always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef lfind
-#  define lfind _lfind
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef lfind
+#   define lfind _lfind
+#  endif
 _GL_CXXALIAS_MDA (lfind, void *,
                   (const void *key, const void *base, unsigned int *nmemb,
                    unsigned int size,
                    int (*compar) (const void *, const void *)));
-#else
+# else
 _GL_CXXALIAS_SYS (lfind, void *,
                   (const void *key, const void *base, size_t *nmemb,
                    size_t size,
                    int (*compar) (const void *, const void *)));
-#endif
+# endif
 _GL_CXXALIASWARN (lfind);
+#endif
 
+#if @GNULIB_MDA_LSEARCH@
 /* On native Windows, map 'lsearch' to '_lsearch', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::lsearch always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef lsearch
-#  define lsearch _lsearch
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef lsearch
+#   define lsearch _lsearch
+#  endif
 _GL_CXXALIAS_MDA (lsearch, void *,
                   (const void *key, void *base, unsigned int *nmemb,
                    unsigned int size,
                    int (*compar) (const void *, const void *)));
-#else
+# else
 _GL_CXXALIAS_SYS (lsearch, void *,
                   (const void *key, void *base, size_t *nmemb,
                    size_t size,
                    int (*compar) (const void *, const void *)));
-#endif
+# endif
 _GL_CXXALIASWARN (lsearch);
+#endif
 
 
 #if @GNULIB_TSEARCH@
diff --git a/lib/stdio.in.h b/lib/stdio.in.h
index f86f787..bf86946 100644
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -229,27 +229,29 @@ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - "
                  "use gnulib module fclose for portable POSIX compliance");
 #endif
 
+#if @GNULIB_MDA_FCLOSEALL@
 /* On native Windows, map 'fcloseall' to '_fcloseall', so that -loldnames is
    not required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::fcloseall on all platforms that have
    it.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef fcloseall
-#  define fcloseall _fcloseall
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fcloseall
+#   define fcloseall _fcloseall
+#  endif
 _GL_CXXALIAS_MDA (fcloseall, int, (void));
-#else
-# if @HAVE_DECL_FCLOSEALL@
-#  if defined __FreeBSD__
+# else
+#  if @HAVE_DECL_FCLOSEALL@
+#   if defined __FreeBSD__
 _GL_CXXALIAS_SYS (fcloseall, void, (void));
-#  else
+#   else
 _GL_CXXALIAS_SYS (fcloseall, int, (void));
+#   endif
 #  endif
 # endif
-#endif
-#if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCLOSEALL@
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCLOSEALL@
 _GL_CXXALIASWARN (fcloseall);
+# endif
 #endif
 
 #if @GNULIB_FDOPEN@
@@ -276,7 +278,7 @@ _GL_CXXALIASWARN (fdopen);
 /* Assume fdopen is always declared.  */
 _GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX compliant - "
                  "use gnulib module fdopen for portability");
-#else
+#elif @GNULIB_MDA_FDOPEN@
 /* On native Windows, map 'fdopen' to '_fdopen', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::fdopen always.  */
@@ -354,19 +356,21 @@ _GL_CXXALIASWARN (fgets);
 # endif
 #endif
 
+#if @GNULIB_MDA_FILENO@
 /* On native Windows, map 'fileno' to '_fileno', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::fileno always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef fileno
-#  define fileno _fileno
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fileno
+#   define fileno _fileno
+#  endif
 _GL_CXXALIAS_MDA (fileno, int, (FILE *restrict stream));
-#else
+# else
 _GL_CXXALIAS_SYS (fileno, int, (FILE *restrict stream));
-#endif
+# endif
 _GL_CXXALIASWARN (fileno);
+#endif
 
 #if @GNULIB_FOPEN@
 # if @REPLACE_FOPEN@
@@ -895,19 +899,21 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
 
+#if @GNULIB_MDA_GETW@
 /* On native Windows, map 'getw' to '_getw', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::getw always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef getw
-#  define getw _getw
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getw
+#   define getw _getw
+#  endif
 _GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream));
-#else
+# else
 _GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream));
-#endif
+# endif
 _GL_CXXALIASWARN (getw);
+#endif
 
 #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
 struct obstack;
@@ -1122,19 +1128,21 @@ _GL_CXXALIASWARN (puts);
 # endif
 #endif
 
+#if @GNULIB_MDA_PUTW@
 /* On native Windows, map 'putw' to '_putw', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::putw always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef putw
-#  define putw _putw
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putw
+#   define putw _putw
+#  endif
 _GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream));
-#else
+# else
 _GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream));
-#endif
+# endif
 _GL_CXXALIASWARN (putw);
+#endif
 
 #if @GNULIB_REMOVE@
 # if @REPLACE_REMOVE@
@@ -1315,19 +1323,21 @@ _GL_WARN_ON_USE (sprintf, "sprintf is not always POSIX compliant - "
                  "POSIX compliance");
 #endif
 
+#if @GNULIB_MDA_TEMPNAM@
 /* On native Windows, map 'tempnam' to '_tempnam', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::tempnam always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef tempnam
-#  define tempnam _tempnam
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef tempnam
+#   define tempnam _tempnam
+#  endif
 _GL_CXXALIAS_MDA (tempnam, char *, (const char *dir, const char *prefix));
-#else
+# else
 _GL_CXXALIAS_SYS (tempnam, char *, (const char *dir, const char *prefix));
-#endif
+# endif
 _GL_CXXALIASWARN (tempnam);
+#endif
 
 #if @GNULIB_TMPFILE@
 # if @REPLACE_TMPFILE@
diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h
index 1964443..d02d72f 100644
--- a/lib/stdlib.in.h
+++ b/lib/stdlib.in.h
@@ -242,46 +242,50 @@ _GL_WARN_ON_USE (canonicalize_file_name,
 # endif
 #endif
 
+#if @GNULIB_MDA_ECVT@
 /* On native Windows, map 'ecvt' to '_ecvt', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::ecvt on all platforms that have
    it.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef ecvt
-#  define ecvt _ecvt
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ecvt
+#   define ecvt _ecvt
+#  endif
 _GL_CXXALIAS_MDA (ecvt, char *,
                   (double number, int ndigits, int *decptp, int *signp));
-#else
-# if @HAVE_DECL_ECVT@
+# else
+#  if @HAVE_DECL_ECVT@
 _GL_CXXALIAS_SYS (ecvt, char *,
                   (double number, int ndigits, int *decptp, int *signp));
+#  endif
 # endif
-#endif
-#if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_ECVT@
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_ECVT@
 _GL_CXXALIASWARN (ecvt);
+# endif
 #endif
 
+#if @GNULIB_MDA_FCVT@
 /* On native Windows, map 'fcvt' to '_fcvt', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::fcvt on all platforms that have
    it.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef fcvt
-#  define fcvt _fcvt
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fcvt
+#   define fcvt _fcvt
+#  endif
 _GL_CXXALIAS_MDA (fcvt, char *,
                   (double number, int ndigits, int *decptp, int *signp));
-#else
-# if @HAVE_DECL_FCVT@
+# else
+#  if @HAVE_DECL_FCVT@
 _GL_CXXALIAS_SYS (fcvt, char *,
                   (double number, int ndigits, int *decptp, int *signp));
+#  endif
 # endif
-#endif
-#if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCVT@
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCVT@
 _GL_CXXALIASWARN (fcvt);
+# endif
 #endif
 
 #if @GNULIB_FREE_POSIX@
@@ -305,23 +309,25 @@ _GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - "
                  "use gnulib module free for portability");
 #endif
 
+#if @GNULIB_MDA_GCVT@
 /* On native Windows, map 'gcvt' to '_gcvt', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::gcvt on all platforms that have
    it.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef gcvt
-#  define gcvt _gcvt
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef gcvt
+#   define gcvt _gcvt
+#  endif
 _GL_CXXALIAS_MDA (gcvt, char *, (double number, int ndigits, char *buf));
-#else
-# if @HAVE_DECL_GCVT@
+# else
+#  if @HAVE_DECL_GCVT@
 _GL_CXXALIAS_SYS (gcvt, char *, (double number, int ndigits, char *buf));
+#  endif
 # endif
-#endif
-#if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_GCVT@
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_GCVT@
 _GL_CXXALIASWARN (gcvt);
+# endif
 #endif
 
 #if @GNULIB_GETLOADAVG@
@@ -575,19 +581,21 @@ _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
 # endif
 #endif
 
+#if @GNULIB_MDA_MKTEMP@
 /* On native Windows, map 'mktemp' to '_mktemp', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::mktemp always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef mktemp
-#  define mktemp _mktemp
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mktemp
+#   define mktemp _mktemp
+#  endif
 _GL_CXXALIAS_MDA (mktemp, char *, (char * /*template*/));
-#else
+# else
 _GL_CXXALIAS_SYS (mktemp, char *, (char * /*template*/));
-#endif
+# endif
 _GL_CXXALIASWARN (mktemp);
+#endif
 
 /* Allocate memory with indefinite extent and specified alignment.  */
 #if @GNULIB_POSIX_MEMALIGN@
@@ -706,7 +714,7 @@ _GL_CXXALIAS_MDA (putenv, int, (char *string));
 _GL_CXXALIAS_SYS (putenv, int, (char *string));
 # endif
 _GL_CXXALIASWARN (putenv);
-#else
+#elif @GNULIB_MDA_PUTENV@
 /* On native Windows, map 'putenv' to '_putenv', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::putenv always.  */
diff --git a/lib/string.in.h b/lib/string.in.h
index 5c3667e..f0e480a 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -123,21 +123,23 @@ _GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module");
 #endif
 
 
+#if @GNULIB_MDA_MEMCCPY@
 /* On native Windows, map 'memccpy' to '_memccpy', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::memccpy always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef memccpy
-#  define memccpy _memccpy
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef memccpy
+#   define memccpy _memccpy
+#  endif
 _GL_CXXALIAS_MDA (memccpy, void *,
                   (void *dest, const void *src, int c, size_t n));
-#else
+# else
 _GL_CXXALIAS_SYS (memccpy, void *,
                   (void *dest, const void *src, int c, size_t n));
-#endif
+# endif
 _GL_CXXALIASWARN (memccpy);
+#endif
 
 
 /* Return the first instance of C within N bytes of S, or NULL.  */
@@ -425,7 +427,7 @@ _GL_CXXALIASWARN (strdup);
 _GL_WARN_ON_USE (strdup, "strdup is unportable - "
                  "use gnulib module strdup for portability");
 # endif
-#else
+#elif @GNULIB_MDA_STRDUP@
 /* On native Windows, map 'creat' to '_creat', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::creat always.  */
diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h
index 3c497c5..4b4ec65 100644
--- a/lib/sys_stat.in.h
+++ b/lib/sys_stat.in.h
@@ -391,20 +391,22 @@ struct stat
 #endif
 
 
+#if @GNULIB_MDA_CHMOD@
 /* On native Windows, map 'chmod' to '_chmod', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::chmod always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef chmod
-#  define chmod _chmod
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef chmod
+#   define chmod _chmod
+#  endif
 /* Need to cast, because in mingw the last argument is 'int mode'.  */
 _GL_CXXALIAS_MDA_CAST (chmod, int, (const char *filename, mode_t mode));
-#else
+# else
 _GL_CXXALIAS_SYS (chmod, int, (const char *filename, mode_t mode));
-#endif
+# endif
 _GL_CXXALIASWARN (chmod);
+#endif
 
 
 #if @GNULIB_FCHMODAT@
@@ -818,20 +820,22 @@ _GL_WARN_ON_USE (stat, "stat is unportable - "
 #endif
 
 
+#if @GNULIB_MDA_UMASK@
 /* On native Windows, map 'umask' to '_umask', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::umask always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef umask
-#  define umask _umask
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef umask
+#   define umask _umask
+#  endif
 /* Need to cast, because in mingw the last argument is 'int mode'.  */
 _GL_CXXALIAS_MDA_CAST (umask, mode_t, (mode_t mask));
-#else
+# else
 _GL_CXXALIAS_SYS (umask, mode_t, (mode_t mask));
-#endif
+# endif
 _GL_CXXALIASWARN (umask);
+#endif
 
 
 #if @GNULIB_UTIMENSAT@
diff --git a/lib/time.in.h b/lib/time.in.h
index e95282f..a998841 100644
--- a/lib/time.in.h
+++ b/lib/time.in.h
@@ -145,7 +145,7 @@ _GL_CXXALIAS_MDA (tzset, void, (void));
 _GL_CXXALIAS_SYS (tzset, void, (void));
 #  endif
 _GL_CXXALIASWARN (tzset);
-# else
+# elif @GNULIB_MDA_TZSET@
 /* On native Windows, map 'tzset' to '_tzset', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::tzset always.  */
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index 8a02899..7517e3b 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -287,7 +287,7 @@ _GL_WARN_ON_USE (access, "access does not always support X_OK - "
                  "also, this function is a security risk - "
                  "use the gnulib module faccessat instead");
 # endif
-#else
+#elif @GNULIB_MDA_ACCESS@
 /* On native Windows, map 'access' to '_access', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::access always.  */
@@ -321,7 +321,7 @@ _GL_CXXALIASWARN (chdir);
 _GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
                  "use gnulib module chdir for portability");
 # endif
-#else
+#elif @GNULIB_MDA_CHDIR@
 /* On native Windows, map 'chdir' to '_chdir', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::chdir always.  */
@@ -397,7 +397,7 @@ _GL_CXXALIASWARN (close);
 /* Assume close is always declared.  */
 _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
                  "use gnulib module close for portability");
-#else
+#elif @GNULIB_MDA_CLOSE@
 /* On native Windows, map 'close' to '_close', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::close always.  */
@@ -456,7 +456,7 @@ _GL_CXXALIASWARN (dup);
 _GL_WARN_ON_USE (dup, "dup is unportable - "
                  "use gnulib module dup for portability");
 # endif
-#else
+#elif @GNULIB_MDA_DUP@
 /* On native Windows, map 'dup' to '_dup', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::dup always.  */
@@ -501,7 +501,7 @@ _GL_CXXALIASWARN (dup2);
 _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
                  "use gnulib module dup2 for portability");
 # endif
-#else
+#elif @GNULIB_MDA_DUP2@
 /* On native Windows, map 'dup2' to '_dup2', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::dup2 always.  */
@@ -615,116 +615,130 @@ _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
 #endif
 
 
+#if @GNULIB_MDA_EXECL@
 /* On native Windows, map 'execl' to '_execl', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::execl always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef execl
-#  define execl _execl
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execl
+#   define execl _execl
+#  endif
 _GL_CXXALIAS_MDA (execl, intptr_t, (const char *program, const char *arg, ...));
-#else
+# else
 _GL_CXXALIAS_SYS (execl, int, (const char *program, const char *arg, ...));
-#endif
+# endif
 _GL_CXXALIASWARN (execl);
+#endif
 
+#if @GNULIB_MDA_EXECLE@
 /* On native Windows, map 'execle' to '_execle', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::execle always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef execle
-#  define execle _execle
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execle
+#   define execle _execle
+#  endif
 _GL_CXXALIAS_MDA (execle, intptr_t, (const char *program, const char *arg, ...));
-#else
+# else
 _GL_CXXALIAS_SYS (execle, int, (const char *program, const char *arg, ...));
-#endif
+# endif
 _GL_CXXALIASWARN (execle);
+#endif
 
+#if @GNULIB_MDA_EXECLP@
 /* On native Windows, map 'execlp' to '_execlp', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::execlp always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef execlp
-#  define execlp _execlp
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execlp
+#   define execlp _execlp
+#  endif
 _GL_CXXALIAS_MDA (execlp, intptr_t, (const char *program, const char *arg, ...));
-#else
+# else
 _GL_CXXALIAS_SYS (execlp, int, (const char *program, const char *arg, ...));
-#endif
+# endif
 _GL_CXXALIASWARN (execlp);
+#endif
 
 
+#if @GNULIB_MDA_EXECV@
 /* On native Windows, map 'execv' to '_execv', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::execv always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef execv
-#  define execv _execv
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execv
+#   define execv _execv
+#  endif
 _GL_CXXALIAS_MDA (execv, intptr_t,
                   (const char *program, const char * const *argv));
-#else
+# else
 _GL_CXXALIAS_SYS (execv, int, (const char *program, char * const *argv));
-#endif
+# endif
 _GL_CXXALIASWARN (execv);
+#endif
 
+#if @GNULIB_MDA_EXECVE@
 /* On native Windows, map 'execve' to '_execve', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::execve always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef execve
-#  define execve _execve
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execve
+#   define execve _execve
+#  endif
 _GL_CXXALIAS_MDA (execve, intptr_t,
                   (const char *program, const char * const *argv,
                    const char * const *env));
-#else
+# else
 _GL_CXXALIAS_SYS (execve, int,
                   (const char *program, char * const *argv, char * const *env));
-#endif
+# endif
 _GL_CXXALIASWARN (execve);
+#endif
 
+#if @GNULIB_MDA_EXECVP@
 /* On native Windows, map 'execvp' to '_execvp', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::execvp always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef execvp
-#  define execvp _execvp
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvp
+#   define execvp _execvp
+#  endif
 _GL_CXXALIAS_MDA (execvp, intptr_t,
                   (const char *program, const char * const *argv));
-#else
+# else
 _GL_CXXALIAS_SYS (execvp, int, (const char *program, char * const *argv));
-#endif
+# endif
 _GL_CXXALIASWARN (execvp);
+#endif
 
+#if @GNULIB_MDA_EXECVPE@
 /* On native Windows, map 'execvpe' to '_execvpe', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::execvpe on all platforms that have
    it.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef execvpe
-#  define execvpe _execvpe
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvpe
+#   define execvpe _execvpe
+#  endif
 _GL_CXXALIAS_MDA (execvpe, intptr_t,
                   (const char *program, const char * const *argv,
                    const char * const *env));
-#else
-# if @HAVE_DECL_EXECVPE@
+# else
+#  if @HAVE_DECL_EXECVPE@
 _GL_CXXALIAS_SYS (execvpe, int,
                   (const char *program, char * const *argv, char * const *env));
+#  endif
 # endif
-#endif
-#if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_EXECVPE@
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_EXECVPE@
 _GL_CXXALIASWARN (execvpe);
+# endif
 #endif
 
 
@@ -921,7 +935,7 @@ _GL_CXXALIASWARN (getcwd);
 _GL_WARN_ON_USE (getcwd, "getcwd is unportable - "
                  "use gnulib module getcwd for portability");
 # endif
-#else
+#elif @GNULIB_MDA_GETCWD@
 /* On native Windows, map 'getcwd' to '_getcwd', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::getcwd always.  */
@@ -1271,19 +1285,21 @@ _GL_WARN_ON_USE (getpass, "getpass is unportable - "
 #endif
 
 
+#if @GNULIB_MDA_GETPID@
 /* On native Windows, map 'getpid' to '_getpid', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::getpid always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef getpid
-#  define getpid _getpid
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getpid
+#   define getpid _getpid
+#  endif
 _GL_CXXALIAS_MDA (getpid, int, (void));
-#else
+# else
 _GL_CXXALIAS_SYS (getpid, pid_t, (void));
-#endif
+# endif
 _GL_CXXALIASWARN (getpid);
+#endif
 
 
 #if @GNULIB_GETUSERSHELL@
@@ -1374,7 +1390,7 @@ _GL_CXXALIASWARN (isatty);
 _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
                  "use gnulib module isatty for portability");
 # endif
-#else
+#elif @GNULIB_MDA_ISATTY@
 /* On native Windows, map 'isatty' to '_isatty', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::isatty always.  */
@@ -1515,7 +1531,7 @@ _GL_CXXALIASWARN (lseek);
 _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some "
                  "systems - use gnulib module lseek for portability");
 # endif
-#else
+#elif @GNULIB_MDA_LSEEK@
 /* On native Windows, map 'lseek' to '_lseek', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::lseek always.  */
@@ -1671,7 +1687,7 @@ _GL_CXXALIAS_MDA (read, ssize_t, (int fd, void *buf, size_t count));
 _GL_CXXALIAS_SYS (read, ssize_t, (int fd, void *buf, size_t count));
 # endif
 _GL_CXXALIASWARN (read);
-#else
+#elif @GNULIB_MDA_READ@
 /* On native Windows, map 'read' to '_read', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::read always.  */
@@ -1787,7 +1803,7 @@ _GL_CXXALIASWARN (rmdir);
 _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
                  "use gnulib module rmdir for portability");
 # endif
-#else
+#elif @GNULIB_MDA_RMDIR@
 /* On native Windows, map 'rmdir' to '_rmdir', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::rmdir always.  */
@@ -1859,19 +1875,21 @@ _GL_WARN_ON_USE (sleep, "sleep is unportable - "
 #endif
 
 
+#if @GNULIB_MDA_SWAB@
 /* On native Windows, map 'swab' to '_swab', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::creat always.  */
-#if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef swab
-#  define swab _swab
-# endif
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef swab
+#   define swab _swab
+#  endif
 _GL_CXXALIAS_MDA (swab, void, (char *from, char *to, int n));
-#else
+# else
 _GL_CXXALIAS_SYS (swab, void, (const void *from, void *to, ssize_t n));
-#endif
+# endif
 _GL_CXXALIASWARN (swab);
+#endif
 
 
 #if @GNULIB_SYMLINK@
@@ -2014,7 +2032,7 @@ _GL_CXXALIASWARN (unlink);
 _GL_WARN_ON_USE (unlink, "unlink is not portable - "
                  "use gnulib module unlink for portability");
 # endif
-#else
+#elif @GNULIB_MDA_UNLINK@
 /* On native Windows, map 'unlink' to '_unlink', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::unlink always.  */
@@ -2109,7 +2127,7 @@ _GL_CXXALIAS_MDA (write, ssize_t, (int fd, const void *buf, size_t count));
 _GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count));
 # endif
 _GL_CXXALIASWARN (write);
-#else
+#elif @GNULIB_MDA_WRITE@
 /* On native Windows, map 'write' to '_write', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::write always.  */
diff --git a/lib/utime.in.h b/lib/utime.in.h
index c8a9618..3322086 100644
--- a/lib/utime.in.h
+++ b/lib/utime.in.h
@@ -85,7 +85,7 @@ _GL_WARN_ON_USE (utime,
                  "utime is unportable - "
                  "use gnulib module canonicalize-lgpl for portability");
 # endif
-#else
+#elif @GNULIB_MDA_UTIME@
 /* On native Windows, map 'utime' to '_utime', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::utime always.  */
diff --git a/lib/wchar.in.h b/lib/wchar.in.h
index 8932a47..d3c67a0 100644
--- a/lib/wchar.in.h
+++ b/lib/wchar.in.h
@@ -953,7 +953,7 @@ _GL_CXXALIASWARN (wcsdup);
 _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
                  "use gnulib module wcsdup for portability");
 # endif
-#else
+#elif @GNULIB_MDA_WCSDUP@
 /* On native Windows, map 'wcsdup' to '_wcsdup', so that -loldnames is not
    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
    platforms by defining GNULIB_NAMESPACE::wcsdup always.  */
diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4
index 6b25393..c475357 100644
--- a/m4/fcntl_h.m4
+++ b/m4/fcntl_h.m4
@@ -1,4 +1,4 @@
-# serial 16
+# serial 17
 # Configure fcntl.h.
 dnl Copyright (C) 2006-2007, 2009-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
@@ -42,6 +42,9 @@ AC_DEFUN([gl_FCNTL_H_DEFAULTS],
   GNULIB_NONBLOCKING=0;  AC_SUBST([GNULIB_NONBLOCKING])
   GNULIB_OPEN=0;         AC_SUBST([GNULIB_OPEN])
   GNULIB_OPENAT=0;       AC_SUBST([GNULIB_OPENAT])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_CREAT=1;    AC_SUBST([GNULIB_MDA_CREAT])
+  GNULIB_MDA_OPEN=1;     AC_SUBST([GNULIB_MDA_OPEN])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_FCNTL=1;          AC_SUBST([HAVE_FCNTL])
   HAVE_OPENAT=1;         AC_SUBST([HAVE_OPENAT])
diff --git a/m4/math_h.m4 b/m4/math_h.m4
index f259079..c551598 100644
--- a/m4/math_h.m4
+++ b/m4/math_h.m4
@@ -1,4 +1,4 @@
-# math_h.m4 serial 121
+# math_h.m4 serial 122
 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,
@@ -159,6 +159,13 @@ AC_DEFUN([gl_MATH_H_DEFAULTS],
   GNULIB_TRUNC=0;      AC_SUBST([GNULIB_TRUNC])
   GNULIB_TRUNCF=0;     AC_SUBST([GNULIB_TRUNCF])
   GNULIB_TRUNCL=0;     AC_SUBST([GNULIB_TRUNCL])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_J0=1;     AC_SUBST([GNULIB_MDA_J0])
+  GNULIB_MDA_J1=1;     AC_SUBST([GNULIB_MDA_J1])
+  GNULIB_MDA_JN=1;     AC_SUBST([GNULIB_MDA_JN])
+  GNULIB_MDA_Y0=1;     AC_SUBST([GNULIB_MDA_Y0])
+  GNULIB_MDA_Y1=1;     AC_SUBST([GNULIB_MDA_Y1])
+  GNULIB_MDA_YN=1;     AC_SUBST([GNULIB_MDA_YN])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_ACOSF=1;                     AC_SUBST([HAVE_ACOSF])
   HAVE_ACOSL=1;                     AC_SUBST([HAVE_ACOSL])
diff --git a/m4/search_h.m4 b/m4/search_h.m4
index f21e7cc..788bcd4 100644
--- a/m4/search_h.m4
+++ b/m4/search_h.m4
@@ -1,4 +1,4 @@
-# search_h.m4 serial 11
+# search_h.m4 serial 12
 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,
@@ -56,6 +56,9 @@ AC_DEFUN([gl_SEARCH_MODULE_INDICATOR],
 AC_DEFUN([gl_SEARCH_H_DEFAULTS],
 [
   GNULIB_TSEARCH=0; AC_SUBST([GNULIB_TSEARCH])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_LFIND=1;   AC_SUBST([GNULIB_MDA_LFIND])
+  GNULIB_MDA_LSEARCH=1; AC_SUBST([GNULIB_MDA_LSEARCH])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_TSEARCH=1;    AC_SUBST([HAVE_TSEARCH])
   HAVE_TWALK=1;      AC_SUBST([HAVE_TWALK])
diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
index 6003a31..54026c3 100644
--- a/m4/stdio_h.m4
+++ b/m4/stdio_h.m4
@@ -1,4 +1,4 @@
-# stdio_h.m4 serial 51
+# stdio_h.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,
@@ -180,6 +180,13 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
   GNULIB_VPRINTF_POSIX=0;        AC_SUBST([GNULIB_VPRINTF_POSIX])
   GNULIB_VSNPRINTF=0;            AC_SUBST([GNULIB_VSNPRINTF])
   GNULIB_VSPRINTF_POSIX=0;       AC_SUBST([GNULIB_VSPRINTF_POSIX])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_FCLOSEALL=1;        AC_SUBST([GNULIB_MDA_FCLOSEALL])
+  GNULIB_MDA_FDOPEN=1;           AC_SUBST([GNULIB_MDA_FDOPEN])
+  GNULIB_MDA_FILENO=1;           AC_SUBST([GNULIB_MDA_FILENO])
+  GNULIB_MDA_GETW=1;             AC_SUBST([GNULIB_MDA_GETW])
+  GNULIB_MDA_PUTW=1;             AC_SUBST([GNULIB_MDA_PUTW])
+  GNULIB_MDA_TEMPNAM=1;          AC_SUBST([GNULIB_MDA_TEMPNAM])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DECL_FCLOSEALL=1;         AC_SUBST([HAVE_DECL_FCLOSEALL])
   HAVE_DECL_FPURGE=1;            AC_SUBST([HAVE_DECL_FPURGE])
diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4
index 7e03b9a..49d4eba 100644
--- a/m4/stdlib_h.m4
+++ b/m4/stdlib_h.m4
@@ -1,4 +1,4 @@
-# stdlib_h.m4 serial 54
+# stdlib_h.m4 serial 55
 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,
@@ -95,6 +95,12 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   GNULIB_UNLOCKPT=0;      AC_SUBST([GNULIB_UNLOCKPT])
   GNULIB_UNSETENV=0;      AC_SUBST([GNULIB_UNSETENV])
   GNULIB_WCTOMB=0;        AC_SUBST([GNULIB_WCTOMB])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_ECVT=1;      AC_SUBST([GNULIB_MDA_ECVT])
+  GNULIB_MDA_FCVT=1;      AC_SUBST([GNULIB_MDA_FCVT])
+  GNULIB_MDA_GCVT=1;      AC_SUBST([GNULIB_MDA_GCVT])
+  GNULIB_MDA_MKTEMP=1;    AC_SUBST([GNULIB_MDA_MKTEMP])
+  GNULIB_MDA_PUTENV=1;    AC_SUBST([GNULIB_MDA_PUTENV])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE__EXIT=1;              AC_SUBST([HAVE__EXIT])
   HAVE_ALIGNED_ALLOC=1;      AC_SUBST([HAVE_ALIGNED_ALLOC])
diff --git a/m4/string_h.m4 b/m4/string_h.m4
index 29796b8..3d41c63 100644
--- a/m4/string_h.m4
+++ b/m4/string_h.m4
@@ -5,7 +5,7 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 27
+# serial 28
 
 # Written by Paul Eggert.
 
@@ -86,6 +86,9 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
   GNULIB_STRSIGNAL=0;        AC_SUBST([GNULIB_STRSIGNAL])
   GNULIB_STRVERSCMP=0;       AC_SUBST([GNULIB_STRVERSCMP])
   HAVE_MBSLEN=0;             AC_SUBST([HAVE_MBSLEN])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_MEMCCPY=1;      AC_SUBST([GNULIB_MDA_MEMCCPY])
+  GNULIB_MDA_STRDUP=1;       AC_SUBST([GNULIB_MDA_STRDUP])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_EXPLICIT_BZERO=1;        AC_SUBST([HAVE_EXPLICIT_BZERO])
   HAVE_FFSL=1;                  AC_SUBST([HAVE_FFSL])
diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4
index 929144d..a1cb988 100644
--- a/m4/sys_stat_h.m4
+++ b/m4/sys_stat_h.m4
@@ -1,4 +1,4 @@
-# sys_stat_h.m4 serial 34   -*- Autoconf -*-
+# sys_stat_h.m4 serial 35   -*- Autoconf -*-
 dnl Copyright (C) 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,
@@ -79,6 +79,9 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
   GNULIB_STAT=0;        AC_SUBST([GNULIB_STAT])
   GNULIB_UTIMENSAT=0;   AC_SUBST([GNULIB_UTIMENSAT])
   GNULIB_OVERRIDES_STRUCT_STAT=0; AC_SUBST([GNULIB_OVERRIDES_STRUCT_STAT])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_CHMOD=1;   AC_SUBST([GNULIB_MDA_CHMOD])
+  GNULIB_MDA_UMASK=1;   AC_SUBST([GNULIB_MDA_UMASK])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_FCHMODAT=1;      AC_SUBST([HAVE_FCHMODAT])
   HAVE_FSTATAT=1;       AC_SUBST([HAVE_FSTATAT])
diff --git a/m4/time_h.m4 b/m4/time_h.m4
index a15c09d..0c38ac8 100644
--- a/m4/time_h.m4
+++ b/m4/time_h.m4
@@ -2,7 +2,7 @@
 
 # Copyright (C) 2000-2001, 2003-2007, 2009-2020 Free Software Foundation, Inc.
 
-# serial 12
+# serial 13
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -116,6 +116,8 @@ AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
   GNULIB_TIME_R=0;                       AC_SUBST([GNULIB_TIME_R])
   GNULIB_TIME_RZ=0;                      AC_SUBST([GNULIB_TIME_RZ])
   GNULIB_TZSET=0;                        AC_SUBST([GNULIB_TZSET])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_TZSET=1;                    AC_SUBST([GNULIB_MDA_TZSET])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DECL_LOCALTIME_R=1;               AC_SUBST([HAVE_DECL_LOCALTIME_R])
   HAVE_NANOSLEEP=1;                      AC_SUBST([HAVE_NANOSLEEP])
diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4
index b26d2c8..db96e2b 100644
--- a/m4/unistd_h.m4
+++ b/m4/unistd_h.m4
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 83
+# unistd_h.m4 serial 84
 dnl Copyright (C) 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,
@@ -123,6 +123,28 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_UNLINKAT=0;             AC_SUBST([GNULIB_UNLINKAT])
   GNULIB_USLEEP=0;               AC_SUBST([GNULIB_USLEEP])
   GNULIB_WRITE=0;                AC_SUBST([GNULIB_WRITE])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_ACCESS=1;           AC_SUBST([GNULIB_MDA_ACCESS])
+  GNULIB_MDA_CHDIR=1;            AC_SUBST([GNULIB_MDA_CHDIR])
+  GNULIB_MDA_CLOSE=1;            AC_SUBST([GNULIB_MDA_CLOSE])
+  GNULIB_MDA_DUP=1;              AC_SUBST([GNULIB_MDA_DUP])
+  GNULIB_MDA_DUP2=1;             AC_SUBST([GNULIB_MDA_DUP2])
+  GNULIB_MDA_EXECL=1;            AC_SUBST([GNULIB_MDA_EXECL])
+  GNULIB_MDA_EXECLE=1;           AC_SUBST([GNULIB_MDA_EXECLE])
+  GNULIB_MDA_EXECLP=1;           AC_SUBST([GNULIB_MDA_EXECLP])
+  GNULIB_MDA_EXECV=1;            AC_SUBST([GNULIB_MDA_EXECV])
+  GNULIB_MDA_EXECVE=1;           AC_SUBST([GNULIB_MDA_EXECVE])
+  GNULIB_MDA_EXECVP=1;           AC_SUBST([GNULIB_MDA_EXECVP])
+  GNULIB_MDA_EXECVPE=1;          AC_SUBST([GNULIB_MDA_EXECVPE])
+  GNULIB_MDA_GETCWD=1;           AC_SUBST([GNULIB_MDA_GETCWD])
+  GNULIB_MDA_GETPID=1;           AC_SUBST([GNULIB_MDA_GETPID])
+  GNULIB_MDA_ISATTY=1;           AC_SUBST([GNULIB_MDA_ISATTY])
+  GNULIB_MDA_LSEEK=1;            AC_SUBST([GNULIB_MDA_LSEEK])
+  GNULIB_MDA_READ=1;             AC_SUBST([GNULIB_MDA_READ])
+  GNULIB_MDA_RMDIR=1;            AC_SUBST([GNULIB_MDA_RMDIR])
+  GNULIB_MDA_SWAB=1;             AC_SUBST([GNULIB_MDA_SWAB])
+  GNULIB_MDA_UNLINK=1;           AC_SUBST([GNULIB_MDA_UNLINK])
+  GNULIB_MDA_WRITE=1;            AC_SUBST([GNULIB_MDA_WRITE])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_CHOWN=1;           AC_SUBST([HAVE_CHOWN])
   HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE])
diff --git a/m4/utime_h.m4 b/m4/utime_h.m4
index 6b5dfc5..b715a53 100644
--- a/m4/utime_h.m4
+++ b/m4/utime_h.m4
@@ -1,4 +1,4 @@
-# utime_h.m4 serial 4
+# utime_h.m4 serial 5
 dnl Copyright (C) 2017-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,
@@ -40,6 +40,8 @@ AC_DEFUN([gl_UTIME_MODULE_INDICATOR],
 AC_DEFUN([gl_UTIME_H_DEFAULTS],
 [
   GNULIB_UTIME=0;            AC_SUBST([GNULIB_UTIME])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_UTIME=1;        AC_SUBST([GNULIB_MDA_UTIME])
   dnl Assume POSIX behavior unless another module says otherwise.
   HAVE_UTIME=1;              AC_SUBST([HAVE_UTIME])
   REPLACE_UTIME=0;           AC_SUBST([REPLACE_UTIME])
diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4
index f534cf7..68441d2 100644
--- a/m4/wchar_h.m4
+++ b/m4/wchar_h.m4
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
 
 dnl Written by Eric Blake.
 
-# wchar_h.m4 serial 49
+# wchar_h.m4 serial 50
 
 AC_DEFUN([gl_WCHAR_H],
 [
@@ -177,6 +177,8 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS],
   GNULIB_WCSTOK=0;      AC_SUBST([GNULIB_WCSTOK])
   GNULIB_WCSWIDTH=0;    AC_SUBST([GNULIB_WCSWIDTH])
   GNULIB_WCSFTIME=0;    AC_SUBST([GNULIB_WCSFTIME])
+  dnl Support Microsoft deprecated alias function names by default.
+  GNULIB_MDA_WCSDUP=1;  AC_SUBST([GNULIB_MDA_WCSDUP])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_BTOWC=1;         AC_SUBST([HAVE_BTOWC])
   HAVE_MBSINIT=1;       AC_SUBST([HAVE_MBSINIT])
diff --git a/modules/fcntl-h b/modules/fcntl-h
index 2ef0106..429c283 100644
--- a/modules/fcntl-h
+++ b/modules/fcntl-h
@@ -37,6 +37,8 @@ fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
 	      -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \
 	      -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \
 	      -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \
+	      -e 's/@''GNULIB_MDA_CREAT''@/$(GNULIB_MDA_CREAT)/g' \
+	      -e 's/@''GNULIB_MDA_OPEN''@/$(GNULIB_MDA_OPEN)/g' \
 	      -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
 	      -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
 	      -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \
diff --git a/modules/math b/modules/math
index 4ccac70..aa46293 100644
--- a/modules/math
+++ b/modules/math
@@ -127,6 +127,12 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
 	      -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \
 	      -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \
 	      -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \
+	      -e 's/@''GNULIB_MDA_J0''@/$(GNULIB_MDA_J0)/g' \
+	      -e 's/@''GNULIB_MDA_J1''@/$(GNULIB_MDA_J1)/g' \
+	      -e 's/@''GNULIB_MDA_JN''@/$(GNULIB_MDA_JN)/g' \
+	      -e 's/@''GNULIB_MDA_Y0''@/$(GNULIB_MDA_Y0)/g' \
+	      -e 's/@''GNULIB_MDA_Y1''@/$(GNULIB_MDA_Y1)/g' \
+	      -e 's/@''GNULIB_MDA_YN''@/$(GNULIB_MDA_YN)/g' \
 	  | \
 	  sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
 	      -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \
diff --git a/modules/search b/modules/search
index 72dbe12..58ca086 100644
--- a/modules/search
+++ b/modules/search
@@ -30,6 +30,8 @@ search.h: search.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's|@''NEXT_SEARCH_H''@|$(NEXT_SEARCH_H)|g' \
 	      -e 's|@''HAVE_TYPE_VISIT''@|$(HAVE_TYPE_VISIT)|g' \
 	      -e 's/@''GNULIB_TSEARCH''@/$(GNULIB_TSEARCH)/g' \
+	      -e 's/@''GNULIB_MDA_LFIND''@/$(GNULIB_MDA_LFIND)/g' \
+	      -e 's/@''GNULIB_MDA_LSEARCH''@/$(GNULIB_MDA_LSEARCH)/g' \
 	      -e 's|@''HAVE_TSEARCH''@|$(HAVE_TSEARCH)|g' \
 	      -e 's|@''HAVE_TWALK''@|$(HAVE_TWALK)|g' \
 	      -e 's|@''REPLACE_TSEARCH''@|$(REPLACE_TSEARCH)|g' \
diff --git a/modules/stdio b/modules/stdio
index 0805a9e..4932327 100644
--- a/modules/stdio
+++ b/modules/stdio
@@ -84,6 +84,12 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
 	      -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
 	      -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
 	      -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GNULIB_MDA_FCLOSEALL)/g' \
+	      -e 's/@''GNULIB_MDA_FDOPEN''@/$(GNULIB_MDA_FDOPEN)/g' \
+	      -e 's/@''GNULIB_MDA_FILENO''@/$(GNULIB_MDA_FILENO)/g' \
+	      -e 's/@''GNULIB_MDA_GETW''@/$(GNULIB_MDA_GETW)/g' \
+	      -e 's/@''GNULIB_MDA_PUTW''@/$(GNULIB_MDA_PUTW)/g' \
+	      -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GNULIB_MDA_TEMPNAM)/g' \
 	      < $(srcdir)/stdio.in.h | \
 	  sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \
 	      -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
diff --git a/modules/stdlib b/modules/stdlib
index 68583f8..9b65a01 100644
--- a/modules/stdlib
+++ b/modules/stdlib
@@ -69,6 +69,11 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
 	      -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
 	      -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
 	      -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
+	      -e 's/@''GNULIB_MDA_ECVT''@/$(GNULIB_MDA_ECVT)/g' \
+	      -e 's/@''GNULIB_MDA_FCVT''@/$(GNULIB_MDA_FCVT)/g' \
+	      -e 's/@''GNULIB_MDA_GCVT''@/$(GNULIB_MDA_GCVT)/g' \
+	      -e 's/@''GNULIB_MDA_MKTEMP''@/$(GNULIB_MDA_MKTEMP)/g' \
+	      -e 's/@''GNULIB_MDA_PUTENV''@/$(GNULIB_MDA_PUTENV)/g' \
 	      < $(srcdir)/stdlib.in.h | \
 	  sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
 	      -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \
diff --git a/modules/string b/modules/string
index 759e4d5..8ce11d2 100644
--- a/modules/string
+++ b/modules/string
@@ -71,6 +71,8 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's/@''GNULIB_SIGDESCR_NP''@/$(GNULIB_SIGDESCR_NP)/g' \
 	      -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
 	      -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
+	      -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GNULIB_MDA_MEMCCPY)/g' \
+	      -e 's/@''GNULIB_MDA_STRDUP''@/$(GNULIB_MDA_STRDUP)/g' \
 	      < $(srcdir)/string.in.h | \
 	  sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
 	      -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
diff --git a/modules/sys_stat b/modules/sys_stat
index 42ae932..6bf6b29 100644
--- a/modules/sys_stat
+++ b/modules/sys_stat
@@ -50,6 +50,8 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
 	      -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
 	      -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
 	      -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/g' \
+	      -e 's/@''GNULIB_MDA_CHMOD''@/$(GNULIB_MDA_CHMOD)/g' \
+	      -e 's/@''GNULIB_MDA_UMASK''@/$(GNULIB_MDA_UMASK)/g' \
 	      -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
 	      -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
 	      -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
diff --git a/modules/time b/modules/time
index 3daa751..2f91fa3 100644
--- a/modules/time
+++ b/modules/time
@@ -39,6 +39,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
 	      -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
 	      -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
 	      -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \
+	      -e 's/@''GNULIB_MDA_TZSET''@/$(GNULIB_MDA_TZSET)/g' \
 	      -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
 	      -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
 	      -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
diff --git a/modules/unistd b/modules/unistd
index 9af0963..27a4b67 100644
--- a/modules/unistd
+++ b/modules/unistd
@@ -92,6 +92,27 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
 	      -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
 	      -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
+	      -e 's/@''GNULIB_MDA_ACCESS''@/$(GNULIB_MDA_ACCESS)/g' \
+	      -e 's/@''GNULIB_MDA_CHDIR''@/$(GNULIB_MDA_CHDIR)/g' \
+	      -e 's/@''GNULIB_MDA_CLOSE''@/$(GNULIB_MDA_CLOSE)/g' \
+	      -e 's/@''GNULIB_MDA_DUP''@/$(GNULIB_MDA_DUP)/g' \
+	      -e 's/@''GNULIB_MDA_DUP2''@/$(GNULIB_MDA_DUP2)/g' \
+	      -e 's/@''GNULIB_MDA_EXECL''@/$(GNULIB_MDA_EXECL)/g' \
+	      -e 's/@''GNULIB_MDA_EXECLE''@/$(GNULIB_MDA_EXECLE)/g' \
+	      -e 's/@''GNULIB_MDA_EXECLP''@/$(GNULIB_MDA_EXECLP)/g' \
+	      -e 's/@''GNULIB_MDA_EXECV''@/$(GNULIB_MDA_EXECV)/g' \
+	      -e 's/@''GNULIB_MDA_EXECVE''@/$(GNULIB_MDA_EXECVE)/g' \
+	      -e 's/@''GNULIB_MDA_EXECVP''@/$(GNULIB_MDA_EXECVP)/g' \
+	      -e 's/@''GNULIB_MDA_EXECVPE''@/$(GNULIB_MDA_EXECVPE)/g' \
+	      -e 's/@''GNULIB_MDA_GETCWD''@/$(GNULIB_MDA_GETCWD)/g' \
+	      -e 's/@''GNULIB_MDA_GETPID''@/$(GNULIB_MDA_GETPID)/g' \
+	      -e 's/@''GNULIB_MDA_ISATTY''@/$(GNULIB_MDA_ISATTY)/g' \
+	      -e 's/@''GNULIB_MDA_LSEEK''@/$(GNULIB_MDA_LSEEK)/g' \
+	      -e 's/@''GNULIB_MDA_READ''@/$(GNULIB_MDA_READ)/g' \
+	      -e 's/@''GNULIB_MDA_RMDIR''@/$(GNULIB_MDA_RMDIR)/g' \
+	      -e 's/@''GNULIB_MDA_SWAB''@/$(GNULIB_MDA_SWAB)/g' \
+	      -e 's/@''GNULIB_MDA_UNLINK''@/$(GNULIB_MDA_UNLINK)/g' \
+	      -e 's/@''GNULIB_MDA_WRITE''@/$(GNULIB_MDA_WRITE)/g' \
 	      < $(srcdir)/unistd.in.h | \
 	  sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
 	      -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
diff --git a/modules/utime-h b/modules/utime-h
index fb1f1ba..489eab9 100644
--- a/modules/utime-h
+++ b/modules/utime-h
@@ -29,6 +29,7 @@ utime.h: utime.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 	      -e 's|@''NEXT_UTIME_H''@|$(NEXT_UTIME_H)|g' \
 	      -e 's/@''GNULIB_UTIME''@/$(GNULIB_UTIME)/g' \
+	      -e 's/@''GNULIB_MDA_UTIME''@/$(GNULIB_MDA_UTIME)/g' \
 	      -e 's|@''HAVE_UTIME''@|$(HAVE_UTIME)|g' \
 	      -e 's|@''REPLACE_UTIME''@|$(REPLACE_UTIME)|g' \
 	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
diff --git a/modules/wchar b/modules/wchar
index 5151688..e5c0da3 100644
--- a/modules/wchar
+++ b/modules/wchar
@@ -76,6 +76,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
 	      -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
 	      -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
 	      -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \
+	      -e 's/@''GNULIB_MDA_WCSDUP''@/$(GNULIB_MDA_WCSDUP)/g' \
 	      < $(srcdir)/wchar.in.h | \
 	  sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
 	      -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-- 
2.7.4

Reply via email to