I wrote:
> the better way is to
> use different object files for different functions. There's no reason
> why gl_strnul() should be defined in the same object file as streq() and
> memeq().

The cause of this mistake was an inappropriate use of _GL_EXTERN_INLINE:
There is no reason why streq() and memeq() should be defined in the same
object file.

More generally, there is no reason why streq() and memeq() should be defined
by the same module. The rule is: Each function in its own module, when the
functions are unrelated.

These two patches fix it.


2026-02-28  Bruno Haible  <[email protected]>

        Straighten dependencies to streq or memeq.
        * modules/argmatch (Dependencies): Add memeq, streq. Remove stringeq.
        * modules/bcp47 (Dependencies): Likewise.
        * modules/readutmp (Dependencies): Likewise.
        * modules/relocatable-prog (Dependencies): Likewise.
        * modules/relocatable-prog-wrapper (Dependencies): Likewise.
        * modules/vc-mtime (Dependencies): Likewise.
        * modules/backup-rename (Dependencies): Add memeq. Remove stringeq.
        * modules/backupfile (Dependencies): Likewise.
        * modules/boot-time (Dependencies): Likewise.
        * modules/csharpcomp (Dependencies): Likewise.
        * modules/csharpexec (Dependencies): Likewise.
        * modules/file-has-acl (Dependencies): Likewise.
        * modules/get_ppid_of (Dependencies): Likewise.
        * modules/get_progname_of (Dependencies): Likewise.
        * modules/getlogin_r (Dependencies): Likewise.
        * modules/getprogname (Dependencies): Likewise.
        * modules/getumask (Dependencies): Likewise.
        * modules/isnan-no-c++ (Dependencies): Likewise.
        * modules/isnanf (Dependencies): Likewise.
        * modules/isnanf-nolibm (Dependencies): Likewise.
        * modules/isnand (Dependencies): Likewise.
        * modules/isnand-nolibm (Dependencies): Likewise.
        * modules/isnanl (Dependencies): Likewise.
        * modules/isnanl-nolibm (Dependencies): Likewise.
        * modules/mbchar (Dependencies): Likewise.
        * modules/mem-hash-map (Dependencies): Likewise.
        * modules/memcoll (Dependencies): Likewise.
        * modules/progname (Dependencies): Likewise.
        * modules/pthread_sigmask (Dependencies): Likewise.
        * modules/quotearg (Dependencies): Likewise.
        * modules/same (Dependencies): Likewise.
        * modules/signbit-no-c++ (Dependencies): Likewise.
        * modules/string-desc (Dependencies): Likewise.
        * modules/uniname/uniname (Dependencies): Likewise.
        * modules/acl-permissions (Dependencies): Add streq. Remove stringeq.
        * modules/argp (Dependencies): Likewise.
        * modules/c-vasnprintf (Dependencies): Likewise.
        * modules/c32_get_mapping (Dependencies): Likewise.
        * modules/c32_get_type_test (Dependencies): Likewise.
        * modules/concat-filename (Dependencies): Likewise.
        * modules/cpu-supports (Dependencies): Likewise.
        * modules/dfa (Dependencies): Likewise.
        * modules/duplocale (Dependencies): Likewise.
        * modules/exclude (Dependencies): Likewise.
        * modules/findprog (Dependencies): Likewise.
        * modules/findprog-in (Dependencies): Likewise.
        * modules/findprog-lgpl (Dependencies): Likewise.
        * modules/fopen (Dependencies): Likewise.
        * modules/fopen-gnu (Dependencies): Likewise.
        * modules/freopen (Dependencies): Likewise.
        * modules/fts (Dependencies): Likewise.
        * modules/getlocalename_l-simple (Dependencies): Likewise.
        * modules/getlocalename_l-unsafe (Dependencies): Likewise.
        * modules/getlogin (Dependencies): Likewise.
        * modules/getugroups (Dependencies): Likewise.
        * modules/hard-locale (Dependencies): Likewise.
        * modules/hashcode-named-file (Dependencies): Likewise.
        * modules/hashkey-string (Dependencies): Likewise.
        * modules/iconv_open (Dependencies): Likewise.
        * modules/idcache (Dependencies): Likewise.
        * modules/localcharset (Dependencies): Likewise.
        * modules/localename (Dependencies): Likewise.
        * modules/localename-environ (Dependencies): Likewise.
        * modules/localename-unsafe (Dependencies): Likewise.
        * modules/localename-unsafe-limited (Dependencies): Likewise.
        * modules/map-c++-tests (Dependencies): Likewise.
        * modules/mbs_endswith (Dependencies): Likewise.
        * modules/mountlist (Dependencies): Likewise.
        * modules/newlocale (Dependencies): Likewise.
        * modules/nl_langinfo (Dependencies): Likewise.
        * modules/nproc (Dependencies): Likewise.
        * modules/open (Dependencies): Likewise.
        * modules/parse-datetime (Dependencies): Likewise.
        * modules/popen (Dependencies): Likewise.
        * modules/posix_spawn-internal (Dependencies): Likewise.
        * modules/propername (Dependencies): Likewise.
        * modules/pt_chown (Dependencies): Likewise.
        * modules/putenv-gnu (Dependencies): Likewise.
        * modules/qcopy-acl (Dependencies): Likewise.
        * modules/rpmatch (Dependencies): Likewise.
        * modules/selinux-h (Dependencies): Likewise.
        * modules/setlocale (Dependencies): Likewise.
        * modules/setlocale-fixes (Dependencies): Likewise.
        * modules/sig2str (Dependencies): Likewise.
        * modules/spawn-pipe (Dependencies): Likewise.
        * modules/stat (Dependencies): Likewise.
        * modules/str_endswith (Dependencies): Likewise.
        * modules/streq-opt (Dependencies): Likewise.
        * modules/striconveha (Dependencies): Likewise.
        * modules/supersede (Dependencies): Likewise.
        * modules/time_rz (Dependencies): Likewise.
        * modules/unicodeio (Dependencies): Likewise.
        * modules/unistdio/u16-u16-vasnprintf (Dependencies): Likewise.
        * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
        * modules/unistdio/u32-u32-vasnprintf (Dependencies): Likewise.
        * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
        * modules/unistdio/u8-u8-vasnprintf (Dependencies): Likewise.
        * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
        * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
        * modules/vasnprintf (Dependencies): Likewise.
        * modules/vasnwprintf (Dependencies): Likewise.
        * modules/wctrans (Dependencies): Likewise.
        * modules/wctype (Dependencies): Likewise.
        * modules/c-nstrftime (Dependencies): Add streq.
        * modules/fprintftime (Dependencies): Likewise.
        * modules/nstrftime (Dependencies): Likewise.
        * modules/nstrftime-limited (Dependencies): Likewise.

2026-02-28  Bruno Haible  <[email protected]>

        streq, memeq: New modules.
        * lib/string.in.h (_GL_STRING_INLINE): Remove macro.
        (_GL_MEMEQ_INLINE): New macro.
        (memeq): Use it instead of _GL_STRING_INLINE. Test GNULIB_MEMEQ.
        (_GL_STREQ_INLINE): New macro.
        (streq): Use it instead of _GL_STRING_INLINE. Test GNULIB_STREQ.
        * lib/memeq.c: New file.
        * lib/streq.c: New file.
        * lib/string.c: Remove file.
        * m4/memeq.m4: New file, based on m4/stringeq.m4.
        * m4/streq.m4: New file, based on m4/stringeq.m4.
        * m4/stringeq.m4: Remove file.
        * m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Initialize
        GNULIB_MEMEQ, GNULIB_STREQ. Don't initialize GNULIB_STRINGEQ.
        * modules/string-h (Makefile.am): Substitute GNULIB_MEMEQ, GNULIB_STREQ.
        Don't substitute GNULIB_STRINGEQ.
        * modules/memeq: New file.
        * modules/streq: New file.
        * modules/stringeq: Change to just be the union of streq and memeq.
        * MODULES.html.sh (func_all_modules): Add memeq, streq.

>From 875d01ba0d3cc4823dc68263292fd7b8046c9b95 Mon Sep 17 00:00:00 2001
From: Bruno Haible <[email protected]>
Date: Sat, 28 Feb 2026 16:36:24 +0100
Subject: [PATCH 1/2] streq, memeq: New modules.

* lib/string.in.h (_GL_STRING_INLINE): Remove macro.
(_GL_MEMEQ_INLINE): New macro.
(memeq): Use it instead of _GL_STRING_INLINE. Test GNULIB_MEMEQ.
(_GL_STREQ_INLINE): New macro.
(streq): Use it instead of _GL_STRING_INLINE. Test GNULIB_STREQ.
* lib/memeq.c: New file.
* lib/streq.c: New file.
* lib/string.c: Remove file.
* m4/memeq.m4: New file, based on m4/stringeq.m4.
* m4/streq.m4: New file, based on m4/stringeq.m4.
* m4/stringeq.m4: Remove file.
* m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Initialize
GNULIB_MEMEQ, GNULIB_STREQ. Don't initialize GNULIB_STRINGEQ.
* modules/string-h (Makefile.am): Substitute GNULIB_MEMEQ, GNULIB_STREQ.
Don't substitute GNULIB_STRINGEQ.
* modules/memeq: New file.
* modules/streq: New file.
* modules/stringeq: Change to just be the union of streq and memeq.
* MODULES.html.sh (func_all_modules): Add memeq, streq.
---
 ChangeLog                    | 23 +++++++++++++++++++++++
 MODULES.html.sh              |  2 ++
 lib/{string.c => memeq.c}    |  4 ++--
 lib/streq.c                  | 19 +++++++++++++++++++
 lib/string.in.h              | 15 +++++++++------
 m4/{stringeq.m4 => memeq.m4} | 11 +----------
 m4/streq.m4                  | 16 ++++++++++++++++
 m4/string_h.m4               |  5 +++--
 modules/memeq                | 26 ++++++++++++++++++++++++++
 modules/streq                | 26 ++++++++++++++++++++++++++
 modules/string-h             |  3 ++-
 modules/stringeq             | 10 ++--------
 12 files changed, 131 insertions(+), 29 deletions(-)
 rename lib/{string.c => memeq.c} (91%)
 create mode 100644 lib/streq.c
 rename m4/{stringeq.m4 => memeq.m4} (72%)
 create mode 100644 m4/streq.m4
 create mode 100644 modules/memeq
 create mode 100644 modules/streq

