On 20/07/2023 17.00, Matt Turner wrote:
On Wed, Jul 19, 2023 at 3:23 AM Florian Schmaus <f...@gentoo.org> wrote:On 18/07/2023 18.44, Matt Turner wrote:From: Jonas Rakebrandt <xar...@protonmail.com> This works similar to cmake.eclass's ${CMAKE_VERBOSE}. Closes: https://github.com/gentoo/gentoo/pull/28942 Signed-off-by: Jonas Rakebrandt <xar...@protonmail.com> Signed-off-by: Matt Turner <matts...@gentoo.org> --- eclass/meson.eclass | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 2c274b213191..3b30f66bf30a 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -55,6 +55,12 @@ BDEPEND=">=dev-util/meson-0.62.2 # Build directory, location where all generated files should be placed. # If this isn't set, it defaults to ${WORKDIR}/${P}-build. +# @ECLASS_VARIABLE: MESON_VERBOSE +# @USER_VARIABLE +# @DESCRIPTION: +# Set to OFF to disable verbose messages during compilation +: "${MESON_VERBOSE:=ON}" + # @ECLASS_VARIABLE: EMESON_BUILDTYPE # @DESCRIPTION: # The buildtype value to pass to meson setup. @@ -385,10 +391,15 @@ meson_src_compile() { -C "${BUILD_DIR}" --jobs "$(makeopts_jobs "${MAKEOPTS}" 0)" --load-average "$(makeopts_loadavg "${MAKEOPTS}" 0)" - --verbose - "$@" ) + case ${MESON_VERBOSE} in + OFF) ;; + *) mesoncompileargs+=( --verbose ) ;; + esacNo strong opinion, just to educate myself, but is there an advantage of using case/easc over if/fi here? That is if [[ ${MESON_VERBOSE} != off ]]; then mesoncompileargs+=( --verbose ) fi or even the shell-style short idiom using ||.No advantage as far as I'm aware. I was just copying the style used in cmake.eclass. I really wish bash just had boolean types :(
While the bash language has no boolean datatype, you can exploit the fact that 'true' and 'false' are usually shell builtins:
: "${MESON_VERBOSE:=true}" and then later if $MESON_VERBOSE; then mesoncompileargs+=( --verbose ) fi - Flow
OpenPGP_0x8CAC2A9678548E35.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature