On Tue, 2023-07-25 at 08:26 +0200, Florian Schmaus wrote: > On 25/07/2023 06.50, Michał Górny wrote: > > On Mon, 2023-07-24 at 20:57 +0200, Florian Schmaus wrote: > > > Since --load-average may not be found in other Make implementations > > > besides GNU MAKE, it is potentially found in GNUMAKEFLAGS and not in > > > MAKEOPTS. > > > > > > Signed-off-by: Florian Schmaus <f...@gentoo.org> > > > --- > > > eclass/multiprocessing.eclass | 6 +++--- > > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > > > diff --git a/eclass/multiprocessing.eclass b/eclass/multiprocessing.eclass > > > index e55be636a02c..6489ecbb44a6 100644 > > > --- a/eclass/multiprocessing.eclass > > > +++ b/eclass/multiprocessing.eclass > > > @@ -1,4 +1,4 @@ > > > -# Copyright 1999-2022 Gentoo Authors > > > +# Copyright 1999-2023 Gentoo Authors > > > # Distributed under the terms of the GNU General Public License v2 > > > > > > # @ECLASS: multiprocessing.eclass > > > @@ -86,7 +86,7 @@ makeopts_jobs() { > > > # @FUNCTION: makeopts_loadavg > > > # @USAGE: [${MAKEOPTS}] [${inf:-999}] > > > # @DESCRIPTION: > > > -# Searches the arguments (defaults to ${MAKEOPTS}) and extracts the > > > value set > > > +# Searches the arguments (defaults to ${MAKEOPTS} ${GNUMAKEFLAGS}) and > > > extracts the value set > > > # for load-average. For make and ninja based builds this will mean new > > > jobs are > > > # not only limited by the jobs-value, but also by the current load - > > > which might > > > # get excessive due to I/O and not just due to CPU load. > > > @@ -95,7 +95,7 @@ makeopts_jobs() { > > > # If no limit is specified or --load-average is used without a number, > > > ${inf} > > > # (defaults to 999) is returned. > > > makeopts_loadavg() { > > > - [[ $# -eq 0 ]] && set -- "${MAKEOPTS}" > > > + [[ $# -eq 0 ]] && set -- "${MAKEOPTS} ${GNUMAKEFLAGS}" > > > # This assumes the first .* will be more greedy than the second > > > .* > > > # since POSIX doesn't specify a non-greedy match (i.e. ".*?"). > > > local lavg=$(echo " $* " | sed -r -n \ > > > > I'm pretty sure [GNU]MAKEFLAGS has incompatible format, in particular it > > makes hyphens optional. > > Yes, hyphens are optional in GNUMAKEFLAGS. > > However, makeopts_loadavg() would still be able to extract the > hyphen-prefixed short (-l) and long (--load-average) options from > GNUMAKEFLAGS. Hence having makeopts_loadavg() also inspect GNUMAKEFLAGS > seems like an improvement over the current situation. >
Also, shouldn't you handle MAKEFLAGS then as well? If we're to support arbitrary variables used by build systems. -- Best regards, Michał Górny