about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMike FABIAN <mfabian@redhat.com>2018-01-01 15:33:50 +0100
committerMike FABIAN <mfabian@redhat.com>2018-02-27 17:01:57 +0100
commitce6636b06b67d6bb9b3d6927bf2a926b9b7478f5 (patch)
treec78cfc855c80e7ed60c0c4321bc0b39ce3d816d1
parentac3a3b4b0d561d776b60317d6a926050c8541655 (diff)
downloadglibc-ce6636b06b67d6bb9b3d6927bf2a926b9b7478f5.tar.gz
glibc-ce6636b06b67d6bb9b3d6927bf2a926b9b7478f5.tar.xz
glibc-ce6636b06b67d6bb9b3d6927bf2a926b9b7478f5.zip
Improve gen-locales.mk and gen-locale.sh to make test files with @ options work
With out this, adding collation test files like localedata/gez_ER.UTF-8@abegede.in
does not work for locales which contain @ modifiers.

	* gen-locales.mk: Make test files which contain @ modifiers in their
        name work.
	* localedata/gen-locale.sh: Likewise.
-rw-r--r--ChangeLog6
-rw-r--r--gen-locales.mk4
-rw-r--r--localedata/gen-locale.sh5
3 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 3bff7b8266..3cce5f70f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2018-02-27  Mike FABIAN  <mfabian@redhat.com>
 
+	* gen-locales.mk: Make test files which contain @ modifiers in their
+	name work.
+	* localedata/gen-locale.sh: Likewise.
+
+2018-02-27  Mike FABIAN  <mfabian@redhat.com>
+
 	* posix/tst-fnmatch.input: Fix results for range expressions
 	for non C locales.
 	* posix/tst-regexloc.c: Do not use a range expression for
diff --git a/gen-locales.mk b/gen-locales.mk
index fd88b5bef1..9c523d2a05 100644
--- a/gen-locales.mk
+++ b/gen-locales.mk
@@ -1,8 +1,8 @@
 # defines target $(gen-locales) that generates the locales given in $(LOCALES)
 
-LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
+LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^@ ]*\(@[^ ]*\)\?/\1\2/g')
 CHARMAPS := $(shell echo "$(LOCALES)" | \
-		    sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
+		    sed -e 's/[^ .]*[.]\([^@ ]*\)\(@[^@ ]*\)*/\1/g' -e s/SJIS/SHIFT_JIS/g)
 CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES))
 gen-locales := $(addprefix $(common-objpfx)localedata/,$(CTYPE_FILES))
 
diff --git a/localedata/gen-locale.sh b/localedata/gen-locale.sh
index 1bba5fee92..b91e42af13 100644
--- a/localedata/gen-locale.sh
+++ b/localedata/gen-locale.sh
@@ -49,7 +49,8 @@ generate_locale ()
 
 locfile=`echo $locfile|sed 's|.*/\([^/]*/LC_CTYPE\)|\1|'`
 locale=`echo $locfile|sed 's|\([^.]*\)[.].*/LC_CTYPE|\1|'`
-charmap=`echo $locfile|sed 's|[^.]*[.]\(.*\)/LC_CTYPE|\1|'`
+charmap=`echo $locfile|sed 's|[^.]*[.]\([^@ ]*\)\(@[^ ]*\)\?/LC_CTYPE|\1|'`
+modifier=`echo $locfile|sed 's|[^.]*[.]\([^@ ]*\)\(@[^ ]*\)\?/LC_CTYPE|\2|'`
 
 echo "Generating locale $locale.$charmap: this might take a while..."
 
@@ -73,4 +74,4 @@ if [ "$charmap_real" = 'SHIFT_JIS' ] \
   flags="$flags --no-warnings=ascii"
 fi
 
-generate_locale $charmap_real $locale $locale.$charmap "$flags"
+generate_locale $charmap_real $locale$modifier $locale.$charmap$modifier "$flags"