Split locale generation snippet into a separate file

This patch prepares for the strcoll benchmark by moving the makefile
code for generating the locale files into a standalone snippet that
can be used elsewhere.
This commit is contained in:
Leonhard Holz 2015-05-12 20:32:50 +05:30 committed by Siddhesh Poyarekar
parent 0f4840be25
commit 9f53d7ad57
4 changed files with 30 additions and 16 deletions

20
gen-locales.mk Normal file
View File

@ -0,0 +1,20 @@
# defines target $(gen-locales) that generates the locales given in $(LOCALES)
LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
CHARMAPS := $(shell echo "$(LOCALES)" | \
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))
# Dependency for the locale files. We actually make it depend only on
# one of the files.
$(addprefix $(common-objpfx)localedata/,$(CTYPE_FILES)): %: \
../localedata/gen-locale.sh \
$(common-objpfx)locale/localedef \
../localedata/Makefile \
$(addprefix ../localedata/charmaps/,$(CHARMAPS)) \
$(addprefix ../localedata/locales/,$(LOCALE_SRCS))
@$(SHELL) ../localedata/gen-locale.sh $(common-objpfx) \
'$(built-program-cmd-before-env)' '$(run-program-env)' \
'$(built-program-cmd-after-env)' $@; \
$(evaluate-test)

View File

@ -1,3 +1,11 @@
2015-05-12 Leonhard Holz <leonhard.holz@web.de>
* gen-locales.mk: New Makefile snippet to generate locales.
* localedata/Makefile: Use gen-locales.mk for locale
generation.
* localedata/gen-locale.sh (generate_locale): Make path to
charmaps independent of current working directory.
2015-05-07 Christian Schmidt <glibc@chsc.dk>
[BZ #17692]

View File

@ -107,11 +107,7 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
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
LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
CHARMAPS := $(shell echo "$(LOCALES)" | \
sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES))
tests-special += $(addprefix $(objpfx),$(CTYPE_FILES))
include ../gen-locales.mk
endif
include ../Rules
@ -130,16 +126,6 @@ $(inst_i18ndir)/locales/%: locales/% $(+force); $(do-install)
ifeq ($(run-built-tests),yes)
generated-dirs += $(LOCALES)
# Dependency for the locale files. We actually make it depend only on
# one of the files.
$(addprefix $(objpfx),$(CTYPE_FILES)): %: \
gen-locale.sh $(common-objpfx)locale/localedef Makefile \
$(addprefix charmaps/,$(CHARMAPS)) $(addprefix locales/,$(LOCALE_SRCS))
@$(SHELL) gen-locale.sh $(common-objpfx) \
'$(built-program-cmd-before-env)' '$(run-program-env)' \
'$(built-program-cmd-after-env)' $@; \
$(evaluate-test)
$(addsuffix .out,$(addprefix $(objpfx),$(tests))): %: \
$(addprefix $(objpfx),$(CTYPE_FILES))

View File

@ -30,7 +30,7 @@ generate_locale ()
charmap=$1
input=$2
out=$3
if ${localedef_before_env} ${run_program_env} I18NPATH=. \
if ${localedef_before_env} ${run_program_env} I18NPATH=../localedata \
${localedef_after_env} --quiet -c -f $charmap -i $input \
${common_objpfx}localedata/$out
then