]>
Commit | Line | Data |
---|---|---|
bfff8b1b | 1 | # Copyright (C) 1996-2017 Free Software Foundation, Inc. |
f5f52655 UD |
2 | # This file is part of the GNU C Library. |
3 | ||
4 | # The GNU C Library is free software; you can redistribute it and/or | |
41bdb6e2 AJ |
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. | |
f5f52655 UD |
8 | |
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 | |
41bdb6e2 | 12 | # Lesser General Public License for more details. |
f5f52655 | 13 | |
41bdb6e2 | 14 | # You should have received a copy of the GNU Lesser General Public |
59ba27a6 PE |
15 | # License along with the GNU C Library; if not, see |
16 | # <http://www.gnu.org/licenses/>. | |
f5f52655 UD |
17 | |
18 | # Makefile for installing locale data source files. | |
19 | ||
20 | subdir := localedata | |
21 | ||
a5f891ac | 22 | include ../Makeconfig |
f5f52655 UD |
23 | |
24 | # List with all available character set descriptions. | |
9d65ea3a | 25 | charmaps := $(wildcard charmaps/[A-I]*) $(wildcard charmaps/[J-Z]*) |
f5f52655 UD |
26 | |
27 | # List with all available character set descriptions. | |
9d65ea3a | 28 | locales := $(wildcard locales/*) |
f5f52655 | 29 | |
5b905722 AJ |
30 | |
31 | subdir-dirs = tests-mbwc | |
32 | vpath %.c tests-mbwc | |
33 | vpath %.h tests-mbwc | |
34 | ||
35 | ||
316518d6 | 36 | test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \ |
2976feab | 37 | tst-ctype tst-langinfo tst-langinfo-static tst-numeric |
081e43f2 | 38 | test-input := de_DE.ISO-8859-1 en_US.ISO-8859-1 da_DK.ISO-8859-1 \ |
a5ff533e | 39 | hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8 \ |
3ffc4cc1 | 40 | si_LK.UTF-8 uk_UA.UTF-8 hu_HU.UTF-8 lv_LV.UTF-8 \ |
fbb5fd03 MF |
41 | pl_PL.UTF-8 cs_CZ.UTF-8 fr_CA.UTF-8 hr_HR.UTF-8 \ |
42 | bs_BA.UTF-8 sr_RS.UTF-8 | |
56fa555a | 43 | test-input-data = $(addsuffix .in, $(test-input)) |
da2d1bc5 UD |
44 | test-output := $(foreach s, .out .xout, \ |
45 | $(addsuffix $s, $(basename $(test-input)))) | |
69c69fe1 | 46 | ld-test-names := test1 test2 test3 test4 test5 test6 test7 |
0a614877 | 47 | ld-test-srcs := $(addprefix tests/,$(addsuffix .cm,$(ld-test-names)) \ |
afa0569f | 48 | $(addsuffix .def,$(ld-test-names)) \ |
cf2964e2 UD |
49 | $(addsuffix .ds,test5 test6) \ |
50 | test6.c trans.def) | |
880f421f | 51 | |
8956ac9e UD |
52 | fmon-tests = n01y12 n02n40 n10y31 n11y41 n12y11 n20n32 n30y20 n41n00 \ |
53 | y01y10 y02n22 y22n42 y30y21 y32n31 y40y00 y42n21 | |
54 | ||
f08e9a26 | 55 | generated += $(test-input) $(test-output) sort-test.out tst-locale.out \ |
2976feab | 56 | tst-leaks.mtrace mtrace-tst-leaks.out |
f08e9a26 | 57 | generated-dirs += $(ld-test-names) tt_TT de_DE.437 \ |
40c4c9b5 | 58 | $(addprefix tstfmon_,$(fmon-tests)) \ |
414fd335 | 59 | |
03ac099f | 60 | ifeq ($(run-built-tests),yes) |
5ca8accd AJ |
61 | locale_test_suite := tst_iswalnum tst_iswalpha tst_iswcntrl \ |
62 | tst_iswctype tst_iswdigit tst_iswgraph \ | |
63 | tst_iswlower tst_iswprint tst_iswpunct \ | |
64 | tst_iswspace tst_iswupper tst_iswxdigit tst_mblen \ | |
65 | tst_mbrlen tst_mbrtowc tst_mbsrtowcs tst_mbstowcs \ | |
66 | tst_mbtowc tst_strcoll tst_strfmon tst_strxfrm \ | |
67 | tst_swscanf tst_towctrans tst_towlower \ | |
68 | tst_towupper tst_wcrtomb tst_wcscat tst_wcschr \ | |
69 | tst_wcscmp tst_wcscoll tst_wcscpy tst_wcscspn \ | |
70 | tst_wcslen tst_wcsncat tst_wcsncmp tst_wcsncpy \ | |
71 | tst_wcspbrk tst_wcsrtombs tst_wcsspn tst_wcsstr \ | |
72 | tst_wcstod tst_wcstok tst_wcstombs tst_wcswidth \ | |
73 | tst_wcsxfrm tst_wctob tst_wctomb tst_wctrans \ | |
74 | tst_wctype tst_wcwidth | |
2e23c3cc | 75 | |
7bcad280 | 76 | tests = $(locale_test_suite) tst-digits tst-setlocale bug-iconv-trans \ |
2976feab JM |
77 | tst-leaks tst-mbswcs1 tst-mbswcs2 tst-mbswcs3 tst-mbswcs4 tst-mbswcs5 \ |
78 | tst-mbswcs6 tst-xlocale1 tst-xlocale2 bug-usesetlocale \ | |
4e8f95a0 FW |
79 | tst-strfmon1 tst-sscanf bug-setlocale1 tst-setlocale2 tst-setlocale3 \ |
80 | tst-wctype | |
c34521ce L |
81 | tests-static = bug-setlocale1-static |
82 | tests += $(tests-static) | |
7bcad280 UD |
83 | ifeq (yes,$(build-shared)) |
84 | ifneq (no,$(PERL)) | |
0b20a9e8 | 85 | tests-special += $(objpfx)mtrace-tst-leaks.out |
7bcad280 UD |
86 | endif |
87 | endif | |
0e16ecfa | 88 | endif |
0e16ecfa | 89 | |
f5f52655 | 90 | # Files to install. |
d77cd295 UD |
91 | install-others := $(addprefix $(inst_i18ndir)/, \ |
92 | $(addsuffix .gz, $(charmaps)) \ | |
93 | $(locales)) | |
f5f52655 | 94 | |
23433315 PP |
95 | tests: $(objdir)/iconvdata/gconv-modules |
96 | ||
85bb81c9 WN |
97 | tests-static += tst-langinfo-static |
98 | ||
99 | ifeq ($(run-built-tests),yes) | |
f214606a JM |
100 | tests-special += $(objpfx)sort-test.out $(objpfx)tst-fmon.out \ |
101 | $(objpfx)tst-locale.out $(objpfx)tst-rpmatch.out \ | |
2976feab | 102 | $(objpfx)tst-trans.out $(objpfx)tst-ctype.out \ |
ae75a883 AJ |
103 | $(objpfx)tst-langinfo.out $(objpfx)tst-langinfo-static.out \ |
104 | $(objpfx)tst-numeric.out | |
6f99f280 JM |
105 | # We have to generate locales |
106 | LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \ | |
107 | en_US.ISO-8859-1 en_US.UTF-8 ja_JP.EUC-JP da_DK.ISO-8859-1 \ | |
108 | hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \ | |
109 | nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 tr_TR.UTF-8 cs_CZ.UTF-8 \ | |
110 | zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 si_LK.UTF-8 \ | |
3ffc4cc1 | 111 | tr_TR.ISO-8859-9 en_GB.UTF-8 uk_UA.UTF-8 hu_HU.UTF-8 lv_LV.UTF-8 \ |
fbb5fd03 | 112 | pl_PL.UTF-8 fr_CA.UTF-8 hr_HR.UTF-8 bs_BA.UTF-8 sr_RS.UTF-8 |
9f53d7ad | 113 | include ../gen-locales.mk |
6f99f280 JM |
114 | endif |
115 | ||
f5f52655 UD |
116 | include ../Rules |
117 | ||
d77cd295 UD |
118 | # Install the charmap files in gzipped format. |
119 | $(inst_i18ndir)/charmaps/%.gz: charmaps/% $(+force) | |
120 | $(make-target-directory) | |
121 | rm -f $(@:.gz=) $@ | |
122 | $(INSTALL_DATA) $< $(@:.gz=) | |
962edb7e | 123 | gzip -9n $(@:.gz=) |
d77cd295 UD |
124 | |
125 | # Install the locale source files in the appropriate directory. | |
73237de3 | 126 | $(inst_i18ndir)/locales/%: locales/% $(+force); $(do-install) |
f5f52655 | 127 | |
03ac099f | 128 | ifeq ($(run-built-tests),yes) |
40c4c9b5 UD |
129 | generated-dirs += $(LOCALES) |
130 | ||
9f2bedd0 | 131 | $(addsuffix .out,$(addprefix $(objpfx),$(tests))): %: \ |
5e087c71 UD |
132 | $(addprefix $(objpfx),$(CTYPE_FILES)) |
133 | ||
ca41028b UD |
134 | $(objpfx)sort-test.out: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \ |
135 | $(test-input-data) $(addprefix $(objpfx),$(CTYPE_FILES)) | |
8540f6d2 JM |
136 | $(SHELL) $< $(common-objpfx) '$(test-program-prefix-before-env)' \ |
137 | '$(run-program-env)' '$(test-program-prefix-after-env)' \ | |
138 | $(test-input) \ | |
f0881698 JM |
139 | > $@; \ |
140 | $(evaluate-test) | |
ca41028b UD |
141 | $(objpfx)tst-fmon.out: tst-fmon.sh $(objpfx)tst-fmon tst-fmon.data \ |
142 | $(objpfx)sort-test.out \ | |
143 | $(addprefix $(objpfx),$(CTYPE_FILES)) | |
8540f6d2 JM |
144 | $(SHELL) $< $(common-objpfx) '$(run-program-prefix-before-env)' \ |
145 | '$(run-program-env)' '$(run-program-prefix-after-env)' \ | |
146 | '$(test-program-prefix)' tst-fmon.data \ | |
f0881698 JM |
147 | > $@; \ |
148 | $(evaluate-test) | |
76352f64 UD |
149 | $(objpfx)tst-numeric.out: tst-numeric.sh $(objpfx)tst-numeric tst-numeric.data \ |
150 | $(objpfx)sort-test.out \ | |
151 | $(addprefix $(objpfx),$(CTYPE_FILES)) | |
740b3dbe | 152 | $(SHELL) $< $(common-objpfx) '$(test-program-prefix)' tst-numeric.data \ |
f0881698 JM |
153 | > $@; \ |
154 | $(evaluate-test) | |
ca41028b UD |
155 | $(objpfx)tst-locale.out: tst-locale.sh $(common-objpfx)locale/localedef \ |
156 | $(ld-test-srcs) $(addprefix $(objpfx),$(CTYPE_FILES)) | |
8540f6d2 JM |
157 | $(SHELL) $< $(common-objpfx) '$(built-program-cmd-before-env)' \ |
158 | '$(run-program-env)' '$(built-program-cmd-after-env)' > $@; \ | |
f0881698 | 159 | $(evaluate-test) |
ca41028b UD |
160 | $(objpfx)tst-rpmatch.out: tst-rpmatch.sh $(objpfx)tst-rpmatch \ |
161 | $(objpfx)tst-fmon.out \ | |
162 | $(addprefix $(objpfx),$(CTYPE_FILES)) | |
f0881698 JM |
163 | $(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@; \ |
164 | $(evaluate-test) | |
ca41028b UD |
165 | $(objpfx)tst-trans.out: tst-trans.sh $(objpfx)tst-trans \ |
166 | $(addprefix $(objpfx),$(CTYPE_FILES)) | |
8540f6d2 JM |
167 | $(SHELL) $< $(common-objpfx) '$(run-program-prefix-before-env)' \ |
168 | '$(run-program-env)' '$(run-program-prefix-after-env)' \ | |
169 | '$(test-program-prefix-before-env)' \ | |
d5afb385 | 170 | '$(test-program-prefix-after-env)' > $@; \ |
f0881698 | 171 | $(evaluate-test) |
ca41028b UD |
172 | $(objpfx)tst-ctype.out: tst-ctype.sh $(objpfx)tst-ctype \ |
173 | $(objpfx)sort-test.out \ | |
174 | $(addprefix $(objpfx),$(CTYPE_FILES)) | |
8540f6d2 | 175 | $(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \ |
d5afb385 | 176 | '$(run-program-env)' '$(test-program-cmd-after-env)' > $@; \ |
f0881698 | 177 | $(evaluate-test) |
f79d99cb UD |
178 | $(objpfx)tst-langinfo.out: tst-langinfo.sh $(objpfx)tst-langinfo \ |
179 | $(objpfx)sort-test.out \ | |
180 | $(addprefix $(objpfx),$(CTYPE_FILES)) | |
8540f6d2 JM |
181 | $(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \ |
182 | '$(run-program-env)' '$(test-program-cmd-after-env)' > $@; \ | |
ae75a883 AJ |
183 | $(evaluate-test) |
184 | $(objpfx)tst-langinfo-static.out: tst-langinfo.sh $(objpfx)tst-langinfo-static \ | |
185 | $(objpfx)sort-test.out \ | |
186 | $(addprefix $(objpfx),$(CTYPE_FILES)) | |
8540f6d2 JM |
187 | $(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \ |
188 | '$(run-program-env)' '$(test-program-cmd-after-env)' > $@; \ | |
f0881698 | 189 | $(evaluate-test) |
69c69fe1 | 190 | $(objpfx)tst-digits.out: $(objpfx)tst-locale.out |
db2d05f9 | 191 | $(objpfx)tst-mbswcs6.out: $(addprefix $(objpfx),$(CTYPE_FILES)) |
df455ccb | 192 | endif |
92610fbe | 193 | |
f7364247 UD |
194 | include SUPPORTED |
195 | ||
196 | INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES)) | |
197 | ||
92610fbe | 198 | # Sometimes the whole collection of locale files should be installed. |
246a9a19 | 199 | LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \ |
85d89278 | 200 | $(rtld-prefix) $(common-objpfx)locale/localedef |
f7364247 UD |
201 | install-locales: $(INSTALL-SUPPORTED-LOCALES) |
202 | ||
203 | install-locales-dir: | |
90fe682d | 204 | $(..)./scripts/mkinstalldirs $(inst_complocaledir) |
f7364247 | 205 | |
02eec681 CD |
206 | # The SHIFT_JIS and SHIFT_JISX0213 character maps are not ASCII compatible, |
207 | # therefore we have to use --no-warnings=ascii to disable the ASCII check. | |
208 | # See localedata/gen-locale.sh for the same logic. | |
f7364247 UD |
209 | $(INSTALL-SUPPORTED-LOCALES): install-locales-dir |
210 | @locale=`echo $@ | sed -e 's/^install-//'`; \ | |
211 | charset=`echo $$locale | sed -e 's,.*/,,'`; \ | |
212 | locale=`echo $$locale | sed -e 's,/[^/]*,,'`; \ | |
02eec681 CD |
213 | flags="--quiet -c"; \ |
214 | if [ "$$charset" = 'SHIFT_JIS' ] \ | |
215 | || [ "$$charset" = 'SHIFT_JISX0213' ]; then \ | |
216 | flags="$$flags --no-warnings=ascii"; \ | |
217 | fi; \ | |
f7364247 UD |
218 | echo -n `echo $$locale | sed 's/\([^.\@]*\).*/\1/'`; \ |
219 | echo -n ".$$charset"; \ | |
220 | echo -n `echo $$locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ | |
221 | echo -n '...'; \ | |
222 | input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \ | |
02eec681 CD |
223 | $(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \ |
224 | -i locales/$$input -f charmaps/$$charset \ | |
6c307927 CD |
225 | $(addprefix --prefix=,$(install_root)) $$locale \ |
226 | && echo ' done'; \ | |
5b905722 | 227 | |
2bf18041 | 228 | tst-setlocale-ENV = LC_ALL=ja_JP.EUC-JP |
2976feab | 229 | tst-wctype-ENV = LC_ALL=ja_JP.EUC-JP |
2bf18041 JM |
230 | |
231 | tst-leaks-ENV = MALLOC_TRACE=$(objpfx)tst-leaks.mtrace | |
0b20a9e8 | 232 | $(objpfx)mtrace-tst-leaks.out: $(objpfx)tst-leaks.out |
f0881698 JM |
233 | $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@; \ |
234 | $(evaluate-test) | |
23433315 | 235 | |
9162c01d RM |
236 | bug-setlocale1-ENV-only = LOCPATH=$(objpfx) LC_CTYPE=de_DE.UTF-8 |
237 | bug-setlocale1-static-ENV-only = $(bug-setlocale1-ENV-only) | |
cc9e536d | 238 | |
23433315 PP |
239 | $(objdir)/iconvdata/gconv-modules: |
240 | $(MAKE) -C ../iconvdata subdir=iconvdata $@ |