+2024-12-24 Bruno Haible <bruno@clisp.org>
+
+ locale: Support several gnulib-tool invocations better.
+ * lib/locale.in.h (_GL_ALREADY_INCLUDING_LOCALE_H): Rename to a macro
+ that depends on GUARD_PREFIX.
+ (struct lconv): Avoid duplicate definition.
+
2024-12-24 Bruno Haible <bruno@clisp.org>
limits-h: Support several gnulib-tool invocations better.
@PRAGMA_COLUMNS@
#if (defined _WIN32 && !defined __CYGWIN__ && defined __need_locale_t) \
- || defined _GL_ALREADY_INCLUDING_LOCALE_H
+ || defined _@GUARD_PREFIX@_ALREADY_INCLUDING_LOCALE_H
/* Special invocation convention:
- Inside mingw header files,
#ifndef _@GUARD_PREFIX@_LOCALE_H
-#define _GL_ALREADY_INCLUDING_LOCALE_H
+#define _@GUARD_PREFIX@_ALREADY_INCLUDING_LOCALE_H
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
-#undef _GL_ALREADY_INCLUDING_LOCALE_H
+#undef _@GUARD_PREFIX@_ALREADY_INCLUDING_LOCALE_H
#ifndef _@GUARD_PREFIX@_LOCALE_H
#define _@GUARD_PREFIX@_LOCALE_H
/* Bionic libc's 'struct lconv' is just a dummy. */
#if @REPLACE_STRUCT_LCONV@
-# define lconv rpl_lconv
+# if !defined GNULIB_defined_struct_lconv
+# define lconv rpl_lconv
struct lconv
{
/* All 'char *' are actually 'const char *'. */
number. */
char int_n_sep_by_space;
};
+# define GNULIB_defined_struct_lconv 1
+# endif
#endif
#if @GNULIB_LOCALECONV@
#endif /* _@GUARD_PREFIX@_LOCALE_H */
#endif /* _@GUARD_PREFIX@_LOCALE_H */
-#endif /* !(__need_locale_t || _GL_ALREADY_INCLUDING_LOCALE_H) */
+#endif /* !(__need_locale_t || _@GUARD_PREFIX@_ALREADY_INCLUDING_LOCALE_H) */