HEADS UP multi processor compilations for everyone

Pav Lucistnik pav at FreeBSD.org
Tue Mar 24 06:34:01 PDT 2009

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.

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.

Pav Lucistnik <pav at oook.cz>
              <pav at FreeBSD.org>

What do we know about love? Love is like a pear.  Pear is sweet and have
a specific shape. Try to exactly define the shape of a pear.
  -- Marigold: 50 Years Of Poetry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: Toto je =?UTF-8?Q?digit=C3=A1ln=C4=9B?=
	=?ISO-8859-1?Q?_podepsan=E1?= =?UTF-8?Q?_=C4=8D=C3=A1st?=
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20090324/668e2008/attachment.pgp

More information about the freebsd-ports mailing list