diff --git a/ChangeLog b/ChangeLog
index d7d143c73d..44afa08caa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2026-02-28  Bruno Haible  <[email protected]>
+
+	streq, memeq: New modules.
+	* lib/string.in.h (_GL_STRING_INLINE): Remove macro.
+	(_GL_MEMEQ_INLINE): New macro.
+	(memeq): Use it instead of _GL_STRING_INLINE. Test GNULIB_MEMEQ.
+	(_GL_STREQ_INLINE): New macro.
+	(streq): Use it instead of _GL_STRING_INLINE. Test GNULIB_STREQ.
+	* lib/memeq.c: New file.
+	* lib/streq.c: New file.
+	* lib/string.c: Remove file.
+	* m4/memeq.m4: New file, based on m4/stringeq.m4.
+	* m4/streq.m4: New file, based on m4/stringeq.m4.
+	* m4/stringeq.m4: Remove file.
+	* m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Initialize
+	GNULIB_MEMEQ, GNULIB_STREQ. Don't initialize GNULIB_STRINGEQ.
+	* modules/string-h (Makefile.am): Substitute GNULIB_MEMEQ, GNULIB_STREQ.
+	Don't substitute GNULIB_STRINGEQ.
+	* modules/memeq: New file.
+	* modules/streq: New file.
+	* modules/stringeq: Change to just be the union of streq and memeq.
+	* MODULES.html.sh (func_all_modules): Add memeq, streq.
+
 2026-02-28  Bruno Haible  <[email protected]>
 
 	Fix module dependencies after 2025-09-17 "stringeq: prefer streq to strcmp in other modules".
diff --git a/MODULES.html.sh b/MODULES.html.sh
index b274c56960..6cb0e2c5a0 100755
--- a/MODULES.html.sh
+++ b/MODULES.html.sh
@@ -1855,6 +1855,7 @@ func_all_modules ()
   func_module memchr
   func_module memchr2
   func_module memcmp2
+  func_module memeq
   func_module memmem
   func_module memmem-simple
   func_module mempcpy
@@ -1870,6 +1871,7 @@ func_all_modules ()
   func_module strcasestr
   func_module strcasestr-simple
   func_module strchrnul
+  func_module streq
   func_module streq-opt
   func_module strerrorname_np
   func_module strerror_r-posix
diff --git a/lib/string.c b/lib/memeq.c
similarity index 91%
rename from lib/string.c
rename to lib/memeq.c
index 610da9f12e..9cefacd949 100644
--- a/lib/string.c
+++ b/lib/memeq.c
@@ -1,4 +1,4 @@
-/* streq, memeq functions.
+/* memeq function.
    Copyright (C) 2025-2026 Free Software Foundation, Inc.
 
    This file is free software: you can redistribute it and/or modify
@@ -14,6 +14,6 @@
    You should have received a copy of the GNU Lesser General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
-#define _GL_STRING_INLINE _GL_EXTERN_INLINE
+#define _GL_MEMEQ_INLINE _GL_EXTERN_INLINE
 #include <config.h>
 #include <string.h>
diff --git a/lib/streq.c b/lib/streq.c
new file mode 100644
index 0000000000..69b0d7b784
--- /dev/null
+++ b/lib/streq.c
@@ -0,0 +1,19 @@
+/* streq function.
+   Copyright (C) 2025-2026 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#define _GL_STREQ_INLINE _GL_EXTERN_INLINE
+#include <config.h>
+#include <string.h>
diff --git a/lib/string.in.h b/lib/string.in.h
index c930ecc4e0..0cd83c7844 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -81,8 +81,11 @@
 #endif
 
 _GL_INLINE_HEADER_BEGIN
-#ifndef _GL_STRING_INLINE
-# define _GL_STRING_INLINE _GL_INLINE
+#ifndef _GL_MEMEQ_INLINE
+# define _GL_MEMEQ_INLINE _GL_INLINE
+#endif
+#ifndef _GL_STREQ_INLINE
+# define _GL_STREQ_INLINE _GL_INLINE
 #endif
 #ifndef _GL_STRNUL_INLINE
 # define _GL_STRNUL_INLINE _GL_INLINE
@@ -416,11 +419,11 @@ _GL_WARN_ON_USE_CXX (memchr,
 #endif
 
 /* Are S1 and S2, of size N, bytewise equal?  */
-#if @GNULIB_STRINGEQ@ && !@HAVE_DECL_MEMEQ@
+#if @GNULIB_MEMEQ@ && !@HAVE_DECL_MEMEQ@
 # ifdef __cplusplus
 extern "C" {
 # endif
-_GL_STRING_INLINE bool
+_GL_MEMEQ_INLINE bool
 memeq (void const *__s1, void const *__s2, size_t __n)
 {
   return !memcmp (__s1, __s2, __n);
@@ -801,11 +804,11 @@ _GL_CXXALIASWARN (strdup);
 #endif
 
 /* Are strings S1 and S2 equal?  */
-#if @GNULIB_STRINGEQ@ && !@HAVE_DECL_STREQ@
+#if @GNULIB_STREQ@ && !@HAVE_DECL_STREQ@
 # ifdef __cplusplus
 extern "C" {
 # endif
-_GL_STRING_INLINE bool
+_GL_STREQ_INLINE bool
 streq (char const *__s1, char const *__s2)
 {
   return !strcmp (__s1, __s2);
diff --git a/m4/stringeq.m4 b/m4/memeq.m4
similarity index 72%
rename from m4/stringeq.m4
rename to m4/memeq.m4
index ffea8afc7e..775c1bdb74 100644
--- a/m4/stringeq.m4
+++ b/m4/memeq.m4
@@ -1,4 +1,4 @@
-# stringeq.m4
+# memeq.m4
 # serial 1
 dnl Copyright (C) 2025-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
@@ -6,15 +6,6 @@
 dnl with or without modifications, as long as this notice is preserved.
 dnl This file is offered as-is, without any warranty.
 
-AC_DEFUN([gl_FUNC_STREQ],
-[
-  AC_REQUIRE([gl_STRING_H_DEFAULTS])
-  AC_CHECK_DECLS_ONCE([streq])
-  if test $ac_cv_have_decl_streq != no; then
-    HAVE_DECL_STREQ=1
-  fi
-])
-
 AC_DEFUN([gl_FUNC_MEMEQ],
 [
   AC_REQUIRE([gl_STRING_H_DEFAULTS])
diff --git a/m4/streq.m4 b/m4/streq.m4
new file mode 100644
index 0000000000..58c24fdc14
--- /dev/null
+++ b/m4/streq.m4
@@ -0,0 +1,16 @@
+# streq.m4
+# serial 1
+dnl Copyright (C) 2025-2026 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.
+dnl This file is offered as-is, without any warranty.
+
+AC_DEFUN([gl_FUNC_STREQ],
+[
+  AC_REQUIRE([gl_STRING_H_DEFAULTS])
+  AC_CHECK_DECLS_ONCE([streq])
+  if test $ac_cv_have_decl_streq != no; then
+    HAVE_DECL_STREQ=1
+  fi
+])
diff --git a/m4/string_h.m4 b/m4/string_h.m4
index 93a5d354cf..86f9537ef1 100644
--- a/m4/string_h.m4
+++ b/m4/string_h.m4
@@ -1,5 +1,5 @@
 # string_h.m4
-# serial 47
+# serial 48
 dnl Copyright (C) 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -54,6 +54,7 @@ AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS]
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSL])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSLL])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMEQ])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR])
@@ -63,7 +64,7 @@ AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS]
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCHRNUL])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRDUP])
-    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRINGEQ])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STREQ])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCAT])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCPY])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNDUP])
diff --git a/modules/memeq b/modules/memeq
new file mode 100644
index 0000000000..2d3e4c0d21
--- /dev/null
+++ b/modules/memeq
@@ -0,0 +1,26 @@
+Description:
+memeq() function: test for memory region equality
+
+Files:
+lib/memeq.c
+m4/memeq.m4
+
+Depends-on:
+bool
+string-h
+
+configure.ac:
+gl_FUNC_MEMEQ
+gl_STRING_MODULE_INDICATOR([memeq])
+
+Makefile.am:
+lib_SOURCES += memeq.c
+
+Include:
+<string.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+all
diff --git a/modules/streq b/modules/streq
new file mode 100644
index 0000000000..8c131d5966
--- /dev/null
+++ b/modules/streq
@@ -0,0 +1,26 @@
+Description:
+streq() function: test for string equality
+
+Files:
+lib/streq.c
+m4/streq.m4
+
+Depends-on:
+bool
+string-h
+
+configure.ac:
+gl_FUNC_STREQ
+gl_STRING_MODULE_INDICATOR([streq])
+
+Makefile.am:
+lib_SOURCES += streq.c
+
+Include:
+<string.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+all
diff --git a/modules/string-h b/modules/string-h
index 68ed79b462..8e385be121 100644
--- a/modules/string-h
+++ b/modules/string-h
@@ -54,6 +54,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's/@''GNULIB_MBS_ENDSWITH''@/$(GNULIB_MBS_ENDSWITH)/g' \
 	      -e 's/@''GNULIB_MBS_STARTSWITH''@/$(GNULIB_MBS_STARTSWITH)/g' \
 	      -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
+	      -e 's/@''GNULIB_MEMEQ''@/$(GNULIB_MEMEQ)/g' \
 	      -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
 	      -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
 	      -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
@@ -63,7 +64,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
 	      -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
 	      -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
-	      -e 's/@''GNULIB_STRINGEQ''@/$(GNULIB_STRINGEQ)/g' \
+	      -e 's/@''GNULIB_STREQ''@/$(GNULIB_STREQ)/g' \
 	      -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
 	      -e 's/@''GNULIB_STRNCPY''@/$(GNULIB_STRNCPY)/g' \
 	      -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
diff --git a/modules/stringeq b/modules/stringeq
index 5a21f82484..72c40f4d4c 100644
--- a/modules/stringeq
+++ b/modules/stringeq
@@ -2,20 +2,14 @@ Description:
 streq and memeq convenience functions for string equality
 
 Files:
-lib/string.c
-m4/stringeq.m4
 
 Depends-on:
-bool
-string-h
+streq
+memeq
 
 configure.ac:
-gl_FUNC_STREQ
-gl_FUNC_MEMEQ
-gl_STRING_MODULE_INDICATOR([stringeq])
 
 Makefile.am:
-lib_SOURCES += string.c
 
 Include:
 <string.h>
-- 
2.52.0

>From df9aa7f7ad4378533c41bee7caa6b5cf27fefed6 Mon Sep 17 00:00:00 2001
From: Bruno Haible <[email protected]>
Date: Sat, 28 Feb 2026 18:44:42 +0100
Subject: [PATCH 2/2] Straighten dependencies to streq or memeq.

