]>
Commit | Line | Data |
---|---|---|
48d0341c | 1 | #!/bin/sh |
5e087c71 | 2 | # Generate test locale files. |
04277e02 | 3 | # Copyright (C) 2000-2019 Free Software Foundation, Inc. |
a5707dad | 4 | # This file is part of the GNU C Library. |
41bdb6e2 | 5 | |
a5707dad | 6 | # The GNU C Library is free software; you can redistribute it and/or |
41bdb6e2 AJ |
7 | # modify it under the terms of the GNU Lesser General Public |
8 | # License as published by the Free Software Foundation; either | |
9 | # version 2.1 of the License, or (at your option) any later version. | |
10 | ||
a5707dad UD |
11 | # The GNU C Library is distributed in the hope that it will be useful, |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
41bdb6e2 AJ |
14 | # Lesser General Public License for more details. |
15 | ||
16 | # You should have received a copy of the GNU Lesser General Public | |
59ba27a6 PE |
17 | # License along with the GNU C Library; if not, see |
18 | # <http://www.gnu.org/licenses/>. | |
a5707dad | 19 | |
57c69bef DL |
20 | set -e |
21 | ||
5e087c71 | 22 | common_objpfx="$1"; shift |
8540f6d2 JM |
23 | localedef_before_env="$1"; shift |
24 | run_program_env="$1"; shift | |
25 | localedef_after_env="$1"; shift | |
5e087c71 | 26 | locfile="$1"; shift |
a5707dad UD |
27 | |
28 | generate_locale () | |
29 | { | |
fcdc67f9 RM |
30 | charmap=$1 |
31 | input=$2 | |
32 | out=$3 | |
02eec681 | 33 | flags=$4 |
f16491eb CD |
34 | ret=0 |
35 | ${localedef_before_env} ${run_program_env} I18NPATH=../localedata \ | |
02eec681 | 36 | ${localedef_after_env} $flags -f $charmap -i $input \ |
f16491eb | 37 | ${common_objpfx}localedata/$out || ret=$? |
02eec681 | 38 | if [ $ret -eq 0 ]; then |
fcdc67f9 RM |
39 | # The makefile checks the timestamp of the LC_CTYPE file, |
40 | # but localedef won't have touched it if it was able to | |
41 | # hard-link it to an existing file. | |
42 | touch ${common_objpfx}localedata/$out/LC_CTYPE | |
43 | else | |
44 | echo "Charmap: \"${charmap}\" Inputfile: \"${input}\"" \ | |
45 | "Outputdir: \"${out}\" failed" | |
46 | exit 1 | |
47 | fi | |
a5707dad UD |
48 | } |
49 | ||
9f835f5f UD |
50 | locfile=`echo $locfile|sed 's|.*/\([^/]*/LC_CTYPE\)|\1|'` |
51 | locale=`echo $locfile|sed 's|\([^.]*\)[.].*/LC_CTYPE|\1|'` | |
ce6636b0 MF |
52 | charmap=`echo $locfile|sed 's|[^.]*[.]\([^@ ]*\)\(@[^ ]*\)\?/LC_CTYPE|\1|'` |
53 | modifier=`echo $locfile|sed 's|[^.]*[.]\([^@ ]*\)\(@[^ ]*\)\?/LC_CTYPE|\2|'` | |
5e087c71 UD |
54 | |
55 | echo "Generating locale $locale.$charmap: this might take a while..." | |
f16491eb | 56 | |
02eec681 CD |
57 | # Run quietly and force output. |
58 | flags="--quiet -c" | |
59 | ||
f16491eb CD |
60 | # For SJIS the charmap is SHIFT_JIS. We just want the locale to have |
61 | # a slightly nicer name instead of using "*.SHIFT_SJIS", but that | |
62 | # means we need a mapping here. | |
63 | charmap_real="$charmap" | |
64 | if [ "$charmap" = "SJIS" ]; then | |
65 | charmap_real="SHIFT_JIS" | |
66 | fi | |
67 | ||
02eec681 CD |
68 | # In addition to this the SHIFT_JIS character maps are not ASCII |
69 | # compatible so we must use `--no-warnings=ascii' to disable the | |
70 | # warning. See localedata/Makefile $(INSTALL-SUPPORTED-LOCALES) | |
71 | # for the same logic. | |
72 | if [ "$charmap_real" = 'SHIFT_JIS' ] \ | |
0a9d1d62 | 73 | || [ "$charmap_real" = 'SHIFT_JISX0213' ]; then |
02eec681 CD |
74 | flags="$flags --no-warnings=ascii" |
75 | fi | |
76 | ||
ce6636b0 | 77 | generate_locale $charmap_real $locale$modifier $locale.$charmap$modifier "$flags" |