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

Attachment: OpenPGP_0x8CAC2A9678548E35.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to