iconvdata: Move gconv-modules configuration to gconv-modules.conf

Move all gconv-modules configuration files to gconv-modules.conf.
That is, the S390 extensions now become gconv-modules-s390.conf.  Move
both configuration files into gconv-modules.d.

Now GCONV_PATH/gconv-modules is read only for backward compatibility
for third-party gconv modules directories.

Reviewed-by: DJ Delorie <dj@redhat.com>
This commit is contained in:
Siddhesh Poyarekar 2021-06-07 14:22:20 +05:30
parent b17d29b390
commit fc5bfade69
5 changed files with 44 additions and 22 deletions

View File

@ -137,10 +137,13 @@ charmaps = ../localedata/charmaps
extra-modules-left := $(modules) extra-modules-left := $(modules)
include extra-module.mk include extra-module.mk
gconv-modules = gconv-modules.conf
modpfx = $(objpfx)gconv-modules.d/
extra-objs += $(modules.so) extra-objs += $(modules.so)
install-others = $(addprefix $(inst_gconvdir)/, $(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. # 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 \ iconv-test.out iconv-rules tst-loading.mtrace \
mtrace-tst-loading.out tst-tables.out iconv-test.xxx mtrace-tst-loading.out tst-tables.out iconv-test.xxx
ifdef objpfx ifdef objpfx
generated += gconv-modules generated += $(addprefix gconv-modules.d/,$(gconv-modules))
endif endif
# Rules to generate the headers. # Rules to generate the headers.
@ -250,7 +253,8 @@ headers: $(addprefix $(objpfx), $(generated-modules:=.h))
$(addprefix $(inst_gconvdir)/, $(modules.so)): \ $(addprefix $(inst_gconvdir)/, $(modules.so)): \
$(inst_gconvdir)/%: $(objpfx)% $(+force) $(inst_gconvdir)/%: $(objpfx)% $(+force)
$(do-install-program) $(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) $(do-install)
ifeq (no,$(cross-compiling)) ifeq (no,$(cross-compiling))
# Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary # 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 > $@; \ $(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@; \
$(evaluate-test) $(evaluate-test)
$(objpfx)bug-iconv1.out: $(objpfx)gconv-modules \ $(objpfx)bug-iconv1.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)bug-iconv2.out: $(objpfx)gconv-modules \ $(objpfx)bug-iconv2.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)bug-iconv3.out: $(objpfx)gconv-modules \ $(objpfx)bug-iconv3.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)bug-iconv5.out: $(objpfx)gconv-modules \ $(objpfx)bug-iconv5.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)tst-loading.out: $(objpfx)gconv-modules \ $(objpfx)tst-loading.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)tst-iconv4.out: $(objpfx)gconv-modules \ $(objpfx)tst-iconv4.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)tst-iconv7.out: $(objpfx)gconv-modules \ $(objpfx)tst-iconv7.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)bug-iconv10.out: $(objpfx)gconv-modules \ $(objpfx)bug-iconv10.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)bug-iconv12.out: $(objpfx)gconv-modules \ $(objpfx)bug-iconv12.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(addprefix $(objpfx),$(modules.so))
$(objpfx)bug-iconv14.out: $(objpfx)gconv-modules \ $(objpfx)bug-iconv14.out: $(addprefix $(modpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) $(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)) \ $(addprefix $(objpfx),$(modules.so)) \
$(common-objdir)/iconv/iconv_prog TESTS $(common-objdir)/iconv/iconv_prog TESTS
iconv_modules="$(modules)" \ iconv_modules="$(modules)" \
@ -332,7 +337,8 @@ $(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \
'$(run-program-env)' > $@; \ '$(run-program-env)' > $@; \
$(evaluate-test) $(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)) \ $(addprefix $(objpfx),$(modules.so)) \
$(objpfx)tst-table-from $(objpfx)tst-table-to $(objpfx)tst-table-from $(objpfx)tst-table-to
$(SHELL) $< $(common-objpfx) $(common-objpfx)iconvdata/ \ $(SHELL) $< $(common-objpfx) $(common-objpfx)iconvdata/ \
@ -345,9 +351,13 @@ do-tests-clean common-mostlyclean: tst-tables-clean
tst-tables-clean: tst-tables-clean:
-rm -f $(objpfx)tst-*.table $(objpfx)tst-EUC-TW.irreversible -rm -f $(objpfx)tst-*.table $(objpfx)tst-EUC-TW.irreversible
$(objpfx)gconv-modules: gconv-modules $(modpfx):
cat $(sysdeps-gconv-modules) $^ > $@ mkdir -p $@
$(modpfx)%: % $(modpfx)
cp $< $@
# Test requires BIG5HKSCS. # 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)) $(addprefix $(objpfx),$(modules.so))

View File

@ -183,7 +183,7 @@ install-others := $(addprefix $(inst_i18ndir)/, \
$(locales)) $(locales))
endif 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 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-ENV-only = LOCPATH=$(objpfx) LC_CTYPE=de_DE.UTF-8
bug-setlocale1-static-ENV-only = $(bug-setlocale1-ENV-only) 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 $@ $(MAKE) -C ../iconvdata subdir=iconvdata $@

View File

@ -21,13 +21,25 @@ lib := iconvdata
include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left)) include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left))
extra-objs += $(addsuffix .so, $(s390x-iconv-modules)) 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)) : \ $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules)) : \
$(inst_gconvdir)/%.so: $(objpfx)%.so $(+force) $(inst_gconvdir)/%.so: $(objpfx)%.so $(+force)
$(do-install-program) $(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 endif
ifeq ($(subdir),elf) ifeq ($(subdir),elf)