* modules/argmatch (Dependencies): Add memeq, streq. Remove stringeq.
* modules/bcp47 (Dependencies): Likewise.
* modules/readutmp (Dependencies): Likewise.
* modules/relocatable-prog (Dependencies): Likewise.
* modules/relocatable-prog-wrapper (Dependencies): Likewise.
* modules/vc-mtime (Dependencies): Likewise.
* modules/backup-rename (Dependencies): Add memeq. Remove stringeq.
* modules/backupfile (Dependencies): Likewise.
* modules/boot-time (Dependencies): Likewise.
* modules/csharpcomp (Dependencies): Likewise.
* modules/csharpexec (Dependencies): Likewise.
* modules/file-has-acl (Dependencies): Likewise.
* modules/get_ppid_of (Dependencies): Likewise.
* modules/get_progname_of (Dependencies): Likewise.
* modules/getlogin_r (Dependencies): Likewise.
* modules/getprogname (Dependencies): Likewise.
* modules/getumask (Dependencies): Likewise.
* modules/isnan-no-c++ (Dependencies): Likewise.
* modules/isnanf (Dependencies): Likewise.
* modules/isnanf-nolibm (Dependencies): Likewise.
* modules/isnand (Dependencies): Likewise.
* modules/isnand-nolibm (Dependencies): Likewise.
* modules/isnanl (Dependencies): Likewise.
* modules/isnanl-nolibm (Dependencies): Likewise.
* modules/mbchar (Dependencies): Likewise.
* modules/mem-hash-map (Dependencies): Likewise.
* modules/memcoll (Dependencies): Likewise.
* modules/progname (Dependencies): Likewise.
* modules/pthread_sigmask (Dependencies): Likewise.
* modules/quotearg (Dependencies): Likewise.
* modules/same (Dependencies): Likewise.
* modules/signbit-no-c++ (Dependencies): Likewise.
* modules/string-desc (Dependencies): Likewise.
* modules/uniname/uniname (Dependencies): Likewise.
* modules/acl-permissions (Dependencies): Add streq. Remove stringeq.
* modules/argp (Dependencies): Likewise.
* modules/c-vasnprintf (Dependencies): Likewise.
* modules/c32_get_mapping (Dependencies): Likewise.
* modules/c32_get_type_test (Dependencies): Likewise.
* modules/concat-filename (Dependencies): Likewise.
* modules/cpu-supports (Dependencies): Likewise.
* modules/dfa (Dependencies): Likewise.
* modules/duplocale (Dependencies): Likewise.
* modules/exclude (Dependencies): Likewise.
* modules/findprog (Dependencies): Likewise.
* modules/findprog-in (Dependencies): Likewise.
* modules/findprog-lgpl (Dependencies): Likewise.
* modules/fopen (Dependencies): Likewise.
* modules/fopen-gnu (Dependencies): Likewise.
* modules/freopen (Dependencies): Likewise.
* modules/fts (Dependencies): Likewise.
* modules/getlocalename_l-simple (Dependencies): Likewise.
* modules/getlocalename_l-unsafe (Dependencies): Likewise.
* modules/getlogin (Dependencies): Likewise.
* modules/getugroups (Dependencies): Likewise.
* modules/hard-locale (Dependencies): Likewise.
* modules/hashcode-named-file (Dependencies): Likewise.
* modules/hashkey-string (Dependencies): Likewise.
* modules/iconv_open (Dependencies): Likewise.
* modules/idcache (Dependencies): Likewise.
* modules/localcharset (Dependencies): Likewise.
* modules/localename (Dependencies): Likewise.
* modules/localename-environ (Dependencies): Likewise.
* modules/localename-unsafe (Dependencies): Likewise.
* modules/localename-unsafe-limited (Dependencies): Likewise.
* modules/map-c++-tests (Dependencies): Likewise.
* modules/mbs_endswith (Dependencies): Likewise.
* modules/mountlist (Dependencies): Likewise.
* modules/newlocale (Dependencies): Likewise.
* modules/nl_langinfo (Dependencies): Likewise.
* modules/nproc (Dependencies): Likewise.
* modules/open (Dependencies): Likewise.
* modules/parse-datetime (Dependencies): Likewise.
* modules/popen (Dependencies): Likewise.
* modules/posix_spawn-internal (Dependencies): Likewise.
* modules/propername (Dependencies): Likewise.
* modules/pt_chown (Dependencies): Likewise.
* modules/putenv-gnu (Dependencies): Likewise.
* modules/qcopy-acl (Dependencies): Likewise.
* modules/rpmatch (Dependencies): Likewise.
* modules/selinux-h (Dependencies): Likewise.
* modules/setlocale (Dependencies): Likewise.
* modules/setlocale-fixes (Dependencies): Likewise.
* modules/sig2str (Dependencies): Likewise.
* modules/spawn-pipe (Dependencies): Likewise.
* modules/stat (Dependencies): Likewise.
* modules/str_endswith (Dependencies): Likewise.
* modules/streq-opt (Dependencies): Likewise.
* modules/striconveha (Dependencies): Likewise.
* modules/supersede (Dependencies): Likewise.
* modules/time_rz (Dependencies): Likewise.
* modules/unicodeio (Dependencies): Likewise.
* modules/unistdio/u16-u16-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u32-u32-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u8-u8-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
* modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
* modules/vasnprintf (Dependencies): Likewise.
* modules/vasnwprintf (Dependencies): Likewise.
* modules/wctrans (Dependencies): Likewise.
* modules/wctype (Dependencies): Likewise.
* modules/c-nstrftime (Dependencies): Add streq.
* modules/fprintftime (Dependencies): Likewise.
* modules/nstrftime (Dependencies): Likewise.
* modules/nstrftime-limited (Dependencies): Likewise.
---
 ChangeLog                           | 111 ++++++++++++++++++++++++++++
 modules/acl-permissions             |   2 +-
 modules/argmatch                    |   3 +-
 modules/argp                        |   2 +-
 modules/backup-rename               |   2 +-
 modules/backupfile                  |   2 +-
 modules/bcp47                       |   3 +-
 modules/boot-time                   |   2 +-
 modules/c-nstrftime                 |   1 +
 modules/c-vasnprintf                |   2 +-
 modules/c32_get_mapping             |   2 +-
 modules/c32_get_type_test           |   2 +-
 modules/concat-filename             |   2 +-
 modules/cpu-supports                |   2 +-
 modules/csharpcomp                  |   2 +-
 modules/csharpexec                  |   2 +-
 modules/dfa                         |   2 +-
 modules/duplocale                   |   2 +-
 modules/exclude                     |   2 +-
 modules/file-has-acl                |   2 +-
 modules/findprog                    |   2 +-
 modules/findprog-in                 |   2 +-
 modules/findprog-lgpl               |   2 +-
 modules/fopen                       |   2 +-
 modules/fopen-gnu                   |   2 +-
 modules/fprintftime                 |   1 +
 modules/freopen                     |   2 +-
 modules/fts                         |   2 +-
 modules/get_ppid_of                 |   2 +-
 modules/get_progname_of             |   2 +-
 modules/getlocalename_l-simple      |   2 +-
 modules/getlocalename_l-unsafe      |   2 +-
 modules/getlogin                    |   2 +-
 modules/getlogin_r                  |   2 +-
 modules/getprogname                 |   2 +-
 modules/getugroups                  |   2 +-
 modules/getumask                    |   2 +-
 modules/hard-locale                 |   2 +-
 modules/hashcode-named-file         |   2 +-
 modules/hashkey-string              |   2 +-
 modules/iconv_open                  |   2 +-
 modules/idcache                     |   2 +-
 modules/isnan-no-c++                |   2 +-
 modules/isnand                      |   2 +-
 modules/isnand-nolibm               |   2 +-
 modules/isnanf                      |   2 +-
 modules/isnanf-nolibm               |   2 +-
 modules/isnanl                      |   2 +-
 modules/isnanl-nolibm               |   2 +-
 modules/localcharset                |   2 +-
 modules/localename                  |   2 +-
 modules/localename-environ          |   2 +-
 modules/localename-unsafe           |   2 +-
 modules/localename-unsafe-limited   |   2 +-
 modules/map-c++-tests               |   2 +-
 modules/mbchar                      |   2 +-
 modules/mbs_endswith                |   2 +-
 modules/mem-hash-map                |   2 +-
 modules/memcoll                     |   2 +-
 modules/mountlist                   |   2 +-
 modules/newlocale                   |   2 +-
 modules/nl_langinfo                 |   2 +-
 modules/nproc                       |   2 +-
 modules/nstrftime                   |   1 +
 modules/nstrftime-limited           |   1 +
 modules/open                        |   2 +-
 modules/parse-datetime              |   2 +-
 modules/popen                       |   2 +-
 modules/posix_spawn-internal        |   2 +-
 modules/progname                    |   2 +-
 modules/propername                  |   2 +-
 modules/pt_chown                    |   2 +-
 modules/pthread_sigmask             |   2 +-
 modules/putenv-gnu                  |   2 +-
 modules/qcopy-acl                   |   2 +-
 modules/quotearg                    |   2 +-
 modules/readutmp                    |   3 +-
 modules/relocatable-prog            |   3 +-
 modules/relocatable-prog-wrapper    |   3 +-
 modules/rpmatch                     |   2 +-
 modules/same                        |   2 +-
 modules/selinux-h                   |   2 +-
 modules/setlocale                   |   2 +-
 modules/setlocale-fixes             |   2 +-
 modules/sig2str                     |   2 +-
 modules/signbit-no-c++              |   2 +-
 modules/spawn-pipe                  |   2 +-
 modules/stat                        |   2 +-
 modules/str_endswith                |   2 +-
 modules/streq-opt                   |   2 +-
 modules/striconveha                 |   2 +-
 modules/string-desc                 |   2 +-
 modules/supersede                   |   2 +-
 modules/time_rz                     |   2 +-
 modules/unicodeio                   |   2 +-
 modules/uniname/uniname             |   2 +-
 modules/unistdio/u16-u16-vasnprintf |   2 +-
 modules/unistdio/u16-vasnprintf     |   2 +-
 modules/unistdio/u32-u32-vasnprintf |   2 +-
 modules/unistdio/u32-vasnprintf     |   2 +-
 modules/unistdio/u8-u8-vasnprintf   |   2 +-
 modules/unistdio/u8-vasnprintf      |   2 +-
 modules/unistdio/ulc-vasnprintf     |   2 +-
 modules/vasnprintf                  |   2 +-
 modules/vasnwprintf                 |   2 +-
 modules/vc-mtime                    |   3 +-
 modules/wctrans                     |   2 +-
 modules/wctype                      |   2 +-
 108 files changed, 224 insertions(+), 103 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 44afa08caa..f3afcc4f3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,114 @@
