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.
But maybe I am missing something? I am not sure if your comment just a remark, or do you oppose the change?
- Flow
OpenPGP_0x8CAC2A9678548E35.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature