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 ) ;;
+     esac

No 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

Attachment: OpenPGP_0x8CAC2A9678548E35.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to