mirror of
https://https.git.savannah.gnu.org/git/gettext.git
synced 2026-01-26 07:37:57 +00:00
libtextstyle: Assume a working <stdbool.h>.
* 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.
This commit is contained in:
parent
f1459a89e2
commit
144474ff64
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
1
libtextstyle/.gitignore
vendored
1
libtextstyle/.gitignore
vendored
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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 */
|
||||
@ -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. */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user