all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eric Bavier <ericbavier@centurylink.net>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 27284@debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: bug#27284: [PATCH 1/8] build: Factorize module compilation in (guix build compile).
Date: Sun, 22 Oct 2017 16:42:16 -0500	[thread overview]
Message-ID: <20171022164216.5fdf9f55@centurylink.net> (raw)
In-Reply-To: <87a80iws1q.fsf@gnu.org>

On Sun, 22 Oct 2017 18:50:57 -0700
ludo@gnu.org (Ludovic Courtès) wrote:

> Hi Maxim,
> 
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
> 
> > Ludovic Courtès <ludo@gnu.org> writes:
> >  
> >> * guix/build/compile.scm: New file.
> >> * Makefile.am (MODULES): Add it.
> >> * build-aux/compile-all.scm: Use it.
> >> (warnings, file->module, load-module-file)
> >> (%default-optimizations, %lightweight-optimizations)
> >> (optimization-options, compile-file*): Remove.
> >> <top level>: Use 'compile-files'.
> >> * guix/build/pull.scm (%default-optimizations)
> >> (%lightweight-optimizations, optimization-options): Remove.
> >> (build-guix): Rewrite as a call to 'compile-files'.
> >> * guix/discovery.scm (file-name->module-name): Export.
> >> ---
> >>  Makefile.am               |   1 +
> >>  build-aux/compile-all.scm |  92 ++++----------------------
> >>  guix/build/compile.scm    | 165 ++++++++++++++++++++++++++++++++++++++++++++++
> >>  guix/build/pull.scm       | 105 ++++++++---------------------
> >>  guix/discovery.scm        |   4 +-
> >>  5 files changed, 209 insertions(+), 158 deletions(-)
> >>  create mode 100644 guix/build/compile.scm  
> >
> > [...]
> >
> > This and the other patches in this series look fine to me.  
> 
> Awesome, thanks for looking.
> 
[...]
> Speaking of the “make -j” patch, on IRC Eric Bavier suggested that it
> didn’t work as advertised because $MAKEFLAGS didn’t contain the “-j”
> flag; I just checked and it does contain it here (with GNU make 4.2.1).
> So no problem after all?

The behavior changed in version 4.2.  From the Changelog:

2016-04-04  Paul Smith  <psmith@gnu.org>

        Preserve the real value of -jN in MAKEFLAGS using jobserver.
        Previously if the jobserver was active, MAKEFLAGS would contain only
        the -j option but not the number (not -j5 or whatever) so users
        could not discover that value.  Allow that value to be provided in
        MAKEFLAGS without error but still give warnings if -jN is provided
        on the command line if the jobserver is already activated.

        * NEWS: Discuss the new behavior.
        * os.h, posixos.c, w32/w32os.c: Return success/failure from
        jobserver_setup() and jobserver_parse_auth().
        * main.c (main): Separate the command line storage of job slots (now
        in arg_job_slots) from the control storage (in job_slots).  Make a
        distinction between -jN flags read from MAKEFLAGS and those seen
        on the command line: for the latter if the jobserver is enabled then
        warn and disable it, as before.
        * tests/scripts/features/jobserver: Add new testing.


And from NEWS for the 4.2 release:

* The amount of parallelism can be determined by querying MAKEFLAGS, even when
  the job server is enabled (previously MAKEFLAGS would always contain only
  "-j", with no number, when job server was enabled).


It Would Be Nice if the functionality worked for older versions of make
that people might have on their systems.  Using the jobserver directly
would require quite a bit of work for the current patch set, but I
wonder if there is another way to determine the -jN parameter for
make<4.2 that we could use.  Maybe simply polling the jobserver fds at
the start?

