public inbox for debugedit@sourceware.org
 help / color / mirror / Atom feed
* [COMMITTED] automake: Add std-options to check --version and --help work as intended.
@ 2021-05-05 19:32 Mark Wielaard
  2021-05-05 20:05 ` Mark Wielaard
  0 siblings, 1 reply; 2+ messages in thread
From: Mark Wielaard @ 2021-05-05 19:32 UTC (permalink / raw)
  To: debugedit; +Cc: Mark Wielaard

Now that we rely on --version and --help to generate documentation make
sure that make distcheck checks those standard options work correctly.
Also adjust find-debuginfo.sh[.1] rules slightly to make sure they the
scripts are also checked (bin_SCRIPTS are, but dist_bin_SCRIPTS aren't).

	* configure.ac (AM_INIT_AUTOMAKE): Add std-options.
	* Makefile.am (dist_bin_SCRIPTS): Change into...
	(bin_SCRIPTS): ... this, using top_srcdir.
	(TOP_CONFIGURE_AC): New variable, with comment explaining when
	.1 man pages are (re)generated.
	(debugedit.1): Use TOP_CONFIGURE_AC as dependency.
	(sepdebugcrcfix.1): Likewise.
	(find-debuginfo.sh.1): Likewise and depend on top_srcdir script.

Signed-off-by: Mark Wielaard <mark@klomp.org>
---
 Makefile.am  | 12 ++++++++----
 configure.ac |  2 +-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index b26d238..5bf003b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,7 +25,7 @@ AM_CFLAGS = -Wall
 bin_PROGRAMS = debugedit sepdebugcrcfix
 
 # Install find-debuginfo.sh in $(bindir) and distribute it.
-dist_bin_SCRIPTS = scripts/find-debuginfo.sh
+bin_SCRIPTS = $(top_srcdir)/scripts/find-debuginfo.sh
 
 debugedit_SOURCES = tools/debugedit.c \
 		    tools/hashtab.c \
@@ -41,19 +41,23 @@ sepdebugcrcfix_LDADD = @LIBELF_LIBS@
 # Manual pages are generated for dist
 dist_man_MANS = debugedit.1 sepdebugcrcfix.1 find-debuginfo.sh.1
 
-debugedit.1: tools/debugedit.c $(top_srcdir)/configure.ac
+# Common dependency for man pages. Man pages are only regenerated when
+# their main source is newer, or configure.ac (version) is updated.
+TOP_CONFIGURE_AC = $(top_srcdir)/configure.ac
+
+debugedit.1: tools/debugedit.c $(TOP_CONFIGURE_AC)
 	$(MAKE) $(AM_MAKEFLAGS) debugedit$(EXEEXT)
 	$(HELP2MAN) -N --output=$@ \
 	  --name='debug source path manipulation tool' \
 	  ./debugedit$(EXEEXT)
 
-sepdebugcrcfix.1: tools/sepdebugcrcfix.c $(top_srcdir)/configure.ac
+sepdebugcrcfix.1: tools/sepdebugcrcfix.c $(TOP_CONFIGURE_AC)
 	$(MAKE) $(AM_MAKEFLAGS) sepdebugcrcfix$(EXEEXT)
 	$(HELP2MAN) -N --output=$@ \
 	  --name='fixes CRC for separate .debug files' \
 	  ./sepdebugcrcfix$(EXEEXT)
 
-find-debuginfo.sh.1: scripts/find-debuginfo.sh $(top_srcdir)/configure.ac
+find-debuginfo.sh.1: $(top_srcdir)/scripts/find-debuginfo.sh $(TOP_CONFIGURE_AC)
 	$(HELP2MAN) -N --output=$@ \
 	  --name='finds debuginfo and processes it' \
 	  $(top_srcdir)/scripts/find-debuginfo.sh
diff --git a/configure.ac b/configure.ac
index e7a7989..9e8b0ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ AC_CONFIG_HEADERS([config.h])
 
 # We are using foreign, not gnu, because we don't provide some
 # "standard" files like ChangeLog, AUTHORS, INSTALL, etc.
-AM_INIT_AUTOMAKE([foreign silent-rules subdir-objects
+AM_INIT_AUTOMAKE([foreign silent-rules subdir-objects std-options
                   no-dist-gzip dist-xz tar-pax
                   -Wall -Wno-portability])
 
-- 
2.18.4


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [COMMITTED] automake: Add std-options to check --version and --help work as intended.
  2021-05-05 19:32 [COMMITTED] automake: Add std-options to check --version and --help work as intended Mark Wielaard
@ 2021-05-05 20:05 ` Mark Wielaard
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2021-05-05 20:05 UTC (permalink / raw)
  To: debugedit

Hi,

On Wed, 2021-05-05 at 21:32 +0200, Mark Wielaard wrote:
> Now that we rely on --version and --help to generate documentation make
> sure that make distcheck checks those standard options work correctly.
> Also adjust find-debuginfo.sh[.1] rules slightly to make sure they the
> scripts are also checked (bin_SCRIPTS are, but dist_bin_SCRIPTS aren't).
> 
> 	* configure.ac (AM_INIT_AUTOMAKE): Add std-options.
> 	* Makefile.am (dist_bin_SCRIPTS): Change into...
> 	(bin_SCRIPTS): ... this, using top_srcdir.
> 	(TOP_CONFIGURE_AC): New variable, with comment explaining when
> 	.1 man pages are (re)generated.
> 	(debugedit.1): Use TOP_CONFIGURE_AC as dependency.
> 	(sepdebugcrcfix.1): Likewise.
> 	(find-debuginfo.sh.1): Likewise and depend on top_srcdir script.

Unfortunately this didn't work everywhere, newer automake don't add
scripts/find-debuginfo.sh to the dist. So I had to push a fixup:

commit e3ac91ca17e0196081bd350db3c8080cb531d3f2 (HEAD -> main)
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed May 5 22:00:08 2021 +0200

    Makefile.am: Add scripts/find-debuginfo.sh to EXTRA_DIST
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

diff --git a/Makefile.am b/Makefile.am
index 5bf003b..ef972e8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -67,4 +67,4 @@ noinst_HEADERS= tools/ansidecl.h \
                tools/md5.h \
                tools/sha1.h
 
-EXTRA_DIST = README COPYING COPYING3 COPYING.LIB
+EXTRA_DIST = README COPYING COPYING3 COPYING.LIB scripts/find-debuginfo.sh

This wasn't helped by some of the buildbot workers not yet having
help2man installed (most have now, just the s390x, and ppc64/ppc64le
setups don't have it yet).

Cheers,

Mark

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-05-05 20:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-05 19:32 [COMMITTED] automake: Add std-options to check --version and --help work as intended Mark Wielaard
2021-05-05 20:05 ` Mark Wielaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).