summary refs log tree commit diff stats
path: root/scripts/oss-fuzz
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-10-07 15:08:29 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2021-10-14 09:51:06 +0200
commit3b4da13293482134b81d71be656ec76beff73a76 (patch)
treea799bf5d234cc2059f91287f527e7a52d1352f5c /scripts/oss-fuzz
parent8b5fb29842fdb586485dcfc4f24a9997c07cc9de (diff)
downloadfocaccia-qemu-3b4da13293482134b81d71be656ec76beff73a76.tar.gz
focaccia-qemu-3b4da13293482134b81d71be656ec76beff73a76.zip
configure: automatically parse command line for meson -D options
Right now meson_options.txt lists about 90 options.  Each option
needs code in configure to parse it and pass the option down to Meson as
a -D command-line argument; in addition the default must be duplicated
between configure and meson_options.txt.  This series tries to remove
the code duplication by generating the case statement for those --enable
and --disable options, as well as the corresponding help text.

About 80% of the options can be handled completely by the new mechanism.
Eight meson options are not of the --enable/--disable kind.  Six more need
to be parsed in configure for various reasons documented in the patch,
but they still have their help automatically generated.

The advantages are:

- less code in configure

- parsing and help is more consistent (for example --enable-blobs was
  not supported)

- options are described entirely in one place, meson_options.txt.
  This make it more attractive to use Meson options instead of
  hand-crafted configure options and config-host.mak

A few options change name: --enable-tcmalloc and --enable-jemalloc
become --enable-malloc={tcmalloc,jemalloc}; --disable-blobs becomes
--disable-install-blobs; --enable-trace-backend becomes
--enable-trace-backends.  However, the old names are allowed
for backwards compatibility.

Message-Id: <20211007130829.632254-19-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/oss-fuzz')
0 files changed, 0 insertions, 0 deletions