On 6/20/24 12:07 PM, Jack wrote:
> Again, I don't know if it matters in this case, but my understanding is
> that MAKEOPTS only affects jobs using make.  I don't know if there are
> equivalent controls for ninja or other build systems. Might that be
> relevant here?  If you run top, limit to running jobs and show the full
> command, does that give any hints?


It's an incomplete understanding.

ninja has the equivalent: NINJAOPTS. Other build systems can define
their own eclass variables too.

If a build system that doesn't use Make has no override, the ebuild will
extract the -j value *alone* from MAKEOPTS and use it. Potentially
load-average as well, if the other build system supports load averages.
Other make-compatible flags in MAKEOPTS will get ignored.

e.g


inherit multiprocessing

src_compile() {
    my_build_system -j$(makeopts_jobs)
}


So, setting MAKEOPTS is usually sufficient to affect parallel
compilation in all ebuilds.

-- 
Eli Schwartz

Attachment: OpenPGP_0x84818A6819AF4A9B.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to