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
OpenPGP_0x84818A6819AF4A9B.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature

