diff options
Diffstat (limited to 'localedata')
-rw-r--r-- | localedata/Makefile | 12 | ||||
-rw-r--r-- | localedata/gen-locale.sh | 24 |
2 files changed, 26 insertions, 10 deletions
diff --git a/localedata/Makefile b/localedata/Makefile index 75f71bb..a5f3c92 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -200,17 +200,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="--quiet -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'; \ diff --git a/localedata/gen-locale.sh b/localedata/gen-locale.sh index b4ec68c..757a0e9 100644 --- a/localedata/gen-locale.sh +++ b/localedata/gen-locale.sh @@ -30,16 +30,12 @@ generate_locale () charmap=$1 input=$2 out=$3 + flags=$4 ret=0 ${localedef_before_env} ${run_program_env} I18NPATH=../localedata \ - ${localedef_after_env} --quiet -c -f $charmap -i $input \ + ${localedef_after_env} $flags -f $charmap -i $input \ ${common_objpfx}localedata/$out || ret=$? - # All locales compile fine, except those with SHIFT_JIS charmap - # and those fail with exit code 1 because SHIFT_JIS issues a - # warning (it is not ASCII compatible). - if [ $ret -eq 0 ] \ - || ( [ $ret -eq 1 ] \ - && [ "$charmap" = "SHIFT_JIS" ] ); then + if [ $ret -eq 0 ]; then # The makefile checks the timestamp of the LC_CTYPE file, # but localedef won't have touched it if it was able to # hard-link it to an existing file. @@ -57,6 +53,9 @@ charmap=`echo $locfile|sed 's|[^.]*[.]\(.*\)/LC_CTYPE|\1|'` echo "Generating locale $locale.$charmap: this might take a while..." +# Run quietly and force output. +flags="--quiet -c" + # For SJIS the charmap is SHIFT_JIS. We just want the locale to have # a slightly nicer name instead of using "*.SHIFT_SJIS", but that # means we need a mapping here. @@ -65,4 +64,13 @@ if [ "$charmap" = "SJIS" ]; then charmap_real="SHIFT_JIS" fi -generate_locale $charmap_real $locale $locale.$charmap +# In addition to this the SHIFT_JIS character maps are not ASCII +# compatible so we must use `--no-warnings=ascii' to disable the +# warning. See localedata/Makefile $(INSTALL-SUPPORTED-LOCALES) +# for the same logic. +if [ "$charmap_real" = 'SHIFT_JIS' ] \ + || [ "$charmpa_real" = 'SHIFT_JISX0213' ]; then + flags="$flags --no-warnings=ascii" +fi + +generate_locale $charmap_real $locale $locale.$charmap "$flags" |