[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 06/13] build: Generate man pages after compiling guile object
From: |
Eric Bavier |
Subject: |
Re: [PATCH 06/13] build: Generate man pages after compiling guile objects. |
Date: |
Wed, 27 Jan 2016 20:37:42 -0600 |
On Tue, 26 Jan 2016 21:08:36 +0100
Mathieu Lirzin <address@hidden> wrote:
> address@hidden (Ludovic Courtès) writes:
>
> > Mathieu Lirzin <address@hidden> skribis:
> >
> >> * configure.ac (BUILD_FROM_GIT): New Automake conditional.
> >> * doc.am (SUBCOMMANDS): Delete variable.
> >> (dist_man1_MANS): List all subcommands man pages.
> >> (doc/guix.1): Build only if BUILD_FROM_GIT. Depend on 'scripts/guix'
> >> instead of all subcommands.
> >> [BUILD_DAEMON] (doc/guix-daemon): Likewise. Replace the
> >> 'nix/nix-daemon/guix-daemon.cc' prerequisite with 'guix-daemon'.
> >> [BUILD_FROM_GIT] (gen_man): New variable.
> >> [BUILD_FROM_GIT] (doc/guix-%.1): New target.
> >> (CLEANFILES) [BUILD_FROM_GIT]: Add $(dist_man1_MANS).
> >
> > I like the speedup, but not the ‘BUILD_FROM_GIT’ approach. :-)
> > It reminds me of maintainer-mode and all its warts (info "(automake)
> > maintainer-mode").
>
> The BUILD_FROM_GIT is inspired by what is done for GNU Hello. ;)
> However I don't have a strong opinion on this.
>
> > Namely, I think it’s best to have the help2man rule always triggered
> > whenever the corresponding .scm file is newer, rather than have it
> > triggered or not based on a guess of what the user wants/can do.
>
> OK.
>
> > Having said that, I’m not sure what to do. Commit 0af3f404 reverted the
> > original approach, which was to depend on .go files (and obviously
> > wouldn’t work as we want.)
> >
> > So we want to delay the build of man pages without making the dependency
> > on build products explicit. Hmm, not sure what can be done.
>
> I have tried to add $(GOBJECTS) to BUILT_SOURCES and let the man pages
> prerequisites like in 0af3f404. The problem was that the build didn't
> fully took advantage of possible parallelisms because everything had to
> wait for $(GOBJECTS) to complete before compiling anything else, and the
> modules are loaded using only one thread.
>
> Another approach is to embed ‘help2man’ (which is what Coreutils is
> doing), so we can let the man pages depend on .go files. This seems
> reasonable to me even if it means adding 20K of Perl in the repo. ;)
>
> WDYT?
Here's my rough first take at this. It uses the status 77 convention
to update a sentinel file and selectively run help2man.
I realize the silent rule output isn't yet polished.
`~Eric
0001-doc-Generate-manpages-after-.go-are-compiled.patch
Description: Text Data
- Re: [PATCH 02/13] lint: Remove an unneeded clause in 'check-patch-file-names'., (continued)
- [PATCH 01/13] tests: Use 'dummy-origin' for lint tests when possible., Mathieu Lirzin, 2016/01/24
- [PATCH 05/13] packages: Use '@' in package record printers., Mathieu Lirzin, 2016/01/24
- [PATCH 03/13] lint: Rewrite 'check-patch-file-names'., Mathieu Lirzin, 2016/01/24
- [PATCH 06/13] build: Generate man pages after compiling guile objects., Mathieu Lirzin, 2016/01/24
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Ludovic Courtès, 2016/01/26
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Mathieu Lirzin, 2016/01/26
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects.,
Eric Bavier <=
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Mathieu Lirzin, 2016/01/28
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Eric Bavier, 2016/01/28
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Mathieu Lirzin, 2016/01/28
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Eric Bavier, 2016/01/29
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Mathieu Lirzin, 2016/01/29
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Eric Bavier, 2016/01/29
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Mathieu Lirzin, 2016/01/29
- Re: [PATCH 06/13] build: Generate man pages after compiling guile objects., Ludovic Courtès, 2016/01/31
[PATCH 08/13] build: Add 'DOT' silent rule., Mathieu Lirzin, 2016/01/24