summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-02-28 19:38:38 +0100
committerMichał Górny <mgorny@gentoo.org>2016-05-26 10:09:57 +0200
commit65719e677340987901e07009419dea5adf475c6d (patch)
tree797d78d4fbc8aa041e584d9f47bb44e9b17a07d7
parentapp-arch/alien-8.95-r0: add alpha keyword (diff)
downloadgentoo-65719e677340987901e07009419dea5adf475c6d.tar.gz
gentoo-65719e677340987901e07009419dea5adf475c6d.tar.bz2
gentoo-65719e677340987901e07009419dea5adf475c6d.zip
cmake-utils.eclass: _ninjaopts_from_makeopts, fix handling of -k
Fix _ninjaopts_from_makeopts to handle -k correctly. Make does not support parameters to -k, while ninja requires one. Therefore, handle only a single '-k' and convert it into '-k 0' (no limit of failing tasks).
-rw-r--r--eclass/cmake-utils.eclass9
1 files changed, 7 insertions, 2 deletions
diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
index 5958230e4685..d035e0459f23 100644
--- a/eclass/cmake-utils.eclass
+++ b/eclass/cmake-utils.eclass
@@ -659,14 +659,19 @@ _ninjaopts_from_makeopts() {
set -- ${MAKEOPTS}
while (( $# )); do
case $1 in
- -j|-l|-k)
+ -j|-l)
ninjaopts+=( $1 $2 )
shift 2
;;
- -j*|-l*|-k*)
+ -j*|-l*)
ninjaopts+=( $1 )
shift 1
;;
+ -k)
+ # -k 0 = any number of tasks can fail
+ ninjaopts+=( $1 0 )
+ shift 1
+ ;;
*) shift ;;
esac
done