From c70e9913d2fc2d0bf6a3ca98a4dece759d40a4ec Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Wed, 25 May 2016 17:18:04 +0200 Subject: S390: Get rid of make warning: overriding recipe for target gconv-modules. This patch introduces a way to provide an architecture dependent gconv-modules file. Before this patch, the gconv-modules file was normally installed from src-dir/iconvdata/gconv-modules. The S390 Makefile had overridden the installation recipe (with a make warning) in order to install the gconv-module-s390 file from build-dir. The iconvdata/Makefile provides another recipe, which copies the gconv-modules file from src to build dir, which are used by the testcases. Thus the testcases does not use the currently build s390-modules. This patch uses build-dir/iconvdata/gconv-modules for installation, which is generated by concatenating src-dir/iconvdata/gconv-modules and the architecture specific one. The latter one can be specified by setting the variable sysdeps-gconv-modules in sysdeps/.../Makefile. The architecture specific gconv-modules file is emitted before the common one because these modules aren't used in all possible conversions. E.g. the converting from INTERNAL to UTF-16 used the common UTF-16.so module instead of UTF16_UTF32_Z9.so. This way, the s390-Makefile does not need to override the recipe for gconv-modules and no warning is emitted anymore. Since we no longer support empty objpfx the conditional test in iconvdata/Makefile is removed. ChangeLog: * iconvdata/Makefile ($(inst_gconvdir)/gconv-modules): Install file from $(objpfx)gconv-modules. ($(objpfx)gconv-modules): Concatenate architecture specific file in variable sysdeps-gconv-modules and gconv-modules in src dir. * sysdeps/s390/gconv-modules: New file. * sysdeps/s390/s390-64/Makefile: ($(inst_gconvdir)/gconv-modules): Deleted. ($(objpfx)gconv-modules-s390): Deleted. (sysdeps-gconv-modules): New variable. --- iconvdata/Makefile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'iconvdata') diff --git a/iconvdata/Makefile b/iconvdata/Makefile index 357530b558..f9826b33f3 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -244,7 +244,7 @@ headers: $(addprefix $(objpfx), $(generated-modules:=.h)) $(addprefix $(inst_gconvdir)/, $(modules.so)): \ $(inst_gconvdir)/%: $(objpfx)% $(+force) $(do-install-program) -$(inst_gconvdir)/gconv-modules: gconv-modules $(+force) +$(inst_gconvdir)/gconv-modules: $(objpfx)gconv-modules $(+force) $(do-install) ifeq (no,$(cross-compiling)) # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary @@ -331,7 +331,5 @@ do-tests-clean common-mostlyclean: tst-tables-clean tst-tables-clean: -rm -f $(objpfx)tst-*.table $(objpfx)tst-EUC-TW.irreversible -ifdef objpfx $(objpfx)gconv-modules: gconv-modules - cp $^ $@ -endif + cat $(sysdeps-gconv-modules) $^ > $@ -- cgit 1.4.1