On recent GNU and other C23ish platforms, do not compile files
like lib/stdc_bit_ceil.c, as the corresponding .o files contain
nothing useful.
* m4/stdbit_h.m4 (gl_STDBIT_H):
Define the Automake condition GL_HAVE_STDBIT_H.
Quote cache variables in case the cache is bad.
* modules/stdc_bit_ceil, modules/stdc_bit_floor:
* modules/stdc_bit_width, modules/stdc_count_ones:
* modules/stdc_count_zeros, modules/stdc_first_leading_one:
* modules/stdc_first_leading_zero:
* modules/stdc_first_trailing_one:
* modules/stdc_first_trailing_zero, modules/stdc_has_single_bit:
* modules/stdc_leading_ones, modules/stdc_leading_zeros:
* modules/stdc_trailing_ones, modules/stdc_trailing_zeros:
Generate if !GL_HAVE_STDBIT_H, not if GL_GENERATE_STDBIT_H.
---
 ChangeLog                        | 19 +++++++++++++++++++
 m4/stdbit_h.m4                   |  9 +++++----
 modules/stdc_bit_ceil            |  3 ++-
 modules/stdc_bit_floor           |  3 ++-
 modules/stdc_bit_width           |  3 ++-
 modules/stdc_count_ones          |  3 ++-
 modules/stdc_count_zeros         |  3 ++-
 modules/stdc_first_leading_one   |  3 ++-
 modules/stdc_first_leading_zero  |  3 ++-
 modules/stdc_first_trailing_one  |  3 ++-
 modules/stdc_first_trailing_zero |  3 ++-
 modules/stdc_has_single_bit      |  3 ++-
 modules/stdc_leading_ones        |  3 ++-
 modules/stdc_leading_zeros       |  3 ++-
 modules/stdc_trailing_ones       |  3 ++-
 modules/stdc_trailing_zeros      |  3 ++-
 16 files changed, 52 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 995118b0ab..1032063da7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2026-03-16  Paul Eggert  <[email protected]>
+
+       stdbit-h: don’t generate some dummy .o files
+       On recent GNU and other C23ish platforms, do not compile files
+       like lib/stdc_bit_ceil.c, as the corresponding .o files contain
+       nothing useful.
+       * m4/stdbit_h.m4 (gl_STDBIT_H):
+       Define the Automake condition GL_HAVE_STDBIT_H.
+       Quote cache variables in case the cache is bad.
+       * modules/stdc_bit_ceil, modules/stdc_bit_floor:
+       * modules/stdc_bit_width, modules/stdc_count_ones:
+       * modules/stdc_count_zeros, modules/stdc_first_leading_one:
+       * modules/stdc_first_leading_zero:
+       * modules/stdc_first_trailing_one:
+       * modules/stdc_first_trailing_zero, modules/stdc_has_single_bit:
+       * modules/stdc_leading_ones, modules/stdc_leading_zeros:
+       * modules/stdc_trailing_ones, modules/stdc_trailing_zeros:
+       Generate if !GL_HAVE_STDBIT_H, not if GL_GENERATE_STDBIT_H.
+
 2026-03-16  Collin Funk  <[email protected]>
 
        cygpath: Add reminder to include <config.h>.
diff --git a/m4/stdbit_h.m4 b/m4/stdbit_h.m4
index 0ab347767c..1589e1bd65 100644
--- a/m4/stdbit_h.m4
+++ b/m4/stdbit_h.m4
@@ -1,5 +1,5 @@
 # stdbit_h.m4
-# serial 13
+# serial 14
 dnl Copyright 2024-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,
@@ -13,17 +13,18 @@ AC_DEFUN_ONCE([gl_STDBIT_H],
   AC_REQUIRE([gl_BIGENDIAN])
 
   gl_CHECK_NEXT_HEADERS([stdbit.h])
-  if test $ac_cv_header_stdbit_h = yes; then
+  if test "$ac_cv_header_stdbit_h" = yes; then
     HAVE_STDBIT_H=1
   else
     HAVE_STDBIT_H=0
   fi
   AC_SUBST([HAVE_STDBIT_H])
+  AM_CONDITIONAL([GL_HAVE_STDBIT_H], [test "$ac_cv_header_stdbit_h" = yes])
 
-  if test $ac_cv_header_stdbit_h = yes; then
+  if test "$ac_cv_header_stdbit_h" = yes; then
     dnl We may have a stdbit.h without C2y features.
     AC_CHECK_DECLS([stdc_rotate_left_uc], , , [[#include <stdbit.h>]])
-    if test $ac_cv_have_decl_stdc_rotate_left_uc = no; then
+    if test "$ac_cv_have_decl_stdc_rotate_left_uc" = no; then
       GL_GENERATE_STDBIT_H=true
     else
       GL_GENERATE_STDBIT_H=false
diff --git a/modules/stdc_bit_ceil b/modules/stdc_bit_ceil
index 2b020076de..5518da8b5c 100644
--- a/modules/stdc_bit_ceil
+++ b/modules/stdc_bit_ceil
@@ -14,7 +14,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_bit_ceil])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_bit_ceil.c
 endif
 
diff --git a/modules/stdc_bit_floor b/modules/stdc_bit_floor
index 34cf4e4726..cec64c8eea 100644
--- a/modules/stdc_bit_floor
+++ b/modules/stdc_bit_floor
@@ -14,7 +14,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_bit_floor])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_bit_floor.c
 endif
 