+2026-02-28  Bruno Haible  <[email protected]>
+
+	Straighten dependencies to streq or memeq.
+	* modules/argmatch (Dependencies): Add memeq, streq. Remove stringeq.
+	* modules/bcp47 (Dependencies): Likewise.
+	* modules/readutmp (Dependencies): Likewise.
+	* modules/relocatable-prog (Dependencies): Likewise.
+	* modules/relocatable-prog-wrapper (Dependencies): Likewise.
+	* modules/vc-mtime (Dependencies): Likewise.
+	* modules/backup-rename (Dependencies): Add memeq. Remove stringeq.
+	* modules/backupfile (Dependencies): Likewise.
+	* modules/boot-time (Dependencies): Likewise.
+	* modules/csharpcomp (Dependencies): Likewise.
+	* modules/csharpexec (Dependencies): Likewise.
+	* modules/file-has-acl (Dependencies): Likewise.
+	* modules/get_ppid_of (Dependencies): Likewise.
+	* modules/get_progname_of (Dependencies): Likewise.
+	* modules/getlogin_r (Dependencies): Likewise.
+	* modules/getprogname (Dependencies): Likewise.
+	* modules/getumask (Dependencies): Likewise.
+	* modules/isnan-no-c++ (Dependencies): Likewise.
+	* modules/isnanf (Dependencies): Likewise.
+	* modules/isnanf-nolibm (Dependencies): Likewise.
+	* modules/isnand (Dependencies): Likewise.
+	* modules/isnand-nolibm (Dependencies): Likewise.
+	* modules/isnanl (Dependencies): Likewise.
+	* modules/isnanl-nolibm (Dependencies): Likewise.
+	* modules/mbchar (Dependencies): Likewise.
+	* modules/mem-hash-map (Dependencies): Likewise.
+	* modules/memcoll (Dependencies): Likewise.
+	* modules/progname (Dependencies): Likewise.
+	* modules/pthread_sigmask (Dependencies): Likewise.
+	* modules/quotearg (Dependencies): Likewise.
+	* modules/same (Dependencies): Likewise.
+	* modules/signbit-no-c++ (Dependencies): Likewise.
+	* modules/string-desc (Dependencies): Likewise.
+	* modules/uniname/uniname (Dependencies): Likewise.
+	* modules/acl-permissions (Dependencies): Add streq. Remove stringeq.
+	* modules/argp (Dependencies): Likewise.
+	* modules/c-vasnprintf (Dependencies): Likewise.
+	* modules/c32_get_mapping (Dependencies): Likewise.
+	* modules/c32_get_type_test (Dependencies): Likewise.
+	* modules/concat-filename (Dependencies): Likewise.
+	* modules/cpu-supports (Dependencies): Likewise.
+	* modules/dfa (Dependencies): Likewise.
+	* modules/duplocale (Dependencies): Likewise.
+	* modules/exclude (Dependencies): Likewise.
+	* modules/findprog (Dependencies): Likewise.
+	* modules/findprog-in (Dependencies): Likewise.
+	* modules/findprog-lgpl (Dependencies): Likewise.
+	* modules/fopen (Dependencies): Likewise.
+	* modules/fopen-gnu (Dependencies): Likewise.
+	* modules/freopen (Dependencies): Likewise.
+	* modules/fts (Dependencies): Likewise.
+	* modules/getlocalename_l-simple (Dependencies): Likewise.
+	* modules/getlocalename_l-unsafe (Dependencies): Likewise.
+	* modules/getlogin (Dependencies): Likewise.
+	* modules/getugroups (Dependencies): Likewise.
+	* modules/hard-locale (Dependencies): Likewise.
+	* modules/hashcode-named-file (Dependencies): Likewise.
+	* modules/hashkey-string (Dependencies): Likewise.
+	* modules/iconv_open (Dependencies): Likewise.
+	* modules/idcache (Dependencies): Likewise.
+	* modules/localcharset (Dependencies): Likewise.
+	* modules/localename (Dependencies): Likewise.
+	* modules/localename-environ (Dependencies): Likewise.
+	* modules/localename-unsafe (Dependencies): Likewise.
+	* modules/localename-unsafe-limited (Dependencies): Likewise.
+	* modules/map-c++-tests (Dependencies): Likewise.
+	* modules/mbs_endswith (Dependencies): Likewise.
+	* modules/mountlist (Dependencies): Likewise.
+	* modules/newlocale (Dependencies): Likewise.
+	* modules/nl_langinfo (Dependencies): Likewise.
+	* modules/nproc (Dependencies): Likewise.
+	* modules/open (Dependencies): Likewise.
+	* modules/parse-datetime (Dependencies): Likewise.
+	* modules/popen (Dependencies): Likewise.
+	* modules/posix_spawn-internal (Dependencies): Likewise.
+	* modules/propername (Dependencies): Likewise.
+	* modules/pt_chown (Dependencies): Likewise.
+	* modules/putenv-gnu (Dependencies): Likewise.
+	* modules/qcopy-acl (Dependencies): Likewise.
+	* modules/rpmatch (Dependencies): Likewise.
+	* modules/selinux-h (Dependencies): Likewise.
+	* modules/setlocale (Dependencies): Likewise.
+	* modules/setlocale-fixes (Dependencies): Likewise.
+	* modules/sig2str (Dependencies): Likewise.
+	* modules/spawn-pipe (Dependencies): Likewise.
+	* modules/stat (Dependencies): Likewise.
+	* modules/str_endswith (Dependencies): Likewise.
+	* modules/streq-opt (Dependencies): Likewise.
+	* modules/striconveha (Dependencies): Likewise.
+	* modules/supersede (Dependencies): Likewise.
+	* modules/time_rz (Dependencies): Likewise.
+	* modules/unicodeio (Dependencies): Likewise.
+	* modules/unistdio/u16-u16-vasnprintf (Dependencies): Likewise.
+	* modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
+	* modules/unistdio/u32-u32-vasnprintf (Dependencies): Likewise.
+	* modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
+	* modules/unistdio/u8-u8-vasnprintf (Dependencies): Likewise.
+	* modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
+	* modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
+	* modules/vasnprintf (Dependencies): Likewise.
+	* modules/vasnwprintf (Dependencies): Likewise.
+	* modules/wctrans (Dependencies): Likewise.
+	* modules/wctype (Dependencies): Likewise.
+	* modules/c-nstrftime (Dependencies): Add streq.
+	* modules/fprintftime (Dependencies): Likewise.
+	* modules/nstrftime (Dependencies): Likewise.
+	* modules/nstrftime-limited (Dependencies): Likewise.
+
 2026-02-28  Bruno Haible  <[email protected]>
 
 	streq, memeq: New modules.
diff --git a/modules/acl-permissions b/modules/acl-permissions
index 4acbd966d1..59c88016e2 100644
--- a/modules/acl-permissions
+++ b/modules/acl-permissions
@@ -16,7 +16,7 @@ extern-inline
 fstat
 minmax
 stat
-stringeq
+streq
 bool
 sys_stat-h
 stdint-h
diff --git a/modules/argmatch b/modules/argmatch
index 1b9bc9abf5..6532b38543 100644
--- a/modules/argmatch
+++ b/modules/argmatch
@@ -18,7 +18,8 @@ quote
 quotearg
 bool
 stdlib-h
-stringeq
+memeq
+streq
 
 configure.ac:
 
diff --git a/modules/argp b/modules/argp
index d435ae0cfd..7fccb3b169 100644
--- a/modules/argp
+++ b/modules/argp
@@ -24,7 +24,7 @@ basename-lgpl
 extern-inline
 getopt-gnu
 strchrnul
-stringeq
+streq
 sysexits-h
 malloc-gnu
 mempcpy
diff --git a/modules/backup-rename b/modules/backup-rename
index 748c7e47ea..b93ba941e0 100644
--- a/modules/backup-rename
+++ b/modules/backup-rename
@@ -18,7 +18,7 @@ d-ino
 fcntl-h
 ialloc
 memcmp
-stringeq
+memeq
 opendirat
 readdir
 renameatu
diff --git a/modules/backupfile b/modules/backupfile
index d4555a126a..65e9e9adb2 100644
--- a/modules/backupfile
+++ b/modules/backupfile
@@ -24,7 +24,7 @@ renameatu
 bool
 stdckdint-h
 stdint-h
-stringeq
+memeq
 xalloc-die
 
 configure.ac:
diff --git a/modules/bcp47 b/modules/bcp47
index db9d3d60a7..c9a841f57b 100644
--- a/modules/bcp47
+++ b/modules/bcp47
@@ -8,7 +8,8 @@ lib/bcp47.c
 Depends-on:
 bool
 c-ctype
-stringeq
+memeq
+streq
 
 configure.ac:
 
diff --git a/modules/boot-time b/modules/boot-time
index e9c06941f8..e8214c8010 100644
--- a/modules/boot-time
+++ b/modules/boot-time
@@ -11,7 +11,7 @@ m4/readutmp.m4
 Depends-on:
 extensions
 idx
-stringeq
+memeq
 stat-time
 gettimeofday
 bool
diff --git a/modules/c-nstrftime b/modules/c-nstrftime
index b60b48e154..0498ce669a 100644
--- a/modules/c-nstrftime
+++ b/modules/c-nstrftime
@@ -19,6 +19,7 @@ libc-config
 locale-h
 bool
 stdckdint-h
+streq
 strnul
 time_rz
 
diff --git a/modules/c-vasnprintf b/modules/c-vasnprintf
index 945dc1f676..37cfd14a5c 100644
--- a/modules/c-vasnprintf
+++ b/modules/c-vasnprintf
@@ -38,7 +38,7 @@ memchr
 multiarch
 mbszero
 mbsnlen
-stringeq
+streq
 
 configure.ac:
 AC_REQUIRE([AC_C_RESTRICT])
diff --git a/modules/c32_get_mapping b/modules/c32_get_mapping
index 1545c5e22d..4361fcd027 100644
--- a/modules/c32_get_mapping
+++ b/modules/c32_get_mapping
@@ -10,7 +10,7 @@ uchar-h
 wctrans
 c32tolower
 c32toupper
-stringeq
+streq
 
 configure.ac:
 gl_UCHAR_MODULE_INDICATOR([c32_get_mapping])
diff --git a/modules/c32_get_type_test b/modules/c32_get_type_test
index e26a894df0..885d05bc45 100644
--- a/modules/c32_get_type_test
+++ b/modules/c32_get_type_test
@@ -20,7 +20,7 @@ c32ispunct
 c32isspace
 c32isupper
 c32isxdigit
-stringeq
+streq
 
 configure.ac:
 gl_UCHAR_MODULE_INDICATOR([c32_get_type_test])
diff --git a/modules/concat-filename b/modules/concat-filename
index 51e55a7465..ea4df208b8 100644
--- a/modules/concat-filename
+++ b/modules/concat-filename
@@ -10,7 +10,7 @@ Depends-on:
 filename
 malloc-posix
 stpcpy
-stringeq
+streq
 
 configure.ac:
 
diff --git a/modules/cpu-supports b/modules/cpu-supports
index 1e6723f865..ea9171538d 100644
--- a/modules/cpu-supports
+++ b/modules/cpu-supports
@@ -9,7 +9,7 @@ Depends-on:
 attribute
 bool
 c99
