HEADS UP multi processor compilations for everyone

Niclas Zeising niclas.zeising at gmail.com
Tue Mar 24 07:50:36 PDT 2009


Great work!

Pav Lucistnik wrote:
> Two days ago, I have checked in probably most requested feature of last
> few years. Ports framework now systematically supports building ports on
> multiple processing cores. It is achieved by passing -jX flag to make(1)
> running on vendor code. Of course not all ports handle this well,
> experimental run on pointyhat with this flag globally enabled turned up
> shy of 400 failures. Because of that, the feature was designed as a
> whitelist. Individual ports need to be enabled, and indeed, fellow
> developers took on and already started adding required declarations to
> popular ports like Firefox and others.
> 
> If you are FreeBSD ports user:
> 
> You don't need to do anything to enable the new feature. Whitelisted
> ports will automatically make use of all processors available in your
> computer. If you want, for some reasons, to disable this feature, put
> DISABLE_MAKE_JOBS=yes to your /etc/make.conf. By default, the level of
> parallelization will be equal to a number of processing cores in your
> machine. If you want to override this number, use for example
> MAKE_JOBS_NUMBER=6, again in /etc/make.conf. And if you are extra brave,
> or you want to check out all the yet unmarked ports, if they will build,
> you can define FORCE_MAKE_JOBS=yes in /etc/make.conf.

Not to nitpick or be an annoyance, but you might want to document this 
in ports(7) or make.conf(5) (or both) so it doesn't get lost in the 
mail-lists or if people are not reading ports@

> 
> If you are FreeBSD port maintainer:
> 
> Nothing changes for you, if you don't want. If you want to enable the
> use of multiple cores in your port, add MAKE_JOBS_SAFE=yes to a block
> somewhere below dependency declarations. If you know your port does not
> handle -jX well, and want to disable it from using -jX even when user
> forces this feature, use MAKE_JOBS_UNSAFE=yes. And that's all to it.
> 

Regards!
//Niclas



More information about the freebsd-ports mailing list