Re: [gentoo-dev] [RFC] Create a JOBS variable to replace -jX in MAKEOPTS
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
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
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