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] meson.eclass: stop calling ninja
Date: Tue, 24 Aug 2021 05:36:10
Message-Id: 20210824053531.26520-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 Signed-off-by: William Hubbs <williamh@g.o>
5 ---
6 eclass/meson.eclass | 24 +++++++++++++++++++++---
7 1 file changed, 21 insertions(+), 3 deletions(-)
8
9 diff --git a/eclass/meson.eclass b/eclass/meson.eclass
10 index 2a563e367c6..e9c9b155096 100644
11 --- a/eclass/meson.eclass
12 +++ b/eclass/meson.eclass
13 @@ -379,7 +379,21 @@ meson_src_configure() {
14 meson_src_compile() {
15 debug-print-function ${FUNCNAME} "$@"
16
17 - eninja -C "${BUILD_DIR}" "$@"
18 + local mesoncompileargs=(
19 + -C "${BUILD_DIR}"
20 + )
21 + if [[ -n ${NINJAOPTS} ]]; then
22 + mesoncompileargs+=(
23 + --jobs "$(makeopts_jobs ${NINJAOPTS})"
24 + --load-average "$(makeopts_loadavg ${NINJAOPTS})"
25 + )
26 + elif [[ -n ${MAKEOPTS} ]]; then
27 + mesoncompileargs+=(
28 + --jobs "$(makeopts_jobs ${MAKEOPTS})"
29 + --load-average "$(makeopts_loadavg ${MAKEOPTS})"
30 + )
31 +
32 + meson compile "${mesoncompileargs[@]}" "$@" || die "compile failed"
33 }
34
35 # @FUNCTION: meson_src_test
36 @@ -406,13 +420,17 @@ meson_src_test() {
37 }
38
39 # @FUNCTION: meson_src_install
40 -# @USAGE: [extra ninja install arguments]
41 +# @USAGE: [extra meson install arguments]
42 # @DESCRIPTION:
43 # This is the meson_src_install function.
44 meson_src_install() {
45 debug-print-function ${FUNCNAME} "$@"
46
47 - DESTDIR="${D}" eninja -C "${BUILD_DIR}" install "$@"
48 + local mesoninstallargs=(
49 + -C "${BUILD_DIR}" "$@"
50 + --destdir "${D}"
51 + )
52 + meson install "${mesoninstallargs[@]}" "$@"
53
54 pushd "${S}" > /dev/null || die
55 einstalldocs
56 --
57 2.31.1

Replies