Gentoo Archives: gentoo-dev

From: William Hubbs <williamh@g.o>
To: gentoo-dev@l.g.o
Cc: William Hubbs <williamh@g.o>
Subject: [gentoo-dev] [PATCH v3] meson.eclass: stop calling ninja
Date: Tue, 24 Aug 2021 17:10:11
Message-Id: 20210824170941.5043-1-williamh@gentoo.org
1 Use the compile and install subcommands of meson instead of calling
2 ninja. This allows for the possibility of a different back end.
3
4 Stop using the NINJAOPTS variable.
5
6 Signed-off-by: William Hubbs <williamh@g.o>
7 ---
8 eclass/meson.eclass | 20 +++++++++++++++-----
9 1 file changed, 15 insertions(+), 5 deletions(-)
10
11 diff --git a/eclass/meson.eclass b/eclass/meson.eclass
12 index 2a563e367c6..89f9e6bac87 100644
13 --- a/eclass/meson.eclass
14 +++ b/eclass/meson.eclass
15 @@ -379,7 +379,13 @@ meson_src_configure() {
16 meson_src_compile() {
17 debug-print-function ${FUNCNAME} "$@"
18
19 - eninja -C "${BUILD_DIR}" "$@"
20 + local mesoncompileargs=(
21 + -C "${BUILD_DIR}"
22 + --jobs "$(makeopts_jobs "${MAKEOPTS}")"
23 + --load-average "$(makeopts_loadavg "${MAKEOPTS}" 0)"
24 + )
25 +
26 + meson compile "${mesoncompileargs[@]}" "$@" || die "compile failed"
27 }
28
29 # @FUNCTION: meson_src_test
30 @@ -392,9 +398,9 @@ meson_src_test() {
31 local mesontestargs=(
32 -C "${BUILD_DIR}"
33 )
34 - [[ -n ${NINJAOPTS} || -n ${MAKEOPTS} ]] &&
35 + [[ -n ${MAKEOPTS} ]] &&
36 mesontestargs+=(
37 - --num-processes "$(makeopts_jobs ${NINJAOPTS:-${MAKEOPTS}})"
38 + --num-processes "$(makeopts_jobs)"
39 )
40
41 # Append additional arguments from ebuild
42 @@ -406,13 +412,17 @@ meson_src_test() {
43 }
44
45 # @FUNCTION: meson_src_install
46 -# @USAGE: [extra ninja install arguments]
47 +# @USAGE: [extra meson install arguments]
48 # @DESCRIPTION:
49 # This is the meson_src_install function.
50 meson_src_install() {
51 debug-print-function ${FUNCNAME} "$@"
52
53 - DESTDIR="${D}" eninja -C "${BUILD_DIR}" install "$@"
54 + local mesoninstallargs=(
55 + -C "${BUILD_DIR}"
56 + --destdir "${D}"
57 + )
58 + meson install "${mesoninstallargs[@]}" "$@"
59
60 pushd "${S}" > /dev/null || die
61 einstalldocs
62 --
63 2.31.1