• [gentoo-dev] [PATCH v3] meson.eclass: stop calling ninja

    From William Hubbs@21:1/5 to All on Tue Aug 24 19:20:01 2021
    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 <williamh@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 +