From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Lirzin Subject: Re: [PATCH] build: Speed up .go compilation. Date: Sun, 10 Jan 2016 22:18:06 +0100 Message-ID: <87d1t9rv5d.fsf@gnu.org> References: <87lha3rx04.fsf@T420.taylan> <87mvsgxpef.fsf@T420.taylan> <87ziwgf1b4.fsf@gnu.org> <87egdqy24m.fsf@T420.taylan> <87bn8u76tl.fsf@gnu.org> <87pox9wjsz.fsf@T420.taylan> <87pox9s5uh.fsf@gnu.org> <87d1t9w419.fsf@T420.taylan> 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]:56923) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aINNQ-0000Gx-Vv for guix-devel@gnu.org; Sun, 10 Jan 2016 16:18:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aINNP-0004BG-Qa for guix-devel@gnu.org; Sun, 10 Jan 2016 16:18:16 -0500 In-Reply-To: <87d1t9w419.fsf@T420.taylan> ("Taylan Ulrich \=\?utf-8\?Q\?\=5C\=22Bay\=C4\=B1rl\=C4\=B1\=2FKammer\=5C\=22\=22's\?\= message of "Sun, 10 Jan 2016 21:52:34 +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: Taylan Ulrich =?utf-8?Q?=22Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer=22?= Cc: guix-devel@gnu.org taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") writes: > Mathieu Lirzin writes: > >> taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") write= s: >> >>> -AM_V_GUILEC =3D $(AM_V_GUILEC_$(V)) >>> -AM_V_GUILEC_ =3D $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY)) >>> -AM_V_GUILEC_0 =3D @echo " GUILEC" $@; >>> - >>> -# Flags passed to 'guild compile'. >>> -GUILD_COMPILE_FLAGS =3D \ >>> - -Wformat -Wunbound-variable -Warity-mismatch >>> - >> >> It would make sense to me to keep compile options in Makefile.am and >> pass them as a command line argument to compile-all.scm. Maybe renaming >> it GUILECFLAGS or GUILEC_FLAGS or GUILE_COMPILE_FLAGS would be better (I >> think Automake won't like GUILE_CFLAGS). > > Hmm, the flags are a list of symbols in the Scheme code. This has no > obvious representation in the Makefile. I guess the closest is a > whitespace separated list of strings that would be turned into a list of > symbols. Do you think it's worth this added complexity, or is there a > better way? I overlooked that what I proposed would require (ice-9 getopt-long). Please ignore this suggestion, I think it would only make sense to implement this later if we want a generic version of compile-all.scm. >>> # Unset 'GUILE_LOAD_COMPILED_PATH' altogether while compiling. Otherw= ise, if >>> # $GUILE_LOAD_COMPILED_PATH contains $(moduledir), we may find .go fil= es in >>> # there that are newer than the local .scm files (for instance because= the >>> @@ -358,14 +346,16 @@ GUILD_COMPILE_FLAGS =3D \ >>> # >>> # XXX: Use the C locale for when Guile lacks >>> # . >> ^^^ >> >>> -.scm.go: >>> - $(AM_V_GUILEC)$(MKDIR_P) `dirname "$@"` ; \ >>> +%.go: make-go ; @: >>> +make-go: $(MODULES) guix/config.scm guix/tests.scm >>> + @echo "Compiling Scheme modules..." ; \ >>> unset GUILE_LOAD_COMPILED_PATH ; \ >>> LC_ALL=3DC \ >> ^^^ >> >> This is present because (scripts compile) from "old" Guile doesn't do it >> automatically. What about copying the code from the link above in >> compile-all.scm and removing this from Makefile.am ? > > I should be using the whole (catch ...) expression, right? Done, thanks > for the heads up. Yes I suppose. Maybe Ludo can confirm? -- Mathieu Lirzin