summaryrefslogtreecommitdiff
path: root/localedata/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'localedata/Makefile')
-rw-r--r--localedata/Makefile241
1 files changed, 219 insertions, 22 deletions
diff --git a/localedata/Makefile b/localedata/Makefile
index 4ecb192eb0..13c5423e0e 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2016 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -34,11 +34,92 @@ vpath %.h tests-mbwc
test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \
- tst-ctype tst-langinfo tst-langinfo-static tst-numeric
-test-input := de_DE.ISO-8859-1 en_US.ISO-8859-1 da_DK.ISO-8859-1 \
- hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8 \
- si_LK.UTF-8 uk_UA.UTF-8
-test-input-data = $(addsuffix .in, $(basename $(test-input)))
+ tst-ctype tst-langinfo-newlocale tst-langinfo-setlocale \
+ tst-langinfo-newlocale-static tst-langinfo-setlocale-static \
+ tst-numeric
+# List of test input files (list sorted alphabetically):
+test-input := \
+ am_ET.UTF-8 \
+ az_AZ.UTF-8 \
+ be_BY.UTF-8 \
+ ber_DZ.UTF-8 \
+ ber_MA.UTF-8 \
+ bg_BG.UTF-8 \
+ br_FR.UTF-8 \
+ bs_BA.UTF-8 \
+ cmn_TW.UTF-8 \
+ crh_UA.UTF-8 \
+ cs_CZ.UTF-8 \
+ csb_PL.UTF-8 \
+ cv_RU.UTF-8 \
+ cy_GB.UTF-8 \
+ da_DK.ISO-8859-1 \
+ de_DE.ISO-8859-1 \
+ dsb_DE.UTF-8 \
+ dz_BT.UTF-8 \
+ en_US.ISO-8859-1 \
+ en_US.UTF-8 \
+ eo.UTF-8 \
+ es_ES.UTF-8 \
+ et_EE.UTF-8 \
+ fa_IR.UTF-8 \
+ fi_FI.UTF-8 \
+ fil_PH.UTF-8 \
+ fr_CA.UTF-8 \
+ fr_FR.UTF-8 \
+ fur_IT.UTF-8 \
+ gez_ER.UTF-8@abegede \
+ ha_NG.UTF-8 \
+ hr_HR.ISO-8859-2 \
+ hr_HR.UTF-8 \
+ hsb_DE.UTF-8 \
+ hu_HU.UTF-8 \
+ ig_NG.UTF-8 \
+ ik_CA.UTF-8 \
+ is_IS.UTF-8 \
+ kk_KZ.UTF-8 \
+ ku_TR.UTF-8 \
+ ky_KG.UTF-8 \
+ ln_CD.UTF-8 \
+ lt_LT.UTF-8 \
+ lv_LV.UTF-8 \
+ mi_NZ.UTF-8 \
+ ml_IN.UTF-8 \
+ mn_MN.UTF-8 \
+ mr_IN.UTF-8 \
+ mt_MT.UTF-8 \
+ nan_TW.UTF-8@latin \
+ nb_NO.UTF-8 \
+ om_KE.UTF-8 \
+ os_RU.UTF-8 \
+ pl_PL.UTF-8 \
+ ps_AF.UTF-8 \
+ ro_RO.UTF-8 \
+ ru_RU.UTF-8 \
+ sah_RU.UTF-8 \
+ sc_IT.UTF-8 \
+ se_NO.UTF-8 \
+ si_LK.UTF-8 \
+ sq_AL.UTF-8 \
+ sr_RS.UTF-8 \
+ sv_SE.ISO-8859-1 \
+ sv_SE.UTF-8 \
+ szl_PL.UTF-8 \
+ tg_TJ.UTF-8 \
+ tk_TM.UTF-8 \
+ tr_TR.UTF-8 \
+ tt_RU.UTF-8 \
+ tt_RU.UTF-8@iqtelif \
+ ug_CN.UTF-8 \
+ uk_UA.UTF-8 \
+ uz_UZ.UTF-8 \
+ vi_VN.UTF-8 \
+ yi_US.UTF-8 \
+ yo_NG.UTF-8 \
+ zh_CN.UTF-8 \
+ $(NULL)
+
+test-input-data = $(addsuffix .in, $(test-input))
test-output := $(foreach s, .out .xout, \
$(addsuffix $s, $(basename $(test-input))))
ld-test-names := test1 test2 test3 test4 test5 test6 test7
@@ -92,21 +173,110 @@ install-others := $(addprefix $(inst_i18ndir)/, \
tests: $(objdir)/iconvdata/gconv-modules
-tests-static += tst-langinfo-static
+tests-static += tst-langinfo-newlocale-static tst-langinfo-setlocale-static
ifeq ($(run-built-tests),yes)
tests-special += $(objpfx)sort-test.out $(objpfx)tst-fmon.out \
$(objpfx)tst-locale.out $(objpfx)tst-rpmatch.out \
$(objpfx)tst-trans.out $(objpfx)tst-ctype.out \
- $(objpfx)tst-langinfo.out $(objpfx)tst-langinfo-static.out \
+ $(objpfx)tst-langinfo-newlocale.out \
+ $(objpfx)tst-langinfo-setlocale.out \
+ $(objpfx)tst-langinfo-newlocale-static.out \
+ $(objpfx)tst-langinfo-setlocale-static.out \
$(objpfx)tst-numeric.out
-# We have to generate locales
-LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
- en_US.ISO-8859-1 en_US.UTF-8 ja_JP.EUC-JP da_DK.ISO-8859-1 \
- hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
- nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 tr_TR.UTF-8 cs_CZ.UTF-8 \
- zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 si_LK.UTF-8 \
- tr_TR.ISO-8859-9 en_GB.UTF-8 uk_UA.UTF-8
+# We have to generate locales (list sorted alphabetically)
+LOCALES := \
+ am_ET.UTF-8 \
+ az_AZ.UTF-8 \
+ be_BY.UTF-8 \
+ ber_DZ.UTF-8 \
+ ber_MA.UTF-8 \
+ bg_BG.UTF-8 \
+ br_FR.UTF-8 \
+ bs_BA.UTF-8 \
+ cmn_TW.UTF-8 \
+ crh_UA.UTF-8 \
+ cs_CZ.UTF-8 \
+ csb_PL.UTF-8 \
+ cv_RU.UTF-8 \
+ cy_GB.UTF-8 \
+ da_DK.ISO-8859-1 \
+ de_DE.ISO-8859-1 \
+ de_DE.UTF-8 \
+ dsb_DE.UTF-8 \
+ dz_BT.UTF-8 \
+ en_GB.UTF-8 \
+ en_US.ANSI_X3.4-1968 \
+ en_US.ISO-8859-1\
+ en_US.UTF-8 \
+ eo.UTF-8 \
+ es_ES.UTF-8 \
+ et_EE.UTF-8 \
+ fa_IR.UTF-8 \
+ fi_FI.UTF-8 \
+ fil_PH.UTF-8 \
+ fr_CA.UTF-8 \
+ fr_FR.ISO-8859-1 \
+ fr_FR.UTF-8 \
+ fur_IT.UTF-8 \
+ gez_ER.UTF-8@abegede \
+ ha_NG.UTF-8 \
+ hr_HR.ISO-8859-2 \
+ hr_HR.UTF-8 \
+ hsb_DE.UTF-8 \
+ hu_HU.UTF-8 \
+ ig_NG.UTF-8 \
+ ik_CA.UTF-8 \
+ is_IS.UTF-8 \
+ ja_JP.EUC-JP \
+ ja_JP.SJIS \
+ ja_JP.UTF-8 \
+ kk_KZ.UTF-8 \
+ ku_TR.UTF-8 \
+ ky_KG.UTF-8 \
+ ln_CD.UTF-8 \
+ lt_LT.UTF-8 \
+ lv_LV.UTF-8 \
+ mi_NZ.UTF-8 \
+ ml_IN.UTF-8 \
+ mn_MN.UTF-8 \
+ mr_IN.UTF-8 \
+ mt_MT.UTF-8 \
+ nan_TW.UTF-8@latin \
+ nb_NO.ISO-8859-1 \
+ nb_NO.UTF-8 \
+ nn_NO.ISO-8859-1 \
+ om_KE.UTF-8 \
+ os_RU.UTF-8 \
+ pl_PL.UTF-8 \
+ ps_AF.UTF-8 \
+ ro_RO.UTF-8 \
+ ru_RU.UTF-8 \
+ sah_RU.UTF-8 \
+ sc_IT.UTF-8 \
+ se_NO.UTF-8 \
+ si_LK.UTF-8 \
+ sq_AL.UTF-8 \
+ sr_RS.UTF-8 \
+ sv_SE.ISO-8859-1 \
+ sv_SE.UTF-8 \
+ szl_PL.UTF-8 \
+ tg_TJ.UTF-8 \
+ tk_TM.UTF-8 \
+ tr_TR.ISO-8859-9 \
+ tr_TR.UTF-8 \
+ tt_RU.UTF-8 \
+ tt_RU.UTF-8@iqtelif \
+ ug_CN.UTF-8 \
+ uk_UA.UTF-8 \
+ uz_UZ.UTF-8 \
+ vi_VN.UTF-8 \
+ yi_US.UTF-8 \
+ yo_NG.UTF-8 \
+ zh_CN.UTF-8 \
+ zh_TW.EUC-TW \
+ $(NULL)
+
include ../gen-locales.mk
endif
@@ -122,7 +292,6 @@ $(inst_i18ndir)/charmaps/%.gz: charmaps/% $(+force)
# Install the locale source files in the appropriate directory.
$(inst_i18ndir)/locales/%: locales/% $(+force); $(do-install)
-
ifeq ($(run-built-tests),yes)
generated-dirs += $(LOCALES)
@@ -165,26 +334,46 @@ $(objpfx)tst-trans.out: tst-trans.sh $(objpfx)tst-trans \
$(SHELL) $< $(common-objpfx) '$(run-program-prefix-before-env)' \
'$(run-program-env)' '$(run-program-prefix-after-env)' \
'$(test-program-prefix-before-env)' \
- '$(test-program-prefix-after-env)'; \
+ '$(test-program-prefix-after-env)' > $@; \
$(evaluate-test)
$(objpfx)tst-ctype.out: tst-ctype.sh $(objpfx)tst-ctype \
$(objpfx)sort-test.out \
$(addprefix $(objpfx),$(CTYPE_FILES))
$(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \
- '$(run-program-env)' '$(test-program-cmd-after-env)'; \
+ '$(run-program-env)' '$(test-program-cmd-after-env)' > $@; \
$(evaluate-test)
-$(objpfx)tst-langinfo.out: tst-langinfo.sh $(objpfx)tst-langinfo \
+$(objpfx)tst-langinfo-newlocale.out: tst-langinfo.sh \
+ $(objpfx)tst-langinfo-newlocale \
$(objpfx)sort-test.out \
$(addprefix $(objpfx),$(CTYPE_FILES))
$(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \
'$(run-program-env)' '$(test-program-cmd-after-env)' > $@; \
$(evaluate-test)
-$(objpfx)tst-langinfo-static.out: tst-langinfo.sh $(objpfx)tst-langinfo-static \
+$(objpfx)tst-langinfo-newlocale-static.out: tst-langinfo.sh \
+ $(objpfx)tst-langinfo-newlocale-static \
$(objpfx)sort-test.out \
$(addprefix $(objpfx),$(CTYPE_FILES))
$(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \
'$(run-program-env)' '$(test-program-cmd-after-env)' > $@; \
$(evaluate-test)
+# Static use of newlocale is known not to work. See Bug 23164.
+test-xfail-tst-langinfo-newlocale-static = yes
+
+$(objpfx)tst-langinfo-setlocale.out: tst-langinfo.sh \
+ $(objpfx)tst-langinfo-setlocale \
+ $(objpfx)sort-test.out \
+ $(addprefix $(objpfx),$(CTYPE_FILES))
+ $(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \
+ '$(run-program-env)' '$(test-program-cmd-after-env)' > $@; \
+ $(evaluate-test)
+$(objpfx)tst-langinfo-setlocale-static.out: tst-langinfo.sh \
+ $(objpfx)tst-langinfo-setlocale-static \
+ $(objpfx)sort-test.out \
+ $(addprefix $(objpfx),$(CTYPE_FILES))
+ $(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \
+ '$(run-program-env)' '$(test-program-cmd-after-env)' > $@; \
+ $(evaluate-test)
+
$(objpfx)tst-digits.out: $(objpfx)tst-locale.out
$(objpfx)tst-mbswcs6.out: $(addprefix $(objpfx),$(CTYPE_FILES))
endif
@@ -201,17 +390,25 @@ install-locales: $(INSTALL-SUPPORTED-LOCALES)
install-locales-dir:
$(..)./scripts/mkinstalldirs $(inst_complocaledir)
+# The SHIFT_JIS and SHIFT_JISX0213 character maps are not ASCII compatible,
+# therefore we have to use --no-warnings=ascii to disable the ASCII check.
+# See localedata/gen-locale.sh for the same logic.
$(INSTALL-SUPPORTED-LOCALES): install-locales-dir
@locale=`echo $@ | sed -e 's/^install-//'`; \
charset=`echo $$locale | sed -e 's,.*/,,'`; \
locale=`echo $$locale | sed -e 's,/[^/]*,,'`; \
+ flags="-c"; \
+ if [ "$$charset" = 'SHIFT_JIS' ] \
+ || [ "$$charset" = 'SHIFT_JISX0213' ]; then \
+ flags="$$flags --no-warnings=ascii"; \
+ fi; \
echo -n `echo $$locale | sed 's/\([^.\@]*\).*/\1/'`; \
echo -n ".$$charset"; \
echo -n `echo $$locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \
echo -n '...'; \
input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
- $(LOCALEDEF) --alias-file=../intl/locale.alias \
- -i locales/$$input -c -f charmaps/$$charset \
+ $(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \
+ -i locales/$$input -f charmaps/$$charset \
$(addprefix --prefix=,$(install_root)) $$locale \
&& echo ' done'; \