2 A <wchar.h> that works around platform issues.
3 Note also the wchar-single module.
22 BUILT_SOURCES += wchar.h
24 # We need the following in order to create <wchar.h> when the system
25 # version does not work standalone.
26 wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
27 $(AM_V_GEN)rm -f $@-t $@ && \
28 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
29 sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
30 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
31 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
32 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
33 -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
34 -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
35 -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
36 -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
37 -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
38 -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
39 -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
40 -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
41 -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
42 -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
43 -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
44 -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
45 -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
46 -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
47 -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
48 -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
49 -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
50 -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
51 -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
52 -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
53 -e 's/@''GNULIB_WMEMPCPY''@/$(GNULIB_WMEMPCPY)/g' \
54 -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
55 -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
56 -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
57 -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
58 -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
59 -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
60 -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
61 -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
62 -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
63 -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
64 -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
65 -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
66 -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
67 -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
68 -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
69 -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
70 -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
71 -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
72 -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
73 -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
74 -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
75 -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
76 -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
77 -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
78 -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \
79 < $(srcdir)/wchar.in.h | \
80 sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
81 -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
82 -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
83 -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
84 -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
85 -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
86 -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
87 -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
88 -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
89 -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
90 -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
91 -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
92 -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
93 -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
94 -e 's|@''HAVE_WMEMPCPY''@|$(HAVE_WMEMPCPY)|g' \
95 -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
96 -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
97 -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
98 -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
99 -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
100 -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
101 -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
102 -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
103 -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
104 -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
105 -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
106 -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
107 -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
108 -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
109 -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
110 -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
111 -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
112 -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
113 -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
114 -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
115 -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
116 -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
117 -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
118 -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
119 -e 's|@''HAVE_WCSFTIME''@|$(HAVE_WCSFTIME)|g' \
120 -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
121 -e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \
122 -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
124 sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
125 -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
126 -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
127 -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
128 -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
129 -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
130 -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
131 -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
132 -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
133 -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
134 -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
135 -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
136 -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
137 -e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
138 -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \
139 -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
140 -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
141 -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
144 MOSTLYCLEANFILES += wchar.h wchar.h-t