Re: [gentoo-dev] [RFC] Create a JOBS variable to replace -jX in MAKEOPTS

2008-12-04 Thread Alec Warner
On Thu, Dec 4, 2008 at 12:29 PM, Diego 'Flameeyes' Pettenò
<[EMAIL PROTECTED]> wrote:
>
> Since not all the buildsystem we support use make for the actual build,
> and they don't necessarily support make-like options (-jX -s and so on),
> it would be nice to be able to express a JOBS variable that could be
> used for parallel build with any build systems.
>
> Right now there are ebuilds like openoffice or some scons-based ebuilds
> that parse MAKEOPTS and get out of that the number of jobs from the -j
> option, but this is a) suboptimal b) error-prone.
>
> One has to consider people might be using -l for parallel building too,
> for which reasons I'd be suggesting doing something like this to make
> the change transparent:
>
>  - ebuilds using non-make build systems would use JOBS;
>  - ebuilds using make builds systems would just use emake as usual;
>  - Portage takes care, if JOBS is unset, to parse it out of MAKEOPTS;
>  - if user has set JOBS but not MAKEOPTS this defaults to -j${JOBS};
>  - if user has JOBS and MAKEOPTS, MAKEOPTS keeps the same (for -l).
>
> The result is that you can finally combine -l with parallel build on
> OpenOffice and other packages, with a fallback number of maximum jobs
> instead of using load-based decisions.

Looks Good To Me, but I would prefix the JOBS variable with some sort
of namespace (EJOBS, GENTOO_JOBS, etc.) to avoid conflicts with other
systems that may use JOBS internally already (seems vaguely likely).

-Alec

>
> --
> Diego "Flameeyes" Pettenò
> http://blog.flameeyes.eu/
>
>


Re: [gentoo-dev] [RFC] Create a JOBS variable to replace -jX in MAKEOPTS

2008-12-04 Thread Luca Barbato

On 4-12-2008 21:29, Diego 'Flameeyes' Pettenò wrote:

One has to consider people might be using -l for parallel building too,


I'd have it in a separate variable as well, IFF another build system is 
as nice as make towards parallel build.


lu



[gentoo-dev] [RFC] Create a JOBS variable to replace -jX in MAKEOPTS

2008-12-04 Thread Diego 'Flameeyes' Pettenò

Since not all the buildsystem we support use make for the actual build,
and they don't necessarily support make-like options (-jX -s and so on),
it would be nice to be able to express a JOBS variable that could be
used for parallel build with any build systems.

Right now there are ebuilds like openoffice or some scons-based ebuilds
that parse MAKEOPTS and get out of that the number of jobs from the -j
option, but this is a) suboptimal b) error-prone.

One has to consider people might be using -l for parallel building too,
for which reasons I'd be suggesting doing something like this to make
the change transparent:

 - ebuilds using non-make build systems would use JOBS;
 - ebuilds using make builds systems would just use emake as usual;
 - Portage takes care, if JOBS is unset, to parse it out of MAKEOPTS;
 - if user has set JOBS but not MAKEOPTS this defaults to -j${JOBS};
 - if user has JOBS and MAKEOPTS, MAKEOPTS keeps the same (for -l).

The result is that you can finally combine -l with parallel build on
OpenOffice and other packages, with a fallback number of maximum jobs
instead of using load-based decisions.

-- 
Diego "Flameeyes" Pettenò
http://blog.flameeyes.eu/



pgpcOEYmHztqL.pgp
Description: PGP signature