[PATCH 01/14] S390: Get rid of make warning: overriding recipe for target gconv-modules.

Stefan Liebler stli@linux.vnet.ibm.com
Thu Apr 28 06:55:00 GMT 2016


Ping

On 04/21/2016 04:55 PM, Stefan Liebler wrote:
> Ping. Is the new handling of gconv-modules in iconvdata/Makefile okay to
> commit?
>
> On 04/14/2016 04:16 PM, Stefan Liebler wrote:
>> Ping. Is the new handling of gconv-modules in iconvdata/Makefile okay to
>> commit?
>>
>> On 02/23/2016 10:21 AM, Stefan Liebler wrote:
>>> 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
>>>
>>
>>
>
>



More information about the Libc-alpha mailing list