From patchwork Tue Feb 23 09:21:05 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Liebler X-Patchwork-Id: 10997 Received: (qmail 121520 invoked by alias); 23 Feb 2016 09:21:38 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 121493 invoked by uid 89); 23 Feb 2016 09:21:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=sk:generat, accelerated, S390, iconv X-HELO: e06smtp13.uk.ibm.com X-IBM-Helo: d06dlp02.portsmouth.uk.ibm.com X-IBM-MailFrom: stli@linux.vnet.ibm.com X-IBM-RcptTo: libc-alpha@sourceware.org From: Stefan Liebler To: libc-alpha@sourceware.org Cc: Stefan Liebler Subject: [PATCH 01/14] S390: Get rid of make warning: overriding recipe for target gconv-modules. Date: Tue, 23 Feb 2016 10:21:05 +0100 Message-Id: <1456219278-5258-2-git-send-email-stli@linux.vnet.ibm.com> In-Reply-To: <1456219278-5258-1-git-send-email-stli@linux.vnet.ibm.com> References: <1456219278-5258-1-git-send-email-stli@linux.vnet.ibm.com> X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16022309-0013-0000-0000-000008BB68C2 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. If makefile variable GCONV_MODULES is not defined, then gconv-modules file is copied form source to build directory. If an architecture wants to create his own gconv-modules file, then the variable GCONV_MODULE is set to the name of the architecture-dependent gconv-modules file in build-directory, which has to be created by a recipe in sysdeps/.../Makefile. Then the iconvdata/Makefile copies this file to build-dir/iconvdata/gconv-modules, which will be used for installation and test. This way, the s390-Makefile does not need to override the recipe for gconv-modules and no warning is emitted anymore. ChangeLog: * iconvdata/Makefile (GCONV_MODULES): New variable, which can be set by sysdeps Makefile. ($(inst_gconvdir)/gconv-modules): Install file from $(objpfx)gconv-modules. ($(objpfx)gconv-modules): Copy File from src-dir or from build-dir with file-name specified by GCONV_MODULES. * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules): Deleted. (GCONV_MODULES): New variable. --- iconvdata/Makefile | 15 +++++++++++++-- sysdeps/s390/s390-64/Makefile | 17 ++--------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/iconvdata/Makefile b/iconvdata/Makefile index 357530b..1ac1a5c 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 @@ -332,6 +332,17 @@ tst-tables-clean: -rm -f $(objpfx)tst-*.table $(objpfx)tst-EUC-TW.irreversible ifdef objpfx +# Override GCONV_MODULES file name and provide a Makefile recipe, +# if you want to create your own version. +ifndef GCONV_MODULES +# Copy gconv-modules from src-tree for tests and installation. $(objpfx)gconv-modules: gconv-modules - cp $^ $@ + cp $< $@ +else +generated += $(GCONV_MODULES) + +# Copy overrided GCONV_MODULES file to gconv-modules for tests and installation. +$(objpfx)gconv-modules: $(objpfx)$(GCONV_MODULES) + cp $< $@ +endif endif diff --git a/sysdeps/s390/s390-64/Makefile b/sysdeps/s390/s390-64/Makefile index ce4f0c5..de249a7 100644 --- a/sysdeps/s390/s390-64/Makefile +++ b/sysdeps/s390/s390-64/Makefile @@ -39,7 +39,7 @@ $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules)) : \ $(inst_gconvdir)/%.so: $(objpfx)%.so $(+force) $(do-install-program) -$(objpfx)gconv-modules-s390: gconv-modules $(+force) +$(objpfx)gconv-modules-s390: gconv-modules cp $< $@ echo >> $@ echo "# S/390 hardware accelerated modules" >> $@ @@ -74,19 +74,6 @@ $(objpfx)gconv-modules-s390: gconv-modules $(+force) echo -n "module ISO-10646/UTF8/ UTF-16BE// " >> $@ echo " UTF8_UTF16_Z9 1" >> $@ -$(inst_gconvdir)/gconv-modules: $(objpfx)gconv-modules-s390 $(+force) - $(do-install) -ifeq (no,$(cross-compiling)) -# Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary -# if this libc has more gconv modules than the previously installed one. - if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \ - LC_ALL=C \ - $(rtld-prefix) \ - $(common-objpfx)iconv/iconvconfig \ - $(addprefix --prefix=,$(install_root)); \ - fi -else - @echo '*@*@*@ You should recreate $(inst_gconvdir)/gconv-modules.cache' -endif +GCONV_MODULES = gconv-modules-s390 endif