Speed up build phase with "make -j"

Anders F Björklund afb at macports.org
Wed Oct 31 09:44:23 PDT 2007


Markus Weissmann wrote:

> So the discussion has narrowed to:
> 1.) disabled by default on an "per-installation" option:
> Can be toggled system-wide (with default "off"); ports have to 
> actively deny a parallel build attempt;
>
> 2.) disabled by default on a per-port option
> Can be toggled system-wide (with default ?); ports have to actively 
> declare to be build-able in parallel;
>
> The point is: The primary goal when building software is working 
> installations, everything else is of less priority. For getting the 
> build time reduced, you get defunct software, which is a bad 
> trade-off.
> Therefore even the power-user with an 8-core Xeon will rather wait a 
> bit longer than get defunct software. So enabling parallel builds will 
> suck, as stuff starts to break.
> I'd rather give them a real benefit that IF they enable parallel 
> builds, they get working software _always_.
>
> Therefore I think 2.) is the option of choice so everyone gets happy. 
> The default in 2.) can be set manually or with some 
> auto-number-of-cores detection, I dont care specifically.

Feel free to implement whatever is needed for the portfile parsing of 
this new toggle, I only wanted to add something a little more 
accessible than tweaking the build.cmd directly. If having a global 
default for -j is considered too dangerous, then it could be pulled 
from macports.conf altogether and only be available as an option. Just 
got tired of getting the "how do I pass -j flags over to make" question 
over and over...

http://trac.macports.org/projects/macports/ticket/12280

--anders



More information about the macports-dev mailing list