]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
libtextstyle: Assume a working <stdbool.h>.
authorBruno Haible <bruno@clisp.org>
Sat, 10 Jan 2026 21:17:40 +0000 (22:17 +0100)
committerBruno Haible <bruno@clisp.org>
Sat, 10 Jan 2026 21:53:50 +0000 (22:53 +0100)
* libtextstyle/lib/textstyle.h: Include <stdbool.h> instead of
<textstyle/stdbool.h>.
* libtextstyle/lib/Makefile.am (nobase_nodist_include_HEADERS): Don't add
textstyle/stdbool.h.
(textstyle/stdbool.h): Remove rule.
(BUILT_SOURCES, MOSTLYCLEANFILES, CLEANFILES): Update accordingly.
(EXTRA_DIST): Remove stdbool.mini.h.
* libtextstyle/lib/stdbool.mini.h: Remove file.
* gettext-tools/src/Makefile.am (textstyle/stdbool.h): Remove target.
(BUILT_SOURCES, MOSTLYCLEANFILES): Remove textstyle/stdbool.h.

.gitignore
gettext-tools/src/Makefile.am
libtextstyle/.gitignore
libtextstyle/lib/Makefile.am
libtextstyle/lib/stdbool.mini.h [deleted file]
libtextstyle/lib/textstyle.h

index 0b6d71c27cb4153e3892906435ac26ac2a225eb7..f6d2af7fca5dd571eb053ec2a4755f3b73fc6232 100644 (file)
@@ -968,7 +968,6 @@ core
 /gettext-tools/po/??@*.insert-header
 /gettext-tools/src/gettext.res
 /gettext-tools/src/textstyle.h
-/gettext-tools/src/textstyle/stdbool.h
 /gettext-tools/src/textstyle/version.h
 /gettext-tools/src/textstyle/woe32dll.h
 
index 7b74b72dcc0fd58d5e5d5741f00a665e03ee67ca..1e6ae7f72cf2777aca46cf1406c2c956022c8408 100644 (file)
@@ -1,5 +1,5 @@
 ## Makefile for the gettext-tools/src subdirectory of GNU gettext
-## Copyright (C) 1995-2025 Free Software Foundation, Inc.
+## Copyright (C) 1995-2026 Free Software Foundation, Inc.
 ##
 ## This program is free software: you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -433,12 +433,12 @@ if USE_INSTALLED_LIBTEXTSTYLE
 LT_LIBTEXTSTYLE = @LTLIBTEXTSTYLE@
 else
 # How to get the include files of libtextstyle.
-textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h:
+textstyle.h textstyle/version.h textstyle/woe32dll.h:
        here=`pwd`; \
        cd ../../libtextstyle/lib && \
          $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS DESTDIR= includedir="$$here"
-BUILT_SOURCES    += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h
-MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h
+BUILT_SOURCES    += textstyle.h textstyle/version.h textstyle/woe32dll.h
+MOSTLYCLEANFILES += textstyle.h textstyle/version.h textstyle/woe32dll.h
 # Where to find the built libtextstyle library.
 LT_LIBTEXTSTYLE = ../../libtextstyle/lib/libtextstyle.la
 endif
index 83b685710da561dee7752e20990859bb80813cdb..4590a6b4e59e520b84a9e1ad00e4914d28464557 100644 (file)
@@ -489,7 +489,6 @@ autom4te.cache/
 /lib/libglib_rpl.la
 /lib/libtextstyle.la
 /lib/libxml_rpl.la
-/lib/textstyle/stdbool.h
 # Executables generated by "make":
 /adhoc-tests/hello
 /adhoc-tests/hello.exe
index c1840101da2ecc519d4f48662c8dd02e23f616c7..8291d5c2df55b0ee28e21c147007eadf3708da1e 100644 (file)
@@ -1,5 +1,5 @@
 ## Makefile for the lib subdirectory of GNU libtextstyle.
-## Copyright (C) 2009-2025 Free Software Foundation, Inc.
+## Copyright (C) 2009-2026 Free Software Foundation, Inc.
 ##
 ## This program is free software: you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -68,37 +68,6 @@ libtextstyle_la_SOURCES += \
   misc.h misc.c \
   version.c
 
-# The <stdbool.h> replacement that can be installed.
-nobase_nodist_include_HEADERS += \
-  textstyle/stdbool.h
-
-# Produce a textstyle/stdbool.h that is not compiler dependent.
-# GCC >= 2.95 has <stdbool.h>.
-# AIX >= 5.3 has <stdbool.h>.
-# Solaris 10 and some HP-UX 11 versions have <stdbool.h> but it does not
-# necessarily work.
-textstyle/stdbool.h : $(STDBOOL_H) stdbool.mini.h
-       @MKDIR_P@ textstyle
-       rm -f $@-t $@
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         echo '#if !defined _GL_STDBOOL_H'; \
-         if test -f /usr/include/stdbool.h; then \
-           echo '#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) || defined _AIX'; \
-         else \
-           echo '#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))'; \
-         fi; \
-         echo '#include <stdbool.h>'; \
-         echo '#else'; \
-         cat $(srcdir)/stdbool.mini.h; \
-         echo '#endif'; \
-         echo '#endif'; \
-       } > $@-t
-       mv $@-t $@
-BUILT_SOURCES    += textstyle/stdbool.h
-MOSTLYCLEANFILES += textstyle/stdbool.h-t
-CLEANFILES       += textstyle/stdbool.h
-EXTRA_DIST       += stdbool.mini.h
-
 # textstyle/version.h is public.
 nobase_nodist_include_HEADERS += textstyle/version.h
 