`~Eric

  reply	other threads:[~2017-10-23  2:43 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-08  8:39 bug#27284: Memory leak in 'guix pull' or 'make' in guix source ng0
2017-06-08 15:02 ` ng0
2017-09-19 20:48 ` Ludovic Courtès
2017-09-20  2:40   ` Maxim Cournoyer
2017-09-20 11:42     ` Ludovic Courtès
2017-09-20 18:29       ` Maxim Cournoyer
2017-09-20 20:12         ` Ludovic Courtès
2017-09-21 14:43           ` Maxim Cournoyer
2017-09-23 18:14       ` Taylan Ulrich Bayırlı/Kammer
2017-09-24 19:44         ` Ludovic Courtès
2017-09-25 21:00           ` Maxim Cournoyer
2017-10-20 16:05   ` bug#27284: [PATCH 0/8] 'guix pull' creates several derivations Ludovic Courtès
2017-10-20 16:05     ` bug#27284: [PATCH 1/8] build: Factorize module compilation in (guix build compile) Ludovic Courtès
2017-10-22 21:22       ` Maxim Cournoyer
2017-10-23  1:50         ` Ludovic Courtès
2017-10-22 21:42           ` Eric Bavier [this message]
2017-10-23  2:51             ` Ludovic Courtès
2017-10-22 22:52               ` Eric Bavier
2017-10-23  5:10                 ` Ludovic Courtès
2017-10-20 16:05     ` bug#27284: [PATCH 2/8] build: Honor make's '-j' flag Ludovic Courtès
2017-10-20 16:05     ` bug#27284: [PATCH 3/8] discovery: Move 'file-name->module-name' to (guix modules) Ludovic Courtès
2017-10-20 16:05     ` bug#27284: [PATCH 4/8] gexp: Add 'file-union' Ludovic Courtès
2017-10-20 16:05     ` bug#27284: [PATCH 5/8] gexp: Add 'directory-union' Ludovic Courtès
2017-10-20 16:05     ` bug#27284: [PATCH 6/8] union: Parametrize the symlink procedure Ludovic Courtès
2017-10-20 16:05     ` bug#27284: [PATCH 7/8] gexp: 'directory-union' has a #:quiet? parameter Ludovic Courtès
2017-10-20 16:05     ` bug#27284: [PATCH 8/8] DRAFT Add (guix self) and use it when pulling Ludovic Courtès
2017-10-22 20:05       ` Maxim Cournoyer
2017-10-27 23:49         ` Ludovic Courtès
2017-11-21 22:26     ` bug#27284: [PATCH 0/8] 'guix pull' creates several derivations Ludovic Courtès
2017-11-21 22:56       ` Ludovic Courtès
2017-12-11 10:52         ` bug#27284: [PATCH 0/4] 'guix pull' reloads modules, second try Ludovic Courtès
2017-12-11 10:52           ` bug#27284: [PATCH 1/4] gnu: Fix ambiguous 'zip' reference Ludovic Courtès
2017-12-11 10:52           ` bug#27284: [PATCH 2/4] gexp: 'computed-file' has a new #:guile parameter Ludovic Courtès
2017-12-11 10:52           ` bug#27284: [PATCH 3/4] Add (guix self) and use it when pulling Ludovic Courtès
2017-12-18 14:57             ` Ludovic Courtès
2018-03-27  9:14               ` bug#27284: ‘guix pull’ builds using multiple derivations Ludovic Courtès
2018-03-27 14:33                 ` Ludovic Courtès
2018-03-27 19:25                 ` Nils Gillmann
2018-03-27 20:51                   ` Ludovic Courtès
2018-04-08 16:37                 ` Ludovic Courtès
2018-04-09 19:53                   ` Ricardo Wurmus
2018-04-10 21:53                     ` bug#27284: ‘guix pull’ broken on Guile 2.0 Ludovic Courtès
2018-04-10 23:18                       ` bug#31117: " Ludovic Courtès
2018-04-14 17:39                         ` Ricardo Wurmus
2017-12-11 10:52           ` bug#27284: [PATCH 4/4] pull: Reload modules before doing anything else Ludovic Courtès
2017-11-12 21:33   ` bug#27284: Memory leak in 'guix pull' or 'make' in guix source Ludovic Courtès
2017-11-13  8:59     ` Ricardo Wurmus
2017-11-13  9:28       ` Ludovic Courtès
2017-11-13 14:09         ` Ricardo Wurmus
2017-11-13 17:48           ` Ricardo Wurmus
2017-11-14  7:54           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171022164216.5fdf9f55@centurylink.net \
    --to=ericbavier@centurylink.net \
    --cc=27284@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    --cc=maxim.cournoyer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.