1 # Copyright (C) 1995-2023 Free Software Foundation, Inc.
2 # This file is part of the GNU C Library.
4 # The GNU C Library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License, or (at your option) any later version.
9 # The GNU C Library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with the GNU C Library; if not, see
16 # <https://www.gnu.org/licenses/>.
19 # Sub-makefile for wcsmbs portion of the library.
25 headers
:= wchar.h bits
/wchar.h bits
/wchar2.h bits
/wchar2-decl.h \
26 bits
/wchar-ldbl.h uchar.h bits
/types
/__mbstate_t.h \
27 bits
/types
/mbstate_t.h bits
/types
/wint_t.h
141 tst-fgetwc-after-eof \
150 tst-wcstod-nan-locale \
151 tst-wcstod-nan-sign \
154 tst-wcstol-binary-c11 \
155 tst-wcstol-binary-c2x \
156 tst-wcstol-binary-gnu11 \
157 tst-wcstol-binary-gnu2x \
160 tst-wscanf-binary-c11 \
161 tst-wscanf-binary-c2x \
162 tst-wscanf-binary-gnu11 \
163 tst-wscanf-binary-gnu89 \
170 ifeq ($(run-built-tests
),yes
)
171 LOCALES
:= de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4
-1968 hr_HR.ISO-8859-2 \
172 ja_JP.EUC-JP zh_TW.EUC-TW tr_TR.UTF-8 tr_TR.ISO-8859-9 zh_HK.BIG5-HKSCS
173 include ..
/gen-locales.mk
175 $(objpfx
)tst-btowc.out
: $(gen-locales
)
176 $(objpfx
)tst-c16c32-1.out
: $(gen-locales
)
177 $(objpfx
)tst-mbrtowc.out
: $(gen-locales
)
178 $(objpfx
)tst-mbrtowc2.out
: $(gen-locales
)
179 $(objpfx
)tst-wcrtomb.out
: $(gen-locales
)
180 $(objpfx
)wcsmbs-tst1.out
: $(gen-locales
)
181 $(objpfx
)tst-wcstol-locale.out
: $(gen-locales
)
182 $(objpfx
)tst-wcstod-nan-locale.out
: $(gen-locales
)
183 $(objpfx
)tst-c16-surrogate.out
: $(gen-locales
)
184 $(objpfx
)tst-c32-state.out
: $(gen-locales
)
185 $(objpfx
)test-c8rtomb.out
: $(gen-locales
)
186 $(objpfx
)test-mbrtoc8.out
: $(gen-locales
)
189 $(objpfx
)tst-wcstod-round
: $(libm
)
191 CFLAGS-wcwidth.c
+= -I..
/wctype
192 CFLAGS-wcswidth.c
+= -I..
/wctype
194 strtox-CFLAGS
= -I..
/include
195 CFLAGS-wcstol.c
+= $(strtox-CFLAGS
) $(config-cflags-wno-ignored-attributes
)
196 CFLAGS-wcstoul.c
+= $(strtox-CFLAGS
) $(config-cflags-wno-ignored-attributes
)
197 CFLAGS-wcstoll.c
+= $(strtox-CFLAGS
)
198 CFLAGS-wcstoull.c
+= $(strtox-CFLAGS
)
199 CFLAGS-wcstod.c
+= $(strtox-CFLAGS
) $(config-cflags-wno-ignored-attributes
)
200 CFLAGS-wcstold.c
+= $(strtox-CFLAGS
) $(config-cflags-wno-ignored-attributes
)
201 CFLAGS-wcstof128.c
+= $(strtox-CFLAGS
)
202 CFLAGS-wcstof.c
+= $(strtox-CFLAGS
) $(config-cflags-wno-ignored-attributes
)
203 CFLAGS-wcstol_l.c
+= $(strtox-CFLAGS
)
204 CFLAGS-wcstoul_l.c
+= $(strtox-CFLAGS
)
205 CFLAGS-wcstoll_l.c
+= $(strtox-CFLAGS
)
206 CFLAGS-wcstoull_l.c
+= $(strtox-CFLAGS
)
207 CFLAGS-wcstod_l.c
+= $(strtox-CFLAGS
) $(config-cflags-wno-ignored-attributes
)
208 CFLAGS-wcstold_l.c
+= $(strtox-CFLAGS
) $(config-cflags-wno-ignored-attributes
)
209 CFLAGS-wcstof128_l.c
+= $(strtox-CFLAGS
)
210 CFLAGS-wcstof_l.c
+= $(strtox-CFLAGS
) $(config-cflags-wno-ignored-attributes
)
211 CPPFLAGS-tst-wchar-h.c
+= -D_FORTIFY_SOURCE
=2
213 CFLAGS-wcschr.c
+= $(config-cflags-wno-ignored-attributes
)
214 CFLAGS-wmemchr.c
+= $(config-cflags-wno-ignored-attributes
)
215 CFLAGS-wmemset.c
+= $(config-cflags-wno-ignored-attributes
)
216 CFLAGS-mbrtowc.c
+= $(config-cflags-wno-ignored-attributes
)
217 CFLAGS-wcrtomb.c
+= $(config-cflags-wno-ignored-attributes
)
218 CFLAGS-wcstoll.c
+= $(config-cflags-wno-ignored-attributes
)
219 CFLAGS-wcstoull.c
+= $(config-cflags-wno-ignored-attributes
)
221 CFLAGS-isoc99_wscanf.c
+= -fexceptions
222 CFLAGS-isoc99_fwscanf.c
+= -fexceptions
223 CFLAGS-isoc99_vwscanf.c
+= -fexceptions
224 CFLAGS-isoc99_vfwscanf.c
+= -fexceptions
225 CFLAGS-isoc23_wscanf.c
+= -fexceptions
226 CFLAGS-isoc23_fwscanf.c
+= -fexceptions
227 CFLAGS-isoc23_vwscanf.c
+= -fexceptions
228 CFLAGS-isoc23_vfwscanf.c
+= -fexceptions
230 CPPFLAGS
+= $(libio-mtsafe
)
232 # We need to find the default version of strtold_l in stdlib.
233 CPPFLAGS-wcstold_l.c
+= -I..
/stdlib
235 $(objpfx
)tst-wcstod-nan-locale
: $(libm
)
236 $(objpfx
)tst-wcstod-nan-sign
: $(libm
)
238 # Some versions of GCC supported for building glibc do not support -std=c2x
239 # or -std=gnu2x, so the tests for those versions use -std=c11 and -std=gnu11
240 # and then _ISOC2X_SOURCE is defined in the test as needed.
241 CFLAGS-tst-wcstol-binary-c11.c
+= -std
=c11
242 CFLAGS-tst-wcstol-binary-c2x.c
+= -std
=c11
243 CFLAGS-tst-wcstol-binary-gnu11.c
+= -std
=gnu11
244 CFLAGS-tst-wcstol-binary-gnu2x.c
+= -std
=gnu11
245 CFLAGS-tst-wscanf-binary-c11.c
+= -std
=c11
-DOBJPFX
=\"$(objpfx
)\"
246 CFLAGS-tst-wscanf-binary-c2x.c
+= -std
=c11
-DOBJPFX
=\"$(objpfx
)\"
247 CFLAGS-tst-wscanf-binary-gnu11.c
+= -std
=gnu11
-DOBJPFX
=\"$(objpfx
)\"
248 CFLAGS-tst-wscanf-binary-gnu89.c
+= -std
=gnu89
-DOBJPFX
=\"$(objpfx
)\"