Use the compile and install subcommands of meson instead of calling
ninja. This allows for the possibility of a different back end.

Stop using the NINJAOPTS variable.

Signed-off-by: William Hubbs <willi...@gentoo.org>
---
 eclass/meson.eclass | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 2a563e367c6..89f9e6bac87 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -379,7 +379,13 @@ meson_src_configure() {
 meson_src_compile() {
        debug-print-function ${FUNCNAME} "$@"
 
-       eninja -C "${BUILD_DIR}" "$@"
+       local mesoncompileargs=(
+               -C "${BUILD_DIR}"
+               --jobs "$(makeopts_jobs "${MAKEOPTS}")"
+               --load-average "$(makeopts_loadavg "${MAKEOPTS}" 0)"
+       )
+
+       meson compile "${mesoncompileargs[@]}" "$@" || die "compile failed"
 }
 
 # @FUNCTION: meson_src_test
@@ -392,9 +398,9 @@ meson_src_test() {
        local mesontestargs=(
                -C "${BUILD_DIR}"
        )
-       [[ -n ${NINJAOPTS} || -n ${MAKEOPTS} ]] &&
+       [[ -n ${MAKEOPTS} ]] &&
                mesontestargs+=(
-                       --num-processes "$(makeopts_jobs 
${NINJAOPTS:-${MAKEOPTS}})"
+                       --num-processes "$(makeopts_jobs)"
                )
 
        # Append additional arguments from ebuild
@@ -406,13 +412,17 @@ meson_src_test() {
 }
 
 # @FUNCTION: meson_src_install
-# @USAGE: [extra ninja install arguments]
+# @USAGE: [extra meson install arguments]
 # @DESCRIPTION:
 # This is the meson_src_install function.
 meson_src_install() {
        debug-print-function ${FUNCNAME} "$@"
 
-       DESTDIR="${D}" eninja -C "${BUILD_DIR}" install "$@"
+       local mesoninstallargs=(
+               -C "${BUILD_DIR}"
+               --destdir "${D}"
+       )
+       meson install "${mesoninstallargs[@]}" "$@"
 
        pushd "${S}" > /dev/null || die
        einstalldocs
-- 
2.31.1


Reply via email to