From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH 06/13] build: Generate man pages after compiling guile objects. Date: Tue, 26 Jan 2016 17:52:38 +0100 Message-ID: <87d1somgfd.fsf@gnu.org> References: <1453666771-16869-1-git-send-email-mthl@gnu.org> <1453666771-16869-7-git-send-email-mthl@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46322) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aO6rE-0005Ho-UL for guix-devel@gnu.org; Tue, 26 Jan 2016 11:52:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aO6rB-0006fe-31 for guix-devel@gnu.org; Tue, 26 Jan 2016 11:52:44 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39428) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aO6rA-0006fa-W6 for guix-devel@gnu.org; Tue, 26 Jan 2016 11:52:41 -0500 In-Reply-To: <1453666771-16869-7-git-send-email-mthl@gnu.org> (Mathieu Lirzin's message of "Sun, 24 Jan 2016 21:19:24 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Mathieu Lirzin Cc: guix-devel@gnu.org Mathieu Lirzin skribis: > This improves compilation speed since scripts are not compiled twice. > When building with =E2=80=98make -j4=E2=80=98 from a clean repository on = an Intel > i5-2540M, the time of compilation gets from: > > real 5m7.220s > user 18m49.788s > sys 0m12.964s > > down to: > > real 2m20.820s > user 7m25.992s > sys 0m7.464s > > * 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 =E2=80=98BUILD_FROM_GIT=E2=80=99 approach. = :-) It reminds me of maintainer-mode and all its warts (info "(automake) maintainer-mode"). Namely, I think it=E2=80=99s 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. Having said that, I=E2=80=99m not sure what to do. Commit 0af3f404 reverte= d the original approach, which was to depend on .go files (and obviously wouldn=E2=80=99t 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. Thoughts? Ludo=E2=80=99.