On Thu, Dec 10, 2020 at 11:09:21AM +0100, Mark Wielaard wrote:
> On Thu, 2020-12-10 at 02:34 +0300, Dmitry V. Levin wrote:
> > Apparently, commit 2f02e81510946a4c8e9157ad0b72d92894b9acd7 that
> > removed
> > $(EXEEXT) suffix from shared libraries was incomplete: it missed the
> > fact that some libraries were included into noinst_PROGRAMS,
> > resulting
> > to the following automake warnings:
> >
> > libasm/Makefile.am:66: warning: deprecated feature: target
> > 'libasm.so' overrides 'libasm.so$(EXEEXT)'
> > libdw/Makefile.am:114: warning: deprecated feature: target 'libdw.so'
> > overrides 'libdw.so$(EXEEXT)'
> > libelf/Makefile.am:116: warning: deprecated feature: target
> > 'libelf.so' overrides 'libelf.so$(EXEEXT)'
> >
> > Fix this by renaming noinst_PROGRAMS to noinst_DATA and removing no
> > longer needed lib{asm,dw,elf}_so_SOURCES variables.
>
> Very nice. I have one small issue, with automake 1.13.4 when removing
> the lib{asm,dw,elf}_so_SOURCES variables no clean rule is generated
> anymore for these files. So make clean leaves the .so behind. This is
> easily fixed by adding them to CLEANFILES.
Sorry, haven't tested this with distcheck, thank you for noticing.
> Does the attached variant work for you?
Yes, with a few very minor ChangeLog and commit message corrections, see below.
> Thanks,
>
> Mark
> From 3ca5ef319500129ed574596f178c4a4667b9ed3b Mon Sep 17 00:00:00 2001
> From: "Dmitry V. Levin" <[email protected]>
> Date: Thu, 10 Dec 2020 02:34:55 +0300
> Subject: [PATCH] Fix automake warnings
>
> Apparently, commit 2f02e81510946a4c8e9157ad0b72d92894b9acd7 that removed
> $(EXEEXT) suffix from shared libraries was incomplete: it missed the
> fact that some libraries were included into noinst_PROGRAMS, resulting
> to the following automake warnings:
>
> libasm/Makefile.am:66: warning: deprecated feature: target 'libasm.so'
> overrides 'libasm.so$(EXEEXT)'
> libdw/Makefile.am:114: warning: deprecated feature: target 'libdw.so'
> overrides 'libdw.so$(EXEEXT)'
> libelf/Makefile.am:116: warning: deprecated feature: target 'libelf.so'
> overrides 'libelf.so$(EXEEXT)'
>
> Fix this by renaming noinst_PROGRAMS to noinst_DATA and removing no
> longer needed lib{asm,dw,elf}_so_SOURCES variables and add lib{asm,dw,elf).so
> to CLEANFILES.
"add lib{asm,dw,elf).so.1", lib{asm,dw,elf).so are already there.
>
> Fixes: 2f02e8151094 ("Drop $(EXEEXT) suffix from shared libraries")
> Signed-off-by: Dmitry V. Levin <[email protected]>
> Signed-off-by: Mark Wielaard <[email protected]>
> ---
> libasm/ChangeLog | 6 ++++++
> libasm/Makefile.am | 5 ++---
> libdw/ChangeLog | 6 ++++++
> libdw/Makefile.am | 5 ++---
> libelf/ChangeLog | 6 ++++++
> libelf/Makefile.am | 5 ++---
> 6 files changed, 24 insertions(+), 9 deletions(-)
>
> diff --git a/libasm/ChangeLog b/libasm/ChangeLog
> index 29c23bad..5e95b99e 100644
> --- a/libasm/ChangeLog
> +++ b/libasm/ChangeLog
> @@ -1,3 +1,9 @@
> +2020-12-09 Dmitry V. Levin <[email protected]>
> +
> + * Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA.
> + (libasm_so_SOURCES): Remove.
> + (CLEANFILES): Add libelf.so.
Add libasm.so.$(VERSION).
> +
> 2020-11-30 Dmitry V. Levin <[email protected]>
>
> * Makefile.am (libasm.so$(EXEEXT)): Drop $(EXEEXT) suffix.
> diff --git a/libasm/Makefile.am b/libasm/Makefile.am
> index 4b55d530..7eba81f9 100644
> --- a/libasm/Makefile.am
> +++ b/libasm/Makefile.am
> @@ -35,7 +35,7 @@ VERSION = 1
>
> lib_LIBRARIES = libasm.a
> noinst_LIBRARIES = libasm_pic.a
> -noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
> +noinst_DATA = $(noinst_LIBRARIES:_pic.a=.so)
> pkginclude_HEADERS = libasm.h
>
> libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \
> @@ -62,7 +62,6 @@ libasm_so_LDLIBS += -lpthread
> endif
>
> libasm_so_LIBS = libasm_pic.a
> -libasm_so_SOURCES =
> libasm.so: $(srcdir)/libasm.map $(libasm_so_LIBS) $(libasm_so_DEPS)
> $(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
> -Wl,--soname,$@.$(VERSION) \
> @@ -87,4 +86,4 @@ uninstall: uninstall-am
> noinst_HEADERS = libasmP.h symbolhash.h
> EXTRA_DIST = libasm.map
>
> -CLEANFILES += $(am_libasm_pic_a_OBJECTS) libasm.so.$(VERSION)
> +CLEANFILES += $(am_libasm_pic_a_OBJECTS) libasm.so libasm.so.$(VERSION)
> diff --git a/libdw/ChangeLog b/libdw/ChangeLog
> index fbe2abc0..2d552544 100644
> --- a/libdw/ChangeLog
> +++ b/libdw/ChangeLog
> @@ -1,3 +1,9 @@
> +2020-12-09 Dmitry V. Levin <[email protected]>
> +
> + * Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA.
> + (libdw_so_SOURCES): Remove.
> + (MOSTLYCLEANFILES): Add libdw.so.
Add libdw.so.$(VERSION).
> +
> 2020-11-30 Dmitry V. Levin <[email protected]>
>
> * Makefile.am (libdw.so$(EXEEXT)): Drop $(EXEEXT) suffix.
> diff --git a/libdw/Makefile.am b/libdw/Makefile.am
> index f21ee6ae..6b7834af 100644
> --- a/libdw/Makefile.am
> +++ b/libdw/Makefile.am
> @@ -36,7 +36,7 @@ VERSION = 1
>
> lib_LIBRARIES = libdw.a
> noinst_LIBRARIES = libdw_pic.a
> -noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
> +noinst_DATA = $(noinst_LIBRARIES:_pic.a=.so)
>
> include_HEADERS = dwarf.h
> pkginclude_HEADERS = libdw.h known-dwarf.h
> @@ -110,7 +110,6 @@ libdw_so_LIBS = ../libebl/libebl_pic.a
> ../backends/libebl_backends_pic.a \
> ../libdwfl/libdwfl_pic.a
> libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so
> libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LIBS)
> $(obstack_LIBS) $(zip_LIBS) -pthread
> -libdw_so_SOURCES =
> libdw.so: $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS)
> $(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
> -Wl,--soname,$@.$(VERSION),--enable-new-dtags \
> @@ -152,4 +151,4 @@ noinst_HEADERS = libdwP.h memory-access.h
> dwarf_abbrev_hash.h \
>
> EXTRA_DIST = libdw.map
>
> -MOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) libdw.so.$(VERSION)
> +MOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) libdw.so libdw.so.$(VERSION)
> diff --git a/libelf/ChangeLog b/libelf/ChangeLog
> index 0a9e36a2..edb6a020 100644
> --- a/libelf/ChangeLog
> +++ b/libelf/ChangeLog
> @@ -1,3 +1,9 @@
> +2020-12-09 Dmitry V. Levin <[email protected]>
> +
> + * Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA.
> + (libelf_so_SOURCES): Remove.
> + (CLEANFILES): Add libasm.so.
Add libelf.so.$(VERSION).
> +
> 2020-11-30 Dmitry V. Levin <[email protected]>
>
> * Makefile.am (libelf.so$(EXEEXT)): Drop $(EXEEXT) suffix.
> diff --git a/libelf/Makefile.am b/libelf/Makefile.am
> index f8f2afeb..a5f9eaa4 100644
> --- a/libelf/Makefile.am
> +++ b/libelf/Makefile.am
> @@ -36,7 +36,7 @@ VERSION = 1
>
> lib_LIBRARIES = libelf.a
> noinst_LIBRARIES = libelf_pic.a
> -noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
> +noinst_DATA = $(noinst_LIBRARIES:_pic.a=.so)
> include_HEADERS = libelf.h gelf.h nlist.h
>
> noinst_HEADERS = abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
> @@ -112,7 +112,6 @@ libelf_so_LDLIBS += -lpthread
> endif
>
> libelf_so_LIBS = libelf_pic.a
> -libelf_so_SOURCES =
> libelf.so: $(srcdir)/libelf.map $(libelf_so_LIBS) $(libelf_so_DEPS)
> $(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
> -Wl,--soname,$@.$(VERSION) \
> @@ -135,4 +134,4 @@ uninstall: uninstall-am
>
> EXTRA_DIST = libelf.map
>
> -CLEANFILES += $(am_libelf_pic_a_OBJECTS) libelf.so.$(VERSION)
> +CLEANFILES += $(am_libelf_pic_a_OBJECTS) libelf.so libelf.so.$(VERSION)
> --
--
ldv