diff --git a/gen-locales.mk b/gen-locales.mk new file mode 100644 index 0000000000..fd88b5bef1 --- /dev/null +++ b/gen-locales.mk @@ -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) diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 89540ee828..728b500b6f 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,11 @@ +2015-05-12 Leonhard Holz + + * 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 [BZ #17692] diff --git a/localedata/Makefile b/localedata/Makefile index 0f67725800..03ec98c0e0 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -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)) diff --git a/localedata/gen-locale.sh b/localedata/gen-locale.sh index 4156f9e2ec..a0e3a1a23f 100644 --- a/localedata/gen-locale.sh +++ b/localedata/gen-locale.sh @@ -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