1 # Copyright (C) 1995-2017 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 # <http://www.gnu.org/licenses/>.
19 # Sub-makefile for wcsmbs portion of the library.
25 headers
:= wchar.h bits
/wchar.h bits
/wchar2.h bits
/wchar-ldbl.h uchar.h
27 routines
:= wcscat wcschr wcscmp wcscpy wcscspn wcsdup wcslen wcsncat \
28 wcsncmp wcsncpy wcspbrk wcsrchr wcsspn wcstok wcsstr wmemchr \
29 wmemcmp wmemcpy wmemmove wmemset wcpcpy wcpncpy wmempcpy \
31 mbrlen mbrtowc wcrtomb mbsrtowcs wcsrtombs \
32 mbsnrtowcs wcsnrtombs wcsnlen wcschrnul \
33 wcstol wcstoul wcstoll wcstoull wcstod wcstold wcstof \
34 wcstol_l wcstoul_l wcstoll_l wcstoull_l \
35 wcstod_l wcstold_l wcstof_l \
36 wcstod_nan wcstold_nan wcstof_nan \
40 wcscasecmp wcsncase wcscasecmp_l wcsncase_l \
41 wcsmbsload mbsrtowcs_l \
42 isoc99_wscanf isoc99_vwscanf isoc99_fwscanf isoc99_vfwscanf \
43 isoc99_swscanf isoc99_vswscanf \
46 strop-tests
:= wcscmp wcsncmp wmemcmp wcslen wcschr wcsrchr wcscpy wcsnlen \
47 wcpcpy wcsncpy wcpncpy wcscat wcsncat wcschrnul wcsspn wcspbrk \
48 wcscspn wmemchr wmemset
49 tests
:= tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \
50 tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \
51 tst-c16c32-1 wcsatcliff tst-wcstol-locale tst-wcstod-nan-locale \
53 $(addprefix test-
,$(strop-tests
))
57 ifeq ($(run-built-tests
),yes
)
58 LOCALES
:= de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4
-1968 hr_HR.ISO-8859-2 \
59 ja_JP.EUC-JP zh_TW.EUC-TW tr_TR.UTF-8 tr_TR.ISO-8859-9
60 include ..
/gen-locales.mk
62 $(objpfx
)tst-btowc.out
: $(gen-locales
)
63 $(objpfx
)tst-c16c32-1.out
: $(gen-locales
)
64 $(objpfx
)tst-mbrtowc.out
: $(gen-locales
)
65 $(objpfx
)tst-mbrtowc2.out
: $(gen-locales
)
66 $(objpfx
)tst-wcrtomb.out
: $(gen-locales
)
67 $(objpfx
)wcsmbs-tst1.out
: $(gen-locales
)
68 $(objpfx
)tst-wcstol-locale.out
: $(gen-locales
)
69 $(objpfx
)tst-wcstod-nan-locale.out
: $(gen-locales
)
72 $(objpfx
)tst-wcstod-round
: $(libm
)
74 CFLAGS-wcwidth.c
= -I..
/wctype
75 CFLAGS-wcswidth.c
= -I..
/wctype
77 strtox-CFLAGS
= -I..
/include
78 CFLAGS-wcstol.c
= $(strtox-CFLAGS
)
79 CFLAGS-wcstoul.c
= $(strtox-CFLAGS
)
80 CFLAGS-wcstoll.c
= $(strtox-CFLAGS
)
81 CFLAGS-wcstoull.c
= $(strtox-CFLAGS
)
82 CFLAGS-wcstod.c
= $(strtox-CFLAGS
)
83 CFLAGS-wcstold.c
= $(strtox-CFLAGS
)
84 CFLAGS-wcstof.c
= $(strtox-CFLAGS
)
85 CFLAGS-wcstol_l.c
= $(strtox-CFLAGS
)
86 CFLAGS-wcstoul_l.c
= $(strtox-CFLAGS
)
87 CFLAGS-wcstoll_l.c
= $(strtox-CFLAGS
)
88 CFLAGS-wcstoull_l.c
= $(strtox-CFLAGS
)
89 CFLAGS-wcstod_l.c
= $(strtox-CFLAGS
)
90 CFLAGS-wcstold_l.c
= $(strtox-CFLAGS
)
91 CFLAGS-wcstof_l.c
= $(strtox-CFLAGS
)
92 CPPFLAGS-tst-wchar-h.c
= -D_FORTIFY_SOURCE
=2
94 CFLAGS-isoc99_wscanf.c
+= -fexceptions
95 CFLAGS-isoc99_fwscanf.c
+= -fexceptions
96 CFLAGS-isoc99_vwscanf.c
+= -fexceptions
97 CFLAGS-isoc99_vfwscanf.c
+= -fexceptions
99 CPPFLAGS
+= $(libio-mtsafe
)
101 # We need to find the default version of strtold_l in stdlib.
102 CPPFLAGS-wcstold_l.c
= -I..
/stdlib
104 $(objpfx
)tst-wcstod-nan-locale
: $(libm
)