Simplify the parallel build setup
Categories
(Firefox Build System :: General, task)
Tracking
(firefox94 fixed)
| Tracking | Status | |
|---|---|---|
| firefox94 | --- | fixed |
People
(Reporter: glandium, Assigned: glandium)
References
Details
Attachments
(4 files)
| Assignee | ||
Comment 1•4 years ago
|
||
Both work, but the former is preferred. Also remove MOZ_MAKE_FLAGS
in the mozconfig example for msan, because it's irrelevant.
| Assignee | ||
Comment 2•4 years ago
|
||
It was failing on mk_add_options values containing a = character.
| Assignee | ||
Comment 3•4 years ago
|
||
It was moved in bug 1495798 for rusttests, because they didn't use
client.mk, but as of bug 1683797, they do. And it turns out that when
sccache is really started as originally intended, inheriting the make
jobserver, the build is dead-locked until sccache quits (because sccache
still has a jobserver token for some reason). But sccache never quits
when we make it stop outside client.mk.
| Assignee | ||
Comment 4•4 years ago
|
||
Historically, client.mk was not invoked with -jn because it would create
race conditions, but that was actually mostly solved by the addition of
.NOTPARALLEL in bug 422986, although the mechanism of adding -jn via
MOZ_MAKE_FLAGS or MOZ_PARALLEL_BUILD has continued well past that.
Nowadays, client.mk is only invoked by mach (it will even bail out if
that's not the case) and only has one target (build) and no
dependencies.
This means we don't need to rely on MOZ_PARALLEL_BUILD to pass -jn in
some cases, and can just always invoke make -f client.mk with -jn, even
when we just want no parallelism, in which case we can use -j1.
This, in turn, allows to remove the extra allow_parallel argument to
_run_make, and only rely on num_jobs, and to remove some of the
multiple ways the n in -jn could be set.
Comment 6•4 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/7db0160ac436
https://hg.mozilla.org/mozilla-central/rev/1f9e7de44c13
https://hg.mozilla.org/mozilla-central/rev/99220b928224
https://hg.mozilla.org/mozilla-central/rev/76e8856d4005
Description
•