diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-05-12 16:42:50 +0300 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-05-12 16:42:50 +0300 |
commit | 752d6256e5204b958b0ef7905675a940b5e9172f (patch) | |
tree | 330d16e6362a49cbed8875a777fe641a43376cd3 /eclass/ninja-utils.eclass | |
parent | 0c100b7dd2b30e75b799d806df4ef899fd98e1ea (diff) |
gentoo resync : 12.05.2022
Diffstat (limited to 'eclass/ninja-utils.eclass')
-rw-r--r-- | eclass/ninja-utils.eclass | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass index 9f6d2af6bdb2..0dffd2eb86ff 100644 --- a/eclass/ninja-utils.eclass +++ b/eclass/ninja-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: ninja-utils.eclass @@ -26,6 +26,21 @@ esac if [[ -z ${_NINJA_UTILS_ECLASS} ]]; then _NINJA_UTILS_ECLASS=1 +# @ECLASS_VARIABLE: NINJA +# @PRE_INHERIT +# @DESCRIPTION: +# Specify a compatible ninja implementation to be used by eninja(). +# At this point only "ninja" and "samu" are explicitly supported, +# but other values can be set where NINJA_DEPEND will then be set +# to a blank variable. +# The default is set to "ninja". +: ${NINJA:=ninja} + +# @ECLASS_VARIABLE: NINJA_DEPEND +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Contains a set of build-time depenendencies based on the NINJA setting. + # @ECLASS_VARIABLE: NINJAOPTS # @DEFAULT_UNSET # @DESCRIPTION: @@ -35,6 +50,18 @@ _NINJA_UTILS_ECLASS=1 inherit multiprocessing +case "${NINJA}" in + ninja) + NINJA_DEPEND=">=dev-util/ninja-1.8.2" + ;; + samu) + NINJA_DEPEND="dev-util/samurai" + ;; + *) + NINJA_DEPEND="" + ;; +esac + # @FUNCTION: eninja # @USAGE: [<args>...] # @DESCRIPTION: @@ -46,9 +73,10 @@ eninja() { [[ ${EAPI} != 5 ]] && nonfatal_args+=( -n ) if [[ -z ${NINJAOPTS+set} ]]; then - NINJAOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0)" + NINJAOPTS="-j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0)" fi - set -- ninja -v ${NINJAOPTS} "$@" + [[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}" + set -- "${NINJA}" -v ${NINJAOPTS} "$@" echo "$@" >&2 "$@" || die "${nonfatal_args[@]}" "${*} failed" } |