I can specify -j in the MAKEOPTS, but another very useful flag is -l, which tells make not to start a new process if the load is over a certain amount. This is a fantastic option for things like distcc where the load patterns are more complex. -l doesn't seem to be applied, though. When I run make -l2.8 manually it works as expected, but not through emerge. Reproducible: Always Steps to Reproduce: 1. add -l<load> to a MAKEOPTS line that already includes a -j 2. emerge something 3. try it again but this time halt the merge after configuration and run "make -j<whatever> -l<load>" in the work directory Actual Results: Going through emerge make will spawn the full number of processes specified by -j. Going manually make will stop spawning new processes when load is higher than <load>. Expected Results: They should do the same thing if -l was passed.
MAKEOPTS is only used in ebuilds that call the "emake" command. Were you perhaps testing this in an ebuild that didn't use that?
I tried this in four or five ebuilds and found the weird behavior. I just checked two of them, php and sablotron, and saw make, not emake, in each package. This must have been the problem. I'm fairly certain that the -j option was still being applied, though. There were still -j number of processes in some of these packages, they just weren't being throttled. *shrug*
(this bug can probably be closed...)
(In reply to comment #3) > (this bug can probably be closed...) looks good to me ;)