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 v2] meson.eclass: stop calling ninja
Date: Tue, 24 Aug 2021 14:58:52
Message-Id: 20210824145813.1780-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 | 22 +++++++++++++++++++---
7 1 file changed, 19 insertions(+), 3 deletions(-)
8
9 diff --git a/eclass/meson.eclass b/eclass/meson.eclass
10 index 2a563e367c6..0bc74012fb1 100644
11 --- a/eclass/meson.eclass
12 +++ b/eclass/meson.eclass
13 @@ -379,7 +379,19 @@ 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 + # use NINJAOPTS before MAKEOPTS for consistency with meson_src_test
22 + local options="${NINJAOPTS:-${MAKEOPTS}}"
23 + if [[ -n ${options} ]]; then
24 + mesoncompileargs+=(
25 + --jobs "$(makeopts_jobs ${options})"
26 + --load-average "$(makeopts_loadavg ${options})"
27 + )
28 + fi
29 +
30 + meson compile "${mesoncompileargs[@]}" "$@" || die "compile failed"
31 }
32
33 # @FUNCTION: meson_src_test
34 @@ -406,13 +418,17 @@ meson_src_test() {
35 }
36
37 # @FUNCTION: meson_src_install
38 -# @USAGE: [extra ninja install arguments]
39 +# @USAGE: [extra meson install arguments]
40 # @DESCRIPTION:
41 # This is the meson_src_install function.
42 meson_src_install() {
43 debug-print-function ${FUNCNAME} "$@"
44
45 - DESTDIR="${D}" eninja -C "${BUILD_DIR}" install "$@"
46 + local mesoninstallargs=(
47 + -C "${BUILD_DIR}" "$@"
48 + --destdir "${D}"
49 + )
50 + meson install "${mesoninstallargs[@]}" "$@"
51
52 pushd "${S}" > /dev/null || die
53 einstalldocs
54 --
55 2.31.1