diff --git a/libtextstyle/lib/stdbool.mini.h b/libtextstyle/lib/stdbool.mini.h
deleted file mode 100644 (file)
index eacba94..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright (C) 2001-2003, 2006-2017, 2019 Free Software Foundation, Inc.
-   Written by Bruno Haible <haible@clisp.cons.org>, 2001.
-
-   This program 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, or (at your option)
-   any later version.
-
-   This program 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/>.  */
-
-#ifndef _TEXTSTYLE_STDBOOL_H
-#define _TEXTSTYLE_STDBOOL_H
-
-/* ISO C 99 <stdbool.h> for platforms that lack it.  */
-
-/* Usage suggestions:
-
-   Programs that use <stdbool.h> should be aware of some limitations
-   and standards compliance issues.
-
-   Standards compliance:
-
-       - <stdbool.h> must be #included before 'bool', 'false', 'true'
-         can be used.
-
-       - You cannot assume that sizeof (bool) == 1.
-
-       - Programs should not undefine the macros bool, true, and false,
-         as C99 lists that as an "obsolescent feature".
-
-   Limitations of this substitute, when used in a C89 environment:
-
-       - <stdbool.h> must be #included before the '_Bool' type can be used.
-
-       - You cannot assume that _Bool is a typedef; it might be a macro.
-
-       - Bit-fields of type 'bool' are not supported.  Portable code
-         should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'.
-
-       - In C99, casts and automatic conversions to '_Bool' or 'bool' are
-         performed in such a way that every nonzero value gets converted
-         to 'true', and zero gets converted to 'false'.  This doesn't work
-         with this substitute.  With this substitute, only the values 0 and 1
-         give the expected result when converted to _Bool' or 'bool'.
-
-       - C99 allows the use of (_Bool)0.0 in constant expressions, but
-         this substitute cannot always provide this property.
-
-   Also, it is suggested that programs use 'bool' rather than '_Bool';
-   this isn't required, but 'bool' is more common.  */
-
-
-/* 7.16. Boolean type and values */
-
-#ifdef __cplusplus
-  /* Assume the compiler has 'bool' and '_Bool'.  */
-#else
-  /* <stdbool.h> is known to exist and work with the following compilers:
-       - GNU C 3.0 or newer, on any platform,
-       - Intel C,
-       - MSVC 12 (Visual Studio 2013) or newer,
-       - Sun C, on Solaris, if _STDC_C99 is defined,
-       - AIX xlc, if _ANSI_C_SOURCE is defined,
-       - HP C, on HP-UX 11.31 or newer.
-     It is know not to work with:
-       - Sun C, on Solaris, if __C99FEATURES__ is defined but _STDC_C99 is not,
-       - MIPSpro C 7.30, on IRIX.  */
-# if (__GNUC__ >= 3) \
-     || defined __INTEL_COMPILER \
-     || (_MSC_VER >= 1800) \
-     || (defined __SUNPRO_C && defined _STDC_C99) \
-     || (defined _AIX && !defined __GNUC__ && defined _ANSI_C_SOURCE) \
-     || defined __HP_cc
-   /* Assume the compiler has <stdbool.h>.  */
-#  include <stdbool.h>
-# else
-   /* Need to define _Bool ourselves. As 'signed char' or as an enum type?
-      Use of a typedef, with SunPRO C, leads to a stupid
-        "warning: _Bool is a keyword in ISO C99".
-      Use of an enum type, with IRIX cc, leads to a stupid
-        "warning(1185): enumerated type mixed with another type".
-      Even the existence of an enum type, without a typedef,
-        "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
-      The only benefit of the enum, debuggability, is not important
-      with these compilers.  So use 'signed char' and no enum.  */
-#  define _Bool signed char
-#  define bool _Bool
-# endif
-#endif
-
-/* The other macros must be usable in preprocessor directives.  */
-#ifdef __cplusplus
-# define false false
-# define true true
-#else
-# undef false
-# define false 0
-# undef true
-# define true 1
-#endif
-
-#define __bool_true_false_are_defined 1
-
-#endif /* _TEXTSTYLE_STDBOOL_H */
index ce0bf6e019e43c6f12882f2b45f7d39b1eae6f58..0fc055e405c2adeeece413440d8b993ae53c052f 100644 (file)
@@ -1,5 +1,5 @@
 /* Public API of the libtextstyle library.
-   Copyright (C) 2006-2007, 2019-2021 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2019-2026 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,9 +20,9 @@
 #define _TEXTSTYLE_H
 
 #include <stdarg.h>
+#include <stdbool.h>
 #include <stddef.h>
 #include <stdio.h>
-#include <textstyle/stdbool.h>
 #include <textstyle/woe32dll.h>
 
 /* Meta information.  */