diff --git a/modules/stdc_bit_width b/modules/stdc_bit_width
index 3bb887f71a..b4c703f99b 100644
--- a/modules/stdc_bit_width
+++ b/modules/stdc_bit_width
@@ -15,7 +15,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_bit_width])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_bit_width.c
 endif
 
diff --git a/modules/stdc_count_ones b/modules/stdc_count_ones
index c3cb595215..d39f998541 100644
--- a/modules/stdc_count_ones
+++ b/modules/stdc_count_ones
@@ -13,7 +13,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_count_ones])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_count_ones.c
 endif
 
diff --git a/modules/stdc_count_zeros b/modules/stdc_count_zeros
index 1c402e4db4..6f6723159e 100644
--- a/modules/stdc_count_zeros
+++ b/modules/stdc_count_zeros
@@ -14,7 +14,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_count_zeros])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_count_zeros.c
 endif
 
diff --git a/modules/stdc_first_leading_one b/modules/stdc_first_leading_one
index 3841ac56c1..5440a24d2d 100644
--- a/modules/stdc_first_leading_one
+++ b/modules/stdc_first_leading_one
@@ -15,7 +15,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_first_leading_one])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_first_leading_one.c
 endif
 
diff --git a/modules/stdc_first_leading_zero b/modules/stdc_first_leading_zero
index dfcaa69f9b..248299fd57 100644
--- a/modules/stdc_first_leading_zero
+++ b/modules/stdc_first_leading_zero
@@ -15,7 +15,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_first_leading_zero])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_first_leading_zero.c
 endif
 
diff --git a/modules/stdc_first_trailing_one b/modules/stdc_first_trailing_one
index e5a8472b2e..96cfbb5e46 100644
--- a/modules/stdc_first_trailing_one
+++ b/modules/stdc_first_trailing_one
@@ -15,7 +15,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_first_trailing_one])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_first_trailing_one.c
 endif
 
diff --git a/modules/stdc_first_trailing_zero b/modules/stdc_first_trailing_zero
index ec2ad97c0b..a280004f87 100644
--- a/modules/stdc_first_trailing_zero
+++ b/modules/stdc_first_trailing_zero
@@ -15,7 +15,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_first_trailing_zero])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_first_trailing_zero.c
 endif
 
diff --git a/modules/stdc_has_single_bit b/modules/stdc_has_single_bit
index 46bb383262..eaa0999eaa 100644
--- a/modules/stdc_has_single_bit
+++ b/modules/stdc_has_single_bit
@@ -13,7 +13,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_has_single_bit])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_has_single_bit.c
 endif
 
diff --git a/modules/stdc_leading_ones b/modules/stdc_leading_ones
index 04e3d71432..dc530519ac 100644
--- a/modules/stdc_leading_ones
+++ b/modules/stdc_leading_ones
@@ -14,7 +14,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_leading_ones])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_leading_ones.c
 endif
 
diff --git a/modules/stdc_leading_zeros b/modules/stdc_leading_zeros
index 35ecca897c..453468b58d 100644
--- a/modules/stdc_leading_zeros
+++ b/modules/stdc_leading_zeros
@@ -13,7 +13,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_leading_zeros])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_leading_zeros.c
 endif
 
diff --git a/modules/stdc_trailing_ones b/modules/stdc_trailing_ones
index f8c68780b8..9329fbc2d4 100644
--- a/modules/stdc_trailing_ones
+++ b/modules/stdc_trailing_ones
@@ -14,7 +14,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_trailing_ones])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_trailing_ones.c
 endif
 
diff --git a/modules/stdc_trailing_zeros b/modules/stdc_trailing_zeros
index 1a067ec662..c32731c5cf 100644
--- a/modules/stdc_trailing_zeros
+++ b/modules/stdc_trailing_zeros
@@ -14,7 +14,8 @@ AC_REQUIRE([gl_STDBIT_H])
 gl_STDBIT_MODULE_INDICATOR([stdc_trailing_zeros])
 
 Makefile.am:
-if GL_GENERATE_STDBIT_H
+if GL_HAVE_STDBIT_H
+else
 lib_SOURCES += stdc_trailing_zeros.c
 endif
 
-- 
2.51.0


Reply via email to