qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Cc: marcandre.lureau@redhat.com
Subject: Re: [PATCH v2 24/24] configure: automatically parse command line for meson -D options
Date: Wed, 13 Oct 2021 13:27:39 +0200	[thread overview]
Message-ID: <c4807a16-7d32-bf92-a73e-d57b7cf13e9d@redhat.com> (raw)
In-Reply-To: <16181a8b-4676-24c9-796d-56207731d4c2@redhat.com>

On 13/10/2021 13.11, Paolo Bonzini wrote:
> On 13/10/21 09:43, Paolo Bonzini wrote:
>> On 12/10/21 20:15, Thomas Huth wrote:
>>>
>>> Old output with --help:
>>>
>>>   --enable-trace-backend=B Set trace backend
>>>                             Available backends: nop, dtrace, ftrace, 
>>> simple, stderr, ust
>>>
>>> New output:
>>>
>>>    --enable-trace-backends=CHOICE
>>>                             Set available tracing backends [log]
>>>
>>> Why does it fail to list the choices here? ... it works for the other
>>> options like "--enable-malloc"?
>>
>> Oh, that's a pity: array options don't include the choices in their 
>> introspection data.  I'll fix it up ad hoc and submit a patch to Meson.
> 
> ---------------- 8< ----------------
> From: Paolo Bonzini <pbonzini@redhat.com>
> Subject: [PATCH] meson-buildoptions: restore list of tracing backends
> 
> Manually patch the introspection data to include the tracing backends.
> 
> This works around a deficiency in Meson that will be fixed by
> https://github.com/mesonbuild/meson/pull/9395.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   scripts/meson-buildoptions.py | 18 +++++++++++++++++-
>   scripts/meson-buildoptions.sh |  3 ++-
>   2 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/meson-buildoptions.py b/scripts/meson-buildoptions.py
> index 54b591d8a4..256523c09d 100755
> --- a/scripts/meson-buildoptions.py
> +++ b/scripts/meson-buildoptions.py
> @@ -66,7 +66,7 @@ def sh_print(line=""):
> 
> 
>   def help_line(left, opt, indent, long):
> -    right = f"{opt['description']}"
> +    right = f'{opt["description"]}'
>       if long:
>           value = value_to_help(opt["value"])
>           if value != "auto":
> @@ -150,7 +150,23 @@ def print_parse(options):
>       print("}")
> 
> 
> +def fixup_options(options):
> +    # Meson <= 0.60 does not include the choices in array options, fix that up
> +    for opt in options:
> +        if opt["name"] == "trace_backends":
> +            opt["choices"] = [
> +                "dtrace",
> +                "ftrace",
> +                "log",
> +                "nop",
> +                "simple",
> +                "syslog",
> +                "ust",
> +            ]

Do we need a check for a fixed meson version here?

  Thomas



  reply	other threads:[~2021-10-13 11:29 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-12 11:12 [PATCH v2 00/24] configure->meson queue for 6.2 Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 01/24] configure: remove --oss-lib Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 02/24] audio: remove CONFIG_AUDIO_WIN_INT Paolo Bonzini
2021-10-12 12:02   ` Thomas Huth
2021-10-12 11:12 ` [PATCH v2 03/24] configure, meson: move audio driver detection to Meson Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 04/24] meson: define symbols for all available audio drivers Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 05/24] configure: add command line options for " Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 06/24] kconfig: split CONFIG_SPARSE_MEM from fuzzing Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 07/24] configure, meson: move fuzzing configuration to Meson Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 08/24] trace: simple: pass trace_file unmodified to config-host.h Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 09/24] trace: move configuration from configure to Meson Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 10/24] configure, meson: move CONFIG_HOST_DSOSUF " Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 11/24] configure, meson: get HOST_WORDS_BIGENDIAN via the machine object Paolo Bonzini
2021-10-12 12:12   ` Thomas Huth
2021-10-12 11:12 ` [PATCH v2 12/24] configure, meson: remove CONFIG_GCOV from config-host.mak Paolo Bonzini
2021-10-12 17:40   ` Thomas Huth
2021-10-12 11:12 ` [PATCH v2 13/24] configure, meson: move remaining HAVE_* compiler tests to Meson Paolo Bonzini
2021-10-12 13:17   ` Thomas Huth
2021-10-13  7:46     ` Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 14/24] configure, meson: move pthread_setname_np checks " Paolo Bonzini
2021-10-12 13:35   ` Thomas Huth
2021-10-13  8:14     ` Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 15/24] configure, meson: move libaio check to meson.build Paolo Bonzini
2021-10-12 14:21   ` Thomas Huth
2021-10-12 11:12 ` [PATCH v2 16/24] configure, meson: move vde detection to meson Paolo Bonzini
2021-10-12 14:37   ` Thomas Huth
2021-10-12 11:12 ` [PATCH v2 17/24] configure, meson: move netmap " Paolo Bonzini
2021-10-12 14:55   ` Thomas Huth
2021-10-12 11:12 ` [PATCH v2 18/24] configure, meson: move Spice configure handling " Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 19/24] configure: remove obsolete Solaris ar check Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 20/24] configure, meson: move more compiler checks to Meson Paolo Bonzini
2021-10-12 11:12 ` [PATCH v2 21/24] configure: remove deprecated --{enable, disable}-git-update Paolo Bonzini
2021-10-12 15:05   ` Thomas Huth
2021-10-12 11:13 ` [PATCH v2 22/24] configure: accept "internal" for --enable-capstone/slirp/fdt Paolo Bonzini
2021-10-12 11:13 ` [PATCH v2 23/24] configure: prepare for auto-generated option parsing Paolo Bonzini
2021-10-12 11:13 ` [PATCH v2 24/24] configure: automatically parse command line for meson -D options Paolo Bonzini
2021-10-12 18:15   ` Thomas Huth
2021-10-13  7:43     ` Paolo Bonzini
2021-10-13 11:11       ` Paolo Bonzini
2021-10-13 11:27         ` Thomas Huth [this message]
2021-10-13 17:00           ` Paolo Bonzini
2021-10-14  6:13             ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c4807a16-7d32-bf92-a73e-d57b7cf13e9d@redhat.com \
    --to=thuth@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).