After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 654686 - parallel make by default
parallel make by default
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2011-07-15 15:49 UTC by Colin Walters
Modified: 2011-11-10 19:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Do parallel builds by default (9.12 KB, patch)
2011-07-30 14:48 UTC, Colin Walters
none Details | Review
Do parallel builds by default (9.24 KB, patch)
2011-09-29 20:50 UTC, Colin Walters
none Details | Review
Do parallel builds by default (9.35 KB, patch)
2011-10-11 15:25 UTC, Colin Walters
committed Details | Review

Description Colin Walters 2011-07-15 15:49:51 UTC
The current jhbuild approach of having "makeargs" be empty by default, but people can set it manually is an evil trap, because it works for *some* modules well (like glib), but will fail on others (like nss).

The win is large enough from parallel make on nontrivial modules that we really want to push modules to support it.

However, we need to support modules that for whatever historical reasons don't do it.  We have two options:

* Add another moduleset XML attribute supports-parallel-build, just like supports-non-srcdir-builds.
* Auto-detect this by looking for .NOTPARALLEL in the toplevel Makefile, as I suggest in http://people.gnome.org/~walters/docs/build-api.txt
Comment 1 Colin Walters 2011-07-30 14:48:57 UTC
Created attachment 192913 [details] [review]
Do parallel builds by default

Add a new "jobs" config option which specifies what to give to
"make -jX".

Also annotate nss as broken in this respect.
Comment 2 Olav Vitters 2011-08-22 11:46:29 UTC
cpu_count in multiprocessing supports multiple platforms. It could raise a NotImplementedError (so catch and assume 1 cpu). Requires Python 2.6+.
Comment 3 Colin Walters 2011-09-29 20:50:19 UTC
Created attachment 197818 [details] [review]
Do parallel builds by default

Use multiprocessing if available
Comment 4 Colin Walters 2011-10-11 15:25:52 UTC
Created attachment 198792 [details] [review]
Do parallel builds by default

Rebased to master
Comment 5 Colin Walters 2011-11-10 19:06:12 UTC
Attachment 198792 [details] pushed as d75e72a - Do parallel builds by default