On Thu, Jul 20, 2023 at 11:06 AM Florian Schmaus <f...@gentoo.org> wrote:
>
> 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

Oh neat, thanks for the info!

Reply via email to