summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-02-28 19:42:18 +0100
committerMichał Górny <mgorny@gentoo.org>2016-05-26 10:09:57 +0200
commit58f3cda1c95561de75be3bd441e7536ee3ce431a (patch)
tree39786ac4c924d09074efe74499cb1167ab635a07
parentcmake-utils.eclass: _ninjaopts_from_makeopts, fix handling of -k (diff)
downloadgentoo-58f3cda1c95561de75be3bd441e7536ee3ce431a.tar.gz
gentoo-58f3cda1c95561de75be3bd441e7536ee3ce431a.tar.bz2
gentoo-58f3cda1c95561de75be3bd441e7536ee3ce431a.zip
cmake-utils.eclass: _ninjaopts_from_makeopts, fix plain '-j' and '-l'
Fix the _ninjaopts_from_makeopts to handle no-parameter '-j' and '-l' options correctly and convert them to appropriate parametrized ninja options.
-rw-r--r--eclass/cmake-utils.eclass15
1 files changed, 13 insertions, 2 deletions
diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
index d035e0459f23..02b06bb3df89 100644
--- a/eclass/cmake-utils.eclass
+++ b/eclass/cmake-utils.eclass
@@ -660,8 +660,19 @@ _ninjaopts_from_makeopts() {
while (( $# )); do
case $1 in
-j|-l)
- ninjaopts+=( $1 $2 )
- shift 2
+ if [[ $# -eq 1 || $2 == -* ]]; then
+ if [[ $1 == -j ]]; then
+ # absurdly high job limit
+ ninjaopts+=( $1 9999 )
+ else # -l
+ # remove load limit (like make does for -l)
+ ninjaopts+=( $1 0 )
+ fi
+ shift 1
+ else
+ ninjaopts+=( $1 $2 )
+ shift 2
+ fi
;;
-j*|-l*)
ninjaopts+=( $1 )