-stringeq
+streq
 strnul
 
 configure.ac:
diff --git a/modules/csharpcomp b/modules/csharpcomp
index 76d7ddb268..e3000d33c0 100644
--- a/modules/csharpcomp
+++ b/modules/csharpcomp
@@ -18,7 +18,7 @@ scandir
 alphasort
 sh-quote
 safe-read
-stringeq
+memeq
 str_endswith
 xmalloca
 xvasprintf
diff --git a/modules/csharpexec b/modules/csharpexec
index b1ac3f37b3..c54ac43406 100644
--- a/modules/csharpexec
+++ b/modules/csharpexec
@@ -22,7 +22,7 @@ xsetenv
 scandir
 alphasort
 sh-quote
-stringeq
+memeq
 xalloc
 xmalloca
 copy-file
diff --git a/modules/dfa b/modules/dfa
index 8aa8465c5a..5f9610109e 100644
--- a/modules/dfa
+++ b/modules/dfa
@@ -31,7 +31,7 @@ stdint-h
 stdio-h
 stdlib-h
 string-h
-stringeq
+streq
 uchar-h
 # The lonesome_lower array requires ISO C 23 semantics for char32_t.
 # But uchar-h-c23 has a global effect, therefore leave it to each package
diff --git a/modules/duplocale b/modules/duplocale
index 46e1ab0d63..b9dd535f78 100644
--- a/modules/duplocale
+++ b/modules/duplocale
@@ -10,7 +10,7 @@ locale-h
 freelocale      [test $HAVE_LOCALE_T = 0 || { test $HAVE_DUPLOCALE = 1 && test $REPLACE_DUPLOCALE = 1; }]
 newlocale       [test $HAVE_LOCALE_T = 0 || { test $HAVE_DUPLOCALE = 1 && test $REPLACE_DUPLOCALE = 1; }]
 setlocale-null  [test $HAVE_LOCALE_T = 0 || { test $HAVE_DUPLOCALE = 1 && test $REPLACE_DUPLOCALE = 1; }]
-stringeq        [test $HAVE_LOCALE_T = 0 || { test $HAVE_DUPLOCALE = 1 && test $REPLACE_DUPLOCALE = 1; }]
+streq           [test $HAVE_LOCALE_T = 0 || { test $HAVE_DUPLOCALE = 1 && test $REPLACE_DUPLOCALE = 1; }]
 
 configure.ac:
 gl_FUNC_DUPLOCALE
diff --git a/modules/exclude b/modules/exclude
index a4701ebf12..91e25124e1 100644
--- a/modules/exclude
+++ b/modules/exclude
@@ -17,7 +17,7 @@ mbscasecmp
 mbuiter               [test "$GNULIB_MCEL_PREFER" != yes]
 nullptr
 regex
-stringeq
+streq
 bool
 unlocked-io-internal
 xalloc
diff --git a/modules/file-has-acl b/modules/file-has-acl
index d769f2bea4..b219babedf 100644
--- a/modules/file-has-acl
+++ b/modules/file-has-acl
@@ -18,7 +18,7 @@ minmax
 free-posix
 limits-h
 stdint-h
-stringeq
+memeq
 strnul
 malloc-posix
 ssize_t
diff --git a/modules/findprog b/modules/findprog
index 782ba981a6..7b73eb6408 100644
--- a/modules/findprog
+++ b/modules/findprog
@@ -14,7 +14,7 @@ xalloc
 xconcat-filename
 access
 stat
-stringeq
+streq
 unistd-h
 
 configure.ac:
diff --git a/modules/findprog-in b/modules/findprog-in
index c36295f8af..dd172121c8 100644
--- a/modules/findprog-in
+++ b/modules/findprog-in
@@ -15,7 +15,7 @@ concat-filename
 access
 stat
 strdup-posix
-stringeq
+streq
 malloc-posix
 unistd-h
 
diff --git a/modules/findprog-lgpl b/modules/findprog-lgpl
index f641cb038f..35967e08b7 100644
--- a/modules/findprog-lgpl
+++ b/modules/findprog-lgpl
@@ -16,7 +16,7 @@ concat-filename
 access
 stat
 unistd-h
-stringeq
+streq
 
 configure.ac:
 gl_FINDPROG
diff --git a/modules/fopen b/modules/fopen
index 422759e622..fbc0dc930b 100644
--- a/modules/fopen
+++ b/modules/fopen
@@ -12,7 +12,7 @@ stdio-h
 largefile
 fcntl-h         [test $REPLACE_FOPEN = 1]
 bool            [test $REPLACE_FOPEN = 1]
-stringeq        [test $REPLACE_FOPEN = 1]
+streq           [test $REPLACE_FOPEN = 1]
 unistd-h        [test $REPLACE_FOPEN = 1]
 close           [test $REPLACE_FOPEN = 1]
 fstat           [test $REPLACE_FOPEN = 1]
diff --git a/modules/fopen-gnu b/modules/fopen-gnu
index 1433f514a0..1821283c22 100644
--- a/modules/fopen-gnu
+++ b/modules/fopen-gnu
@@ -9,7 +9,7 @@ fopen
 open            [test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1]
 fcntl-h         [test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1]
 bool            [test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1]
-stringeq        [test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1]
+streq           [test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1]
 unistd-h        [test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1]
 close           [test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1]
 fstat           [test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1]
diff --git a/modules/fprintftime b/modules/fprintftime
index fd3e7073fa..d132388cc4 100644
--- a/modules/fprintftime
+++ b/modules/fprintftime
@@ -10,6 +10,7 @@ Depends-on:
 stdio-h
 sys_types-h
 nstrftime
+streq
 strnul
 time_rz
 
diff --git a/modules/freopen b/modules/freopen
index 19d41a440b..aa1b32f8da 100644
--- a/modules/freopen
+++ b/modules/freopen
@@ -7,7 +7,7 @@ m4/freopen.m4
 
 Depends-on:
 fcntl-h        [test $REPLACE_FREOPEN = 1]
-stringeq       [test $REPLACE_FREOPEN = 1]
+streq          [test $REPLACE_FREOPEN = 1]
 open           [test $REPLACE_FREOPEN = 1]
 stdio-h
 largefile
diff --git a/modules/fts b/modules/fts
index 70ed1f18ef..059513f6d4 100644
--- a/modules/fts
+++ b/modules/fts
@@ -41,7 +41,7 @@ realloc-posix
 bool
 stddef-h
 stdint-h
-stringeq
+streq
 
 configure.ac:
 gl_FUNC_FTS
diff --git a/modules/get_ppid_of b/modules/get_ppid_of
index d0fa5210c5..325cad373a 100644
--- a/modules/get_ppid_of
+++ b/modules/get_ppid_of
@@ -7,7 +7,7 @@ lib/get_ppid_of.c
 
 Depends-on:
 extensions
-stringeq
+memeq
 sys_types-h
 unistd-h
 open
diff --git a/modules/get_progname_of b/modules/get_progname_of
index ce1f29de9d..5a18f85218 100644
--- a/modules/get_progname_of
+++ b/modules/get_progname_of
@@ -7,7 +7,7 @@ lib/get_progname_of.c
 
 Depends-on:
 extensions
-stringeq
+memeq
 unistd-h
 open
 
diff --git a/modules/getlocalename_l-simple b/modules/getlocalename_l-simple
index febf2911da..39ddc8fd52 100644
--- a/modules/getlocalename_l-simple
+++ b/modules/getlocalename_l-simple
@@ -12,7 +12,7 @@ extensions
 getlocalename_l-unsafe [test $HAVE_GETLOCALENAME_L = 0 || test $REPLACE_GETLOCALENAME_L = 1]
 flexmember             [test $HAVE_GETLOCALENAME_L = 0 || test $REPLACE_GETLOCALENAME_L = 1]
 lock                   [test $HAVE_GETLOCALENAME_L = 0 || test $REPLACE_GETLOCALENAME_L = 1]
-stringeq               [test $HAVE_GETLOCALENAME_L = 0 || test $REPLACE_GETLOCALENAME_L = 1]
+streq                  [test $HAVE_GETLOCALENAME_L = 0 || test $REPLACE_GETLOCALENAME_L = 1]
 bool                   [test $HAVE_GETLOCALENAME_L = 0 || test $REPLACE_GETLOCALENAME_L = 1]
 thread-optim           [test $HAVE_GETLOCALENAME_L = 0 || test $REPLACE_GETLOCALENAME_L = 1]
 
diff --git a/modules/getlocalename_l-unsafe b/modules/getlocalename_l-unsafe
index 82bff7746f..e7c9153047 100644
--- a/modules/getlocalename_l-unsafe
+++ b/modules/getlocalename_l-unsafe
@@ -15,7 +15,7 @@ locale-h
 getlocalename_l-unsafe-limited
 flexmember
 lock
-stringeq
+streq
 bool
 thread-optim
 setlocale-fixes
diff --git a/modules/getlogin b/modules/getlogin
index 6781219afe..ddb221bd9d 100644
--- a/modules/getlogin
+++ b/modules/getlogin
@@ -8,7 +8,7 @@ m4/getlogin.m4
 Depends-on:
 unistd-h
 readutmp        [test $HAVE_GETLOGIN = 0 || test $REPLACE_GETLOGIN = 1]
-stringeq        [test $HAVE_GETLOGIN = 0 || test $REPLACE_GETLOGIN = 1]
+streq           [test $HAVE_GETLOGIN = 0 || test $REPLACE_GETLOGIN = 1]
 
 configure.ac:
 gl_FUNC_GETLOGIN
diff --git a/modules/getlogin_r b/modules/getlogin_r
index cf5f326a7f..d2a00aca78 100644
--- a/modules/getlogin_r
+++ b/modules/getlogin_r
@@ -11,7 +11,7 @@ unistd-h
 extensions
 malloca         [test $HAVE_GETLOGIN_R = 0 || test $REPLACE_GETLOGIN_R = 1]
 memchr          [test $HAVE_GETLOGIN_R = 0 || test $REPLACE_GETLOGIN_R = 1]
-stringeq        [test $HAVE_GETLOGIN_R = 0 || test $REPLACE_GETLOGIN_R = 1]
+memeq           [test $HAVE_GETLOGIN_R = 0 || test $REPLACE_GETLOGIN_R = 1]
 
 configure.ac:
 gl_FUNC_GETLOGIN_R
diff --git a/modules/getprogname b/modules/getprogname
index 9be00baa91..949bf1bf1a 100644
--- a/modules/getprogname
+++ b/modules/getprogname
@@ -11,7 +11,7 @@ stdlib-h
 basename-lgpl   [test $HAVE_GETPROGNAME = 0]
 extensions      [test $HAVE_GETPROGNAME = 0]
 open            [test $HAVE_GETPROGNAME = 0 && case "$host_os" in sco* | unixware*) true;; *) false;; esac]
