Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH 2/4] cmake-utils.eclass: Use eninja from ninja-utils
Date: Sun, 30 Apr 2017 20:29:40
Message-Id: 20170430202830.12974-2-mgorny@gentoo.org
In Reply to: [gentoo-dev] [PATCH 1/4] ninja-utils.eclass: Add a new eclass to handle calling ninja by "Michał Górny"
1 ---
2 eclass/cmake-utils.eclass | 52 +++--------------------------------------------
3 1 file changed, 3 insertions(+), 49 deletions(-)
4
5 diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
6 index 07f719a62a8c..2b3c8d933d1a 100644
7 --- a/eclass/cmake-utils.eclass
8 +++ b/eclass/cmake-utils.eclass
9 @@ -116,7 +116,8 @@ case ${EAPI} in
10 *) die "EAPI=${EAPI:-0} is not supported" ;;
11 esac
12
13 -inherit toolchain-funcs multilib flag-o-matic eutils multiprocessing versionator
14 +inherit toolchain-funcs multilib ninja-utils flag-o-matic eutils \
15 + multiprocessing versionator
16
17 EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
18
19 @@ -680,44 +681,6 @@ enable_cmake-utils_src_compile() {
20 cmake-utils_src_make "$@"
21 }
22
23 -_ninjaopts_from_makeopts() {
24 - if [[ ${NINJAOPTS+set} == set ]]; then
25 - return 0
26 - fi
27 - local ninjaopts=()
28 - set -- ${MAKEOPTS}
29 - while (( $# )); do
30 - case $1 in
31 - -j|-l)
32 - if [[ $# -eq 1 || $2 == -* ]]; then
33 - if [[ $1 == -j ]]; then
34 - # absurdly high job limit
35 - ninjaopts+=( $1 9999 )
36 - else # -l
37 - # remove load limit (like make does for -l)
38 - ninjaopts+=( $1 0 )
39 - fi
40 - shift 1
41 - else
42 - ninjaopts+=( $1 $2 )
43 - shift 2
44 - fi
45 - ;;
46 - -j*|-l*)
47 - ninjaopts+=( $1 )
48 - shift 1
49 - ;;
50 - -k)
51 - # -k 0 = any number of tasks can fail
52 - ninjaopts+=( $1 0 )
53 - shift 1
54 - ;;
55 - *) shift ;;
56 - esac
57 - done
58 - export NINJAOPTS="${ninjaopts[*]}"
59 -}
60 -
61 # @FUNCTION: _cmake_ninja_src_make
62 # @INTERNAL
63 # @DESCRIPTION:
64 @@ -727,16 +690,7 @@ _cmake_ninja_src_make() {
65
66 [[ -e build.ninja ]] || die "build.ninja not found. Error during configure stage."
67
68 - _ninjaopts_from_makeopts
69 -
70 - if [[ "${CMAKE_VERBOSE}" != "OFF" ]]; then
71 - set -- ninja ${NINJAOPTS} -v "$@"
72 - else
73 - set -- ninja ${NINJAOPTS} "$@"
74 - fi
75 -
76 - echo "$@"
77 - "$@" || die
78 + eninja "$@"
79 }
80
81 # @FUNCTION: _cmake_emake_src_make
82 --
83 2.13.0.rc1