diff --git a/iconvdata/Makefile b/iconvdata/Makefile index 6eeb92f4b3..8925a684eb 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -137,10 +137,13 @@ charmaps = ../localedata/charmaps extra-modules-left := $(modules) include extra-module.mk +gconv-modules = gconv-modules.conf +modpfx = $(objpfx)gconv-modules.d/ extra-objs += $(modules.so) install-others = $(addprefix $(inst_gconvdir)/, $(modules.so)) \ - $(inst_gconvdir)/gconv-modules + $(addprefix $(inst_gconvdir)/gconv-modules.d/, \ + $(gconv-modules)) # We can build the conversion tables for numerous charsets automatically. @@ -182,7 +185,7 @@ generated += $(generated-modules:=.h) $(generated-modules:=.stmp) \ iconv-test.out iconv-rules tst-loading.mtrace \ mtrace-tst-loading.out tst-tables.out iconv-test.xxx ifdef objpfx -generated += gconv-modules +generated += $(addprefix gconv-modules.d/,$(gconv-modules)) endif # Rules to generate the headers. @@ -250,7 +253,8 @@ headers: $(addprefix $(objpfx), $(generated-modules:=.h)) $(addprefix $(inst_gconvdir)/, $(modules.so)): \ $(inst_gconvdir)/%: $(objpfx)% $(+force) $(do-install-program) -$(inst_gconvdir)/gconv-modules: $(objpfx)gconv-modules $(+force) +$(addprefix $(inst_gconvdir)/gconv-modules.d/, $(gconv-modules)): \ + $(inst_gconvdir)/gconv-modules.d/%: $(modpfx)% $(+force) $(do-install) ifeq (no,$(cross-compiling)) # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary @@ -303,28 +307,29 @@ $(objpfx)mtrace-tst-loading.out: $(objpfx)tst-loading.out $(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@; \ $(evaluate-test) -$(objpfx)bug-iconv1.out: $(objpfx)gconv-modules \ +$(objpfx)bug-iconv1.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)bug-iconv2.out: $(objpfx)gconv-modules \ +$(objpfx)bug-iconv2.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)bug-iconv3.out: $(objpfx)gconv-modules \ +$(objpfx)bug-iconv3.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)bug-iconv5.out: $(objpfx)gconv-modules \ +$(objpfx)bug-iconv5.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)tst-loading.out: $(objpfx)gconv-modules \ +$(objpfx)tst-loading.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)tst-iconv4.out: $(objpfx)gconv-modules \ +$(objpfx)tst-iconv4.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)tst-iconv7.out: $(objpfx)gconv-modules \ +$(objpfx)tst-iconv7.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)bug-iconv10.out: $(objpfx)gconv-modules \ +$(objpfx)bug-iconv10.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)bug-iconv12.out: $(objpfx)gconv-modules \ +$(objpfx)bug-iconv12.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)bug-iconv14.out: $(objpfx)gconv-modules \ +$(objpfx)bug-iconv14.out: $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \ +$(objpfx)iconv-test.out: run-iconv-test.sh \ + $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) \ $(common-objdir)/iconv/iconv_prog TESTS iconv_modules="$(modules)" \ @@ -332,7 +337,8 @@ $(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \ '$(run-program-env)' > $@; \ $(evaluate-test) -$(objpfx)tst-tables.out: tst-tables.sh $(objpfx)gconv-modules \ +$(objpfx)tst-tables.out: tst-tables.sh \ + $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) \ $(objpfx)tst-table-from $(objpfx)tst-table-to $(SHELL) $< $(common-objpfx) $(common-objpfx)iconvdata/ \ @@ -345,9 +351,13 @@ do-tests-clean common-mostlyclean: tst-tables-clean tst-tables-clean: -rm -f $(objpfx)tst-*.table $(objpfx)tst-EUC-TW.irreversible -$(objpfx)gconv-modules: gconv-modules - cat $(sysdeps-gconv-modules) $^ > $@ +$(modpfx): + mkdir -p $@ + +$(modpfx)%: % $(modpfx) + cp $< $@ # Test requires BIG5HKSCS. -$(objpfx)tst-iconv-big5-hkscs-to-2ucs4.out: $(objpfx)gconv-modules \ +$(objpfx)tst-iconv-big5-hkscs-to-2ucs4.out: \ + $(addprefix $(modpfx), $(gconv-modules)) \ $(addprefix $(objpfx),$(modules.so)) diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules.conf similarity index 100% rename from iconvdata/gconv-modules rename to iconvdata/gconv-modules.conf diff --git a/localedata/Makefile b/localedata/Makefile index 14e04cd3c5..364d7c758d 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -183,7 +183,7 @@ install-others := $(addprefix $(inst_i18ndir)/, \ $(locales)) endif -tests: $(objdir)/iconvdata/gconv-modules +tests: $(objdir)/iconvdata/gconv-modules.d/gconv-modules.conf tests-static += tst-langinfo-newlocale-static tst-langinfo-setlocale-static @@ -464,5 +464,5 @@ $(objpfx)mtrace-tst-leaks.out: $(objpfx)tst-leaks.out bug-setlocale1-ENV-only = LOCPATH=$(objpfx) LC_CTYPE=de_DE.UTF-8 bug-setlocale1-static-ENV-only = $(bug-setlocale1-ENV-only) -$(objdir)/iconvdata/gconv-modules: +$(objdir)/iconvdata/gconv-modules.d/gconv-modules.conf: $(MAKE) -C ../iconvdata subdir=iconvdata $@ diff --git a/sysdeps/s390/Makefile b/sysdeps/s390/Makefile index a8c49c928f..ade8663218 100644 --- a/sysdeps/s390/Makefile +++ b/sysdeps/s390/Makefile @@ -21,13 +21,25 @@ lib := iconvdata include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left)) extra-objs += $(addsuffix .so, $(s390x-iconv-modules)) -install-others += $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules)) +install-others += $(patsubst %, $(inst_gconvdir)/%.so, \ + $(s390x-iconv-modules)) \ + $(inst_gconvdir)/gconv-modules.d/gconv-modules-s390.conf $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules)) : \ $(inst_gconvdir)/%.so: $(objpfx)%.so $(+force) $(do-install-program) -sysdeps-gconv-modules = ../sysdeps/s390/gconv-modules +ifdef objpfx +generated += gconv-modules.d/gconv-modules-s390.conf +endif + +$(inst_gconvdir)/gconv-modules.d/gconv-modules-s390.conf: \ + $(modpfx)gconv-modules-s390.conf $(+force) + $(do-install) + +$(modpfx)gconv-modules-s390.conf: ../sysdeps/s390/gconv-modules-s390.conf \ + $(modpfx) + cp $< $@ endif ifeq ($(subdir),elf) diff --git a/sysdeps/s390/gconv-modules b/sysdeps/s390/gconv-modules-s390.conf similarity index 100% rename from sysdeps/s390/gconv-modules rename to sysdeps/s390/gconv-modules-s390.conf