-stringeq        [test $HAVE_GETPROGNAME = 0]
+memeq           [test $HAVE_GETPROGNAME = 0]
 
 configure.ac:
 AC_REQUIRE([AC_CANONICAL_HOST])
diff --git a/modules/getugroups b/modules/getugroups
index 756df53033..0072fac171 100644
--- a/modules/getugroups
+++ b/modules/getugroups
@@ -8,7 +8,7 @@ m4/getugroups.m4
 
 Depends-on:
 errno-h
-stringeq
+streq
 
 configure.ac:
 gl_GETUGROUPS
diff --git a/modules/getumask b/modules/getumask
index 46921d75f9..525a1efaa3 100644
--- a/modules/getumask
+++ b/modules/getumask
@@ -9,7 +9,7 @@ Depends-on:
 sys_stat-h
 extensions
 c99             [test $HAVE_GETUMASK = 0]
-stringeq        [test $HAVE_GETUMASK = 0]
+memeq           [test $HAVE_GETUMASK = 0]
 unistd-h        [test $HAVE_GETUMASK = 0]
 clean-temp      [test $HAVE_GETUMASK = 0]
 tempname        [test $HAVE_GETUMASK = 0]
diff --git a/modules/hard-locale b/modules/hard-locale
index 11e0265b2e..b072f79f5f 100644
--- a/modules/hard-locale
+++ b/modules/hard-locale
@@ -8,7 +8,7 @@ lib/hard-locale.c
 Depends-on:
 bool
 setlocale-null
-stringeq
+streq
 
 configure.ac:
 AC_REQUIRE([gl_FUNC_SETLOCALE_NULL])
diff --git a/modules/hashcode-named-file b/modules/hashcode-named-file
index bda7905659..e4bbc51368 100644
--- a/modules/hashcode-named-file
+++ b/modules/hashcode-named-file
@@ -9,7 +9,7 @@ lib/hash-triple.h
 Depends-on:
 hashcode-string2
 same-inode
-stringeq
+streq
 bool
 
 configure.ac:
diff --git a/modules/hashkey-string b/modules/hashkey-string
index aa32fc9a07..10d8341cb8 100644
--- a/modules/hashkey-string
+++ b/modules/hashkey-string
@@ -7,7 +7,7 @@ lib/hashkey-string.c
 
 Depends-on:
 bool
-stringeq
+streq
 
 configure.ac:
 
diff --git a/modules/iconv_open b/modules/iconv_open
index eb7dfeef40..2c7248b89b 100644
--- a/modules/iconv_open
+++ b/modules/iconv_open
@@ -18,7 +18,7 @@ iconv
 c-ctype           [test $REPLACE_ICONV_OPEN = 1]
 c-strcasecmp      [test $REPLACE_ICONV_OPEN = 1]
 stdint-h          [test $REPLACE_ICONV_UTF = 1]
-stringeq          [test $REPLACE_ICONV_UTF = 1]
+streq             [test $REPLACE_ICONV_UTF = 1]
 unistr/u8-mbtoucr [test $REPLACE_ICONV_UTF = 1]
 unistr/u8-uctomb  [test $REPLACE_ICONV_UTF = 1]
 
diff --git a/modules/idcache b/modules/idcache
index 34c19e046f..9a2dd09c13 100644
--- a/modules/idcache
+++ b/modules/idcache
@@ -8,7 +8,7 @@ m4/idcache.m4
 
 Depends-on:
 flexmember
-stringeq
+streq
 xalloc
 
 configure.ac:
diff --git a/modules/isnan-no-c++ b/modules/isnan-no-c++
index db1ef396a8..75e4d267c0 100644
--- a/modules/isnan-no-c++
+++ b/modules/isnan-no-c++
@@ -9,7 +9,7 @@ isnanf
 isnand
 isnanl
 math-h
-stringeq
+memeq
 extensions
 
 configure.ac:
diff --git a/modules/isnand b/modules/isnand
index 018ec4a603..1155aa0d22 100644
--- a/modules/isnand
+++ b/modules/isnand
@@ -12,7 +12,7 @@ Depends-on:
 math-h
 fpieee
 memcmp
-stringeq
+memeq
 
 configure.ac:
 gl_FUNC_ISNAND
diff --git a/modules/isnand-nolibm b/modules/isnand-nolibm
index 0bfe35e174..25b3940cf8 100644
--- a/modules/isnand-nolibm
+++ b/modules/isnand-nolibm
@@ -12,7 +12,7 @@ m4/isnand.m4
 Depends-on:
 fpieee
 memcmp
-stringeq
+memeq
 
 configure.ac:
 gl_FUNC_ISNAND_NO_LIBM
diff --git a/modules/isnanf b/modules/isnanf
index f0ad2a7150..b68dde4f2d 100644
--- a/modules/isnanf
+++ b/modules/isnanf
@@ -12,7 +12,7 @@ Depends-on:
 math-h
 fpieee
 memcmp
-stringeq
+memeq
 
 configure.ac:
 gl_FUNC_ISNANF
diff --git a/modules/isnanf-nolibm b/modules/isnanf-nolibm
index 116deaa24d..910a78317d 100644
--- a/modules/isnanf-nolibm
+++ b/modules/isnanf-nolibm
@@ -12,7 +12,7 @@ m4/isnanf.m4
 Depends-on:
 fpieee
 memcmp
-stringeq
+memeq
 
 configure.ac:
 gl_FUNC_ISNANF_NO_LIBM
diff --git a/modules/isnanl b/modules/isnanl
index db4b41ee67..61b3b42d2a 100644
--- a/modules/isnanl
+++ b/modules/isnanl
@@ -15,7 +15,7 @@ math-h
 float-h
 fpieee
 memcmp
-stringeq
+memeq
 
 configure.ac:
 gl_FUNC_ISNANL
diff --git a/modules/isnanl-nolibm b/modules/isnanl-nolibm
index 964a01468f..afcd307e40 100644
--- a/modules/isnanl-nolibm
+++ b/modules/isnanl-nolibm
@@ -15,7 +15,7 @@ Depends-on:
 float-h
 fpieee
 memcmp
-stringeq
+memeq
 
 configure.ac:
 gl_FUNC_ISNANL_NO_LIBM
diff --git a/modules/localcharset b/modules/localcharset
index 0e5be1d035..d7714bb1d3 100644
--- a/modules/localcharset
+++ b/modules/localcharset
@@ -9,7 +9,7 @@ m4/localcharset.m4
 
 Depends-on:
 extensions
-stringeq
+streq
 
 configure.ac:
 gl_LOCALCHARSET
diff --git a/modules/localename b/modules/localename
index 9a10ce44ea..e01af85e33 100644
--- a/modules/localename
+++ b/modules/localename
@@ -11,7 +11,7 @@ locale-h
 localename-unsafe
 flexmember
 lock
-stringeq
+streq
 bool
 thread-optim
 
diff --git a/modules/localename-environ b/modules/localename-environ
index bd40238b6d..2001732c67 100644
--- a/modules/localename-environ
+++ b/modules/localename-environ
@@ -8,7 +8,7 @@ m4/localename.m4
 m4/intlmacosx.m4
 
 Depends-on:
-stringeq
+streq
 
 configure.ac:
 gl_LOCALENAME_ENVIRON
diff --git a/modules/localename-unsafe b/modules/localename-unsafe
index 4545c347ea..40e74d4aef 100644
--- a/modules/localename-unsafe
+++ b/modules/localename-unsafe
@@ -17,7 +17,7 @@ localename-environ
 extensions
 locale-h
 strdup
-stringeq
+streq
 strncpy
 strnul
 windows-mutex
diff --git a/modules/localename-unsafe-limited b/modules/localename-unsafe-limited
index 52e49e78e3..4441eb2e44 100644
--- a/modules/localename-unsafe-limited
+++ b/modules/localename-unsafe-limited
@@ -17,7 +17,7 @@ localename-environ
 extensions
 locale-h
 strdup
-stringeq
+streq
 strncpy
 strnul
 windows-mutex
diff --git a/modules/map-c++-tests b/modules/map-c++-tests
index cccd20d46e..d6b7b11bbd 100644
--- a/modules/map-c++-tests
+++ b/modules/map-c++-tests
@@ -5,7 +5,7 @@ tests/macros.h
 Depends-on:
 ansi-c++-opt
 array-map
-stringeq
+streq
 
 configure.ac:
 
diff --git a/modules/mbchar b/modules/mbchar
index 272dd51b26..7182382725 100644
--- a/modules/mbchar
+++ b/modules/mbchar
@@ -26,7 +26,7 @@ c32isxdigit
 c32tolower
 c32width
 memcmp
-stringeq
+memeq
 
 configure.ac:
 gl_MBCHAR
diff --git a/modules/mbs_endswith b/modules/mbs_endswith
index 9aeecb2873..c87e4e2a2a 100644
--- a/modules/mbs_endswith
+++ b/modules/mbs_endswith
@@ -8,7 +8,7 @@ Depends-on:
 string-h
 bool
 str_endswith
-stringeq
+streq
 mbslen
 mbiter
 
diff --git a/modules/mem-hash-map b/modules/mem-hash-map
index 63ad4d641d..cdb750c424 100644
--- a/modules/mem-hash-map
+++ b/modules/mem-hash-map
@@ -8,7 +8,7 @@ lib/mem-hash-map.c
 Depends-on:
 next-prime
 obstack
-stringeq
+memeq
 xalloc
 
 configure.ac:
diff --git a/modules/memcoll b/modules/memcoll
index 91fdce0326..e8311532c5 100644
--- a/modules/memcoll
+++ b/modules/memcoll
@@ -8,7 +8,7 @@ m4/memcoll.m4
 
 Depends-on:
 memcmp
-stringeq
+memeq
 
 configure.ac:
 gl_MEMCOLL
diff --git a/modules/mountlist b/modules/mountlist
index e495c90baa..e6e788e6d9 100644
--- a/modules/mountlist
+++ b/modules/mountlist
@@ -17,7 +17,7 @@ open
 unlocked-io-internal
 bool
 stdint-h
-stringeq
+streq
 strstr-simple
 xalloc
 
diff --git a/modules/newlocale b/modules/newlocale
index 0bff3d3794..d39d0d4780 100644
--- a/modules/newlocale
+++ b/modules/newlocale
@@ -8,7 +8,7 @@ m4/newlocale.m4
 Depends-on:
 locale-h
 localename-environ
-stringeq
+streq
 
 configure.ac:
 gl_FUNC_NEWLOCALE
diff --git a/modules/nl_langinfo b/modules/nl_langinfo
index 0d8e968821..060d27c869 100644
--- a/modules/nl_langinfo
+++ b/modules/nl_langinfo
@@ -13,7 +13,7 @@ Depends-on:
 langinfo-h
 localeconv      [test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1]
 setlocale-null  [test $HAVE_NL_LANGINFO = 0 || test $HAVE_LANGINFO_CODESET = 0]
-stringeq        [test $HAVE_NL_LANGINFO = 0 || test $HAVE_LANGINFO_CODESET = 0]
+streq           [test $HAVE_NL_LANGINFO = 0 || test $HAVE_LANGINFO_CODESET = 0]
 
 configure.ac:
 gl_FUNC_NL_LANGINFO
diff --git a/modules/nproc b/modules/nproc
index ac56d1dd0f..4b62a61f9a 100644
--- a/modules/nproc
+++ b/modules/nproc
@@ -10,7 +10,7 @@ Depends-on:
 c-ctype
 extensions
 minmax
-stringeq
+streq
 unistd-h
 
 configure.ac:
diff --git a/modules/nstrftime b/modules/nstrftime
index 761f1483c0..0212d56ccc 100644
--- a/modules/nstrftime
+++ b/modules/nstrftime
@@ -26,6 +26,7 @@ localename-unsafe [case "$host_os" in darwin*) false ;; *) true ;; esac]
 bool
 stdckdint-h
 stdint-h
+streq
 strnul
 time_rz
 
diff --git a/modules/nstrftime-limited b/modules/nstrftime-limited
index c1bfef9116..99993f2c06 100644
--- a/modules/nstrftime-limited
+++ b/modules/nstrftime-limited
@@ -26,6 +26,7 @@ localcharset
 localename-unsafe-limited [case "$host_os" in darwin*) false ;; *) true ;; esac]
 bool
 stdckdint-h
+streq
 strnul
 time_rz
 
diff --git a/modules/open b/modules/open
index 6eec9e29f6..8d69aae990 100644
--- a/modules/open
+++ b/modules/open
@@ -15,7 +15,7 @@ cloexec         [test $REPLACE_OPEN = 1]
 fstat           [test $REPLACE_OPEN = 1]
 lstat           [test $REPLACE_OPEN = 1]
 stat            [test $REPLACE_OPEN = 1]
-stringeq        [test $REPLACE_OPEN = 1]
+streq           [test $REPLACE_OPEN = 1]
 
 configure.ac:
 gl_FUNC_OPEN
diff --git a/modules/parse-datetime b/modules/parse-datetime
index f64d63007b..0b892ce389 100644
--- a/modules/parse-datetime
+++ b/modules/parse-datetime
@@ -22,7 +22,7 @@ intprops
 inttypes-h
 mktime
 stdckdint-h
-stringeq
+streq
 time-h
 time_r
 time_rz
diff --git a/modules/popen b/modules/popen
index 903b9d8c0f..7ffbadc2c0 100644
--- a/modules/popen
+++ b/modules/popen
@@ -8,7 +8,7 @@ m4/popen.m4
 Depends-on:
 stdio-h
 open            [test $HAVE_POPEN = 0 || test $REPLACE_POPEN = 1]
-stringeq        [test $HAVE_POPEN = 0 || test $REPLACE_POPEN = 1]
+streq           [test $HAVE_POPEN = 0 || test $REPLACE_POPEN = 1]
 
 configure.ac:
 gl_FUNC_POPEN
diff --git a/modules/posix_spawn-internal b/modules/posix_spawn-internal
index 008d22c903..6162993593 100644
--- a/modules/posix_spawn-internal
+++ b/modules/posix_spawn-internal
@@ -20,7 +20,7 @@ concat-filename [test $HAVE_POSIX_SPAWN = 0]
 findprog-in     [test $HAVE_POSIX_SPAWN = 0]
 free-posix      [test $HAVE_POSIX_SPAWN = 0]
 malloca         [test $HAVE_POSIX_SPAWN = 0]
-stringeq        [test $HAVE_POSIX_SPAWN = 0]
+streq           [test $HAVE_POSIX_SPAWN = 0]
 bool            [test $HAVE_POSIX_SPAWN = 0]
 windows-spawn   [test $HAVE_POSIX_SPAWN = 0]
 
diff --git a/modules/progname b/modules/progname
index 10909f3a4a..abd1805e2c 100644
--- a/modules/progname
+++ b/modules/progname
@@ -7,7 +7,7 @@ lib/progname.c
 
 Depends-on:
 snippet/arg-nonnull
-stringeq
+memeq
 
 configure.ac:
 AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
diff --git a/modules/propername b/modules/propername
index 3f6aa0f9b8..5c695dbe9b 100644
--- a/modules/propername
+++ b/modules/propername
@@ -14,7 +14,7 @@ mbchar
 mbuiter
 iconv
 localcharset
-stringeq
+streq
 c-strcasecmp
 xstriconv
 xalloc
diff --git a/modules/pt_chown b/modules/pt_chown
index 3cc4e21d76..8d70c4df45 100644
--- a/modules/pt_chown
+++ b/modules/pt_chown
@@ -11,7 +11,7 @@ root-uid
 stdlib-h
 configmake
 stat
-stringeq
+streq
 
 configure.ac:
 
diff --git a/modules/pthread_sigmask b/modules/pthread_sigmask
index 87fc962ebc..e014553005 100644
--- a/modules/pthread_sigmask
+++ b/modules/pthread_sigmask
@@ -9,7 +9,7 @@ Depends-on:
 signal-h
 threadlib
 sigprocmask     [test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1]
-stringeq        [test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1]
+memeq           [test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1]
 
 configure.ac:
 gl_FUNC_PTHREAD_SIGMASK
diff --git a/modules/putenv-gnu b/modules/putenv-gnu
index 108ac8b8ae..9aa833fe5e 100644
--- a/modules/putenv-gnu
+++ b/modules/putenv-gnu
@@ -10,7 +10,7 @@ stdlib-h
 environ         [test $REPLACE_PUTENV = 1]
 free-posix      [test $REPLACE_PUTENV = 1]
 malloc-posix    [test $REPLACE_PUTENV = 1]
-stringeq        [test $REPLACE_PUTENV = 1]
+streq           [test $REPLACE_PUTENV = 1]
 unsetenv        [test $REPLACE_PUTENV = 1]
 
 configure.ac:
diff --git a/modules/qcopy-acl b/modules/qcopy-acl
index 857b45e85b..ef1054b195 100644
--- a/modules/qcopy-acl
+++ b/modules/qcopy-acl
@@ -10,7 +10,7 @@ Depends-on:
 acl-permissions
 dirent-h        [test "$use_xattr" = yes]
 file-has-acl    [test "$use_xattr" = yes]
-stringeq        [test "$use_xattr" = yes]
+streq           [test "$use_xattr" = yes]
 
 configure.ac:
 gl_QCOPY_ACL
diff --git a/modules/quotearg b/modules/quotearg
index fc2006a3a2..5c431d1ccb 100644
--- a/modules/quotearg
+++ b/modules/quotearg
@@ -22,7 +22,7 @@ minmax
 quotearg-simple
 bool
 stdint-h
-stringeq
+memeq
 uchar-h
 xalloc
 
diff --git a/modules/readutmp b/modules/readutmp
index b4199ac615..a87cf9702f 100644
--- a/modules/readutmp
+++ b/modules/readutmp
@@ -15,7 +15,8 @@ stat-time
 gettimeofday
 bool
 stdint-h
-stringeq
+memeq
+streq
 strnlen
 time-h
 unlocked-io-internal
diff --git a/modules/relocatable-prog b/modules/relocatable-prog
index 9bd9387c51..3868d83f2c 100644
--- a/modules/relocatable-prog
+++ b/modules/relocatable-prog
@@ -20,7 +20,8 @@ Depends-on:
 relocatable-prog-wrapper
 progname
 canonicalize-lgpl
-stringeq
+memeq
+streq
 xalloc
 xreadlink
 open
diff --git a/modules/relocatable-prog-wrapper b/modules/relocatable-prog-wrapper
index 5b751694e1..e37da6cc18 100644
--- a/modules/relocatable-prog-wrapper
+++ b/modules/relocatable-prog-wrapper
@@ -76,7 +76,8 @@ stdckdint-h
 stdint-h
 stdlib-h
 string-h
-stringeq
+memeq
+streq
 sys_stat-h
 unistd-h
 xalloc-oversized
diff --git a/modules/rpmatch b/modules/rpmatch
index fb32389a09..790446bf87 100644
--- a/modules/rpmatch
+++ b/modules/rpmatch
@@ -13,7 +13,7 @@ gettext-h       [test $HAVE_RPMATCH = 0]
 gnulib-i18n     [test $HAVE_RPMATCH = 0]
 regex           [test $HAVE_RPMATCH = 0]
 strdup          [test $HAVE_RPMATCH = 0]
-stringeq        [test $HAVE_RPMATCH = 0]
+streq           [test $HAVE_RPMATCH = 0]
 
 configure.ac:
 gl_FUNC_RPMATCH
diff --git a/modules/same b/modules/same
index 2bd68f8bb0..094ac16e68 100644
--- a/modules/same
+++ b/modules/same
@@ -15,7 +15,7 @@ fstat
 fstatat
 openat
 same-inode
-stringeq
+memeq
 bool
 memcmp
 
diff --git a/modules/selinux-h b/modules/selinux-h
index 8f85c8e744..6db14db546 100644
--- a/modules/selinux-h
+++ b/modules/selinux-h
@@ -18,7 +18,7 @@ errno-h
 sys_types-h
 extern-inline
 gen-header
-stringeq
+streq
 
 configure.ac:
 gl_HEADERS_SELINUX_SELINUX_H
diff --git a/modules/setlocale b/modules/setlocale
index fd74033495..75c2297387 100644
--- a/modules/setlocale
+++ b/modules/setlocale
@@ -7,7 +7,7 @@ m4/setlocale.m4
 
 Depends-on:
 locale-h
-stringeq
+streq
 setlocale-fixes    [test $NEED_SETLOCALE_IMPROVED = 1]
 localename         [test $NEED_SETLOCALE_IMPROVED = 1]
 localename-environ [test $NEED_SETLOCALE_IMPROVED = 1]
diff --git a/modules/setlocale-fixes b/modules/setlocale-fixes
index 9b1f00572a..7b6597d736 100644
--- a/modules/setlocale-fixes
+++ b/modules/setlocale-fixes
@@ -6,7 +6,7 @@ lib/setlocale-fixes.h
 lib/setlocale-fixes.c
 
 Depends-on:
-stringeq
+streq
 strncpy
 
 configure.ac:
diff --git a/modules/sig2str b/modules/sig2str
index 11b03ab47b..fd9bbcc0f2 100644
--- a/modules/sig2str
+++ b/modules/sig2str
@@ -8,7 +8,7 @@ m4/sig2str.m4
 
 Depends-on:
 signal-h
-stringeq
+streq
 
 configure.ac:
 gl_FUNC_SIG2STR
diff --git a/modules/signbit-no-c++ b/modules/signbit-no-c++
index cb612c6450..40ea96e3eb 100644
--- a/modules/signbit-no-c++
+++ b/modules/signbit-no-c++
@@ -16,7 +16,7 @@ isnand-nolibm   [test $REPLACE_SIGNBIT = 1]
 isnanl-nolibm   [test $REPLACE_SIGNBIT = 1]
 fpieee          [test $REPLACE_SIGNBIT = 1]
 memcmp          [test $REPLACE_SIGNBIT = 1]
-stringeq        [test $REPLACE_SIGNBIT = 1]
+memeq           [test $REPLACE_SIGNBIT = 1]
 
 configure.ac:
 gl_SIGNBIT
diff --git a/modules/spawn-pipe b/modules/spawn-pipe
index e1fe269da8..749fa619db 100644
--- a/modules/spawn-pipe
+++ b/modules/spawn-pipe
@@ -39,7 +39,7 @@ posix_spawnattr_setflags
 posix_spawnattr_destroy
 bool
 stdlib-h
-stringeq
+streq
 unistd-h
 unistd-safer
 wait-process
diff --git a/modules/stat b/modules/stat
index 79c2087fc1..b07324ae70 100644
--- a/modules/stat
+++ b/modules/stat
@@ -15,7 +15,7 @@ filename        [test $REPLACE_STAT = 1]
 malloca         [test $REPLACE_STAT = 1]
 pathmax         [test $REPLACE_STAT = 1]
 stat-time       [test $REPLACE_STAT = 1]
-stringeq        [test $REPLACE_STAT = 1]
+streq           [test $REPLACE_STAT = 1]
 bool            [test $REPLACE_STAT = 1]
 
 configure.ac:
diff --git a/modules/str_endswith b/modules/str_endswith
index 9281e00c2b..c9f31da63a 100644
--- a/modules/str_endswith
+++ b/modules/str_endswith
@@ -6,7 +6,7 @@ lib/str_endswith.c
 
 Depends-on:
 string-h
-stringeq
+streq
 bool
 
 configure.ac:
diff --git a/modules/streq-opt b/modules/streq-opt
index 6a6ce63402..d164a9720c 100644
--- a/modules/streq-opt
+++ b/modules/streq-opt
@@ -5,7 +5,7 @@ Files:
 lib/streq-opt.h
 
 Depends-on:
-stringeq
+streq
 
 configure.ac:
 
diff --git a/modules/striconveha b/modules/striconveha
index 01d8c4d6e4..fc5032aa9a 100644
--- a/modules/striconveha
+++ b/modules/striconveha
@@ -11,7 +11,7 @@ bool
 striconveh
 malloca
 strdup
-stringeq
+streq
 c-strcasecmp
 
 configure.ac:
diff --git a/modules/string-desc b/modules/string-desc
index b608ee0621..8a526baa96 100644
--- a/modules/string-desc
+++ b/modules/string-desc
@@ -16,7 +16,7 @@ memchr
 memrchr
 memmem
 full-write
-stringeq
+memeq
 
 configure.ac:
 
diff --git a/modules/supersede b/modules/supersede
index 51c167b9aa..15cd5e1b1f 100644
--- a/modules/supersede
+++ b/modules/supersede
@@ -10,7 +10,7 @@ Depends-on:
 c99
 fcntl-h
 bool
-stringeq
+streq
 sys_stat-h
 clean-temp
 tempname
diff --git a/modules/time_rz b/modules/time_rz
index 187c477bb2..b86e79c509 100644
--- a/modules/time_rz
+++ b/modules/time_rz
@@ -15,7 +15,7 @@ flexmember     [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test
 idx            [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test $REPLACE_MKTIME_Z = 1]
 setenv         [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test $REPLACE_MKTIME_Z = 1]
 bool           [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test $REPLACE_MKTIME_Z = 1]
-stringeq       [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test $REPLACE_MKTIME_Z = 1]
+streq          [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test $REPLACE_MKTIME_Z = 1]
 strnul         [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test $REPLACE_MKTIME_Z = 1]
 time_r         [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test $REPLACE_MKTIME_Z = 1]
 timegm         [test $HAVE_TZALLOC = 0 || test $REPLACE_LOCALTIME_RZ = 1 || test $REPLACE_MKTIME_Z = 1]
diff --git a/modules/unicodeio b/modules/unicodeio
index 379bbf5938..4e38f88cb9 100644
--- a/modules/unicodeio
+++ b/modules/unicodeio
@@ -16,7 +16,7 @@ gnulib-i18n
 localcharset
 error
 stdio-h
-stringeq
+streq
 
 configure.ac:
 gl_UNICODEIO
diff --git a/modules/uniname/uniname b/modules/uniname/uniname
index 73f47376f4..97e3a4e61d 100644
--- a/modules/uniname/uniname
+++ b/modules/uniname/uniname
@@ -10,7 +10,7 @@ Depends-on:
 uniname/base
 attribute
 memcmp
-stringeq
+memeq
 bool
 c99
 
diff --git a/modules/unistdio/u16-u16-vasnprintf b/modules/unistdio/u16-u16-vasnprintf
index 148078e363..58707f65f5 100644
--- a/modules/unistdio/u16-u16-vasnprintf
+++ b/modules/unistdio/u16-u16-vasnprintf
@@ -44,7 +44,7 @@ memchr
 multiarch
 assert-h
 mbszero
-stringeq
+streq
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
diff --git a/modules/unistdio/u16-vasnprintf b/modules/unistdio/u16-vasnprintf
index 64a46356f7..b040f5ab44 100644
--- a/modules/unistdio/u16-vasnprintf
+++ b/modules/unistdio/u16-vasnprintf
@@ -44,7 +44,7 @@ memchr
 multiarch
 assert-h
 mbszero
-stringeq
+streq
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
diff --git a/modules/unistdio/u32-u32-vasnprintf b/modules/unistdio/u32-u32-vasnprintf
index db1c7c5e18..48ef0bd074 100644
--- a/modules/unistdio/u32-u32-vasnprintf
+++ b/modules/unistdio/u32-u32-vasnprintf
@@ -44,7 +44,7 @@ memchr
 multiarch
 assert-h
 mbszero
-stringeq
+streq
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
diff --git a/modules/unistdio/u32-vasnprintf b/modules/unistdio/u32-vasnprintf
index d212e0d8d2..9ff85ec1ce 100644
--- a/modules/unistdio/u32-vasnprintf
+++ b/modules/unistdio/u32-vasnprintf
@@ -44,7 +44,7 @@ memchr
 multiarch
 assert-h
 mbszero
-stringeq
+streq
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
diff --git a/modules/unistdio/u8-u8-vasnprintf b/modules/unistdio/u8-u8-vasnprintf
index 7d1834801f..3907151c26 100644
--- a/modules/unistdio/u8-u8-vasnprintf
+++ b/modules/unistdio/u8-u8-vasnprintf
@@ -44,7 +44,7 @@ memchr
 multiarch
 assert-h
 mbszero
-stringeq
+streq
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
diff --git a/modules/unistdio/u8-vasnprintf b/modules/unistdio/u8-vasnprintf
index d3419f7315..1da2109bec 100644
--- a/modules/unistdio/u8-vasnprintf
+++ b/modules/unistdio/u8-vasnprintf
@@ -44,7 +44,7 @@ memchr
 multiarch
 assert-h
 mbszero
-stringeq
+streq
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
diff --git a/modules/unistdio/ulc-vasnprintf b/modules/unistdio/ulc-vasnprintf
index 69ce44df30..02aa89a936 100644
--- a/modules/unistdio/ulc-vasnprintf
+++ b/modules/unistdio/ulc-vasnprintf
@@ -42,7 +42,7 @@ memchr
 multiarch
 assert-h
 mbszero
-stringeq
+streq
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
diff --git a/modules/vasnprintf b/modules/vasnprintf
index d9a81f98c6..798b9db377 100644
--- a/modules/vasnprintf
+++ b/modules/vasnprintf
@@ -35,7 +35,7 @@ assert-h
 wchar-h
 mbszero
 mbsnlen
-stringeq
+streq
 
 configure.ac:
 AC_REQUIRE([AC_C_RESTRICT])
diff --git a/modules/vasnwprintf b/modules/vasnwprintf
index 763c45c324..128a3c602b 100644
--- a/modules/vasnwprintf
+++ b/modules/vasnwprintf
@@ -41,7 +41,7 @@ mbszero
 mbrtowc
 wmemcpy
 wmemset
-stringeq
+streq
 
 configure.ac:
 AC_REQUIRE([AC_C_RESTRICT])
diff --git a/modules/vc-mtime b/modules/vc-mtime
index b40ef32e6e..af505ef643 100644
--- a/modules/vc-mtime
+++ b/modules/vc-mtime
@@ -9,7 +9,8 @@ Depends-on:
 time-h
 bool
 spawn-pipe
-stringeq
+memeq
+streq
 strnul
 wait-process
 execute
diff --git a/modules/wctrans b/modules/wctrans
index f70b7790d4..85efc416c8 100644
--- a/modules/wctrans
+++ b/modules/wctrans
@@ -7,7 +7,7 @@ lib/wctrans-impl.h
 m4/wctrans.m4
 
 Depends-on:
-stringeq
+streq
 wctype-h
 # When we override wctrans_t, we also need to override towctrans().
 towctrans       [test $REPLACE_WCTRANS = 1]
diff --git a/modules/wctype b/modules/wctype
index b19b746753..e9278b18bb 100644
--- a/modules/wctype
+++ b/modules/wctype
@@ -12,7 +12,7 @@ iswblank        [test $HAVE_WCTYPE = 0 || test $REPLACE_WCTYPE = 1]
 iswdigit        [test $HAVE_WCTYPE = 0 || test $REPLACE_WCTYPE = 1]
 iswpunct        [test $HAVE_WCTYPE = 0 || test $REPLACE_WCTYPE = 1]
 iswxdigit       [test $HAVE_WCTYPE = 0 || test $REPLACE_WCTYPE = 1]
-stringeq        [test $HAVE_WCTYPE = 0 || test $REPLACE_WCTYPE = 1]
+streq           [test $HAVE_WCTYPE = 0 || test $REPLACE_WCTYPE = 1]
 # When we override wctype_t, we also need to override iswctype().
 iswctype        [test $REPLACE_WCTYPE = 1]
 
-- 
2.52.0

  • strnul: Fix link-time error Bruno Haible via Gnulib discussion list
    • streq, memeq: New modules Bruno Haible via Gnulib discussion list

Reply via email to