Add wcsmbs IFUNC tests
[platform/upstream/glibc.git] / wcsmbs / Makefile
1 # Copyright (C) 1995-2000,2002,2003,2004,2005,2006,2007,2011,2012
2 #       Free Software Foundation, Inc.
3 # This file is part of the GNU C Library.
4
5 # The GNU C Library is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU Lesser General Public
7 # License as published by the Free Software Foundation; either
8 # version 2.1 of the License, or (at your option) any later version.
9
10 # The GNU C Library is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 # Lesser General Public License for more details.
14
15 # You should have received a copy of the GNU Lesser General Public
16 # License along with the GNU C Library; if not, see
17 # <http://www.gnu.org/licenses/>.
18
19 #
20 #       Sub-makefile for wcsmbs portion of the library.
21 #
22 subdir  := wcsmbs
23
24 headers := wchar.h bits/wchar.h bits/wchar2.h bits/wchar-ldbl.h uchar.h
25
26 routines := wcscat wcschr wcscmp wcscpy wcscspn wcsdup wcslen wcsncat \
27             wcsncmp wcsncpy wcspbrk wcsrchr wcsspn wcstok wcsstr wmemchr \
28             wmemcmp wmemcpy wmemmove wmemset wcpcpy wcpncpy wmempcpy \
29             btowc wctob mbsinit \
30             mbrlen mbrtowc wcrtomb mbsrtowcs wcsrtombs \
31             mbsnrtowcs wcsnrtombs wcsnlen wcschrnul \
32             wcstol wcstoul wcstoll wcstoull wcstod wcstold wcstof \
33             wcstol_l wcstoul_l wcstoll_l wcstoull_l \
34             wcstod_l wcstold_l wcstof_l \
35             wcscoll wcsxfrm \
36             wcwidth wcswidth \
37             wcscoll_l wcsxfrm_l \
38             wcscasecmp wcsncase wcscasecmp_l wcsncase_l \
39             wcsmbsload mbsrtowcs_l \
40             isoc99_wscanf isoc99_vwscanf isoc99_fwscanf isoc99_vfwscanf \
41             isoc99_swscanf isoc99_vswscanf \
42             mbrtoc16 c16rtomb
43
44 strop-tests :=  wcscmp wmemcmp wcslen wcschr wcsrchr wcscpy
45 tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \
46          tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \
47          tst-c16c32-1 wcsatcliff $(addprefix test-,$(strop-tests))
48 tests-ifunc := $(strop-tests:%=test-%-ifunc)
49 tests += $(tests-ifunc)
50
51 include ../Rules
52
53 CFLAGS-wcwidth.c = -I../wctype
54 CFLAGS-wcswidth.c = -I../wctype
55
56 strtox-CFLAGS = -I../include
57 CFLAGS-wcstol.c = $(strtox-CFLAGS)
58 CFLAGS-wcstoul.c = $(strtox-CFLAGS)
59 CFLAGS-wcstoll.c = $(strtox-CFLAGS)
60 CFLAGS-wcstoull.c = $(strtox-CFLAGS)
61 CFLAGS-wcstod.c = $(strtox-CFLAGS)
62 CFLAGS-wcstold.c = $(strtox-CFLAGS)
63 CFLAGS-wcstof.c = $(strtox-CFLAGS)
64 CFLAGS-wcstol_l.c = $(strtox-CFLAGS)
65 CFLAGS-wcstoul_l.c = $(strtox-CFLAGS)
66 CFLAGS-wcstoll_l.c = $(strtox-CFLAGS)
67 CFLAGS-wcstoull_l.c = $(strtox-CFLAGS)
68 CFLAGS-wcstod_l.c = $(strtox-CFLAGS)
69 CFLAGS-wcstold_l.c = $(strtox-CFLAGS)
70 CFLAGS-wcstof_l.c = $(strtox-CFLAGS)
71 CPPFLAGS-tst-wchar-h.c = -D_FORTIFY_SOURCE=2
72
73 CFLAGS-isoc99_wscanf.c += $(exceptions)
74 CFLAGS-isoc99_fwscanf.c += $(exceptions)
75 CFLAGS-isoc99_vwscanf.c += $(exceptions)
76 CFLAGS-isoc99_vfwscanf.c += $(exceptions)
77
78 CPPFLAGS += $(libio-mtsafe)
79
80 # We need to find the default version of strtold_l in stdlib.
81 CPPFLAGS-wcstold_l.c = -I../stdlib
82
83 tst-btowc-ENV = LOCPATH=$(common-objpfx)localedata
84 tst-mbrtowc-ENV = LOCPATH=$(common-objpfx)localedata
85 tst-wcrtomb-ENV = LOCPATH=$(common-objpfx)localedata
86 tst-mbrtowc2-ENV = LOCPATH=$(common-objpfx)localedata
87 tst-c16c32-1-ENV = LOCPATH=$(common-objpfx)localedata
88 tst-mbsnrtowcs-ENV = LOCPATH=$(common-objpfx)localedata