diff options
author | Michał Górny <mgorny@gentoo.org> | 2016-02-28 19:42:18 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2016-05-26 10:09:57 +0200 |
commit | 58f3cda1c95561de75be3bd441e7536ee3ce431a (patch) | |
tree | 39786ac4c924d09074efe74499cb1167ab635a07 /eclass/cmake-utils.eclass | |
parent | cmake-utils.eclass: _ninjaopts_from_makeopts, fix handling of -k (diff) | |
download | gentoo-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.
Diffstat (limited to 'eclass/cmake-utils.eclass')
-rw-r--r-- | eclass/cmake-utils.eclass | 15 |
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 ) |