configure: switch string options to automatic parsing

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2022-04-20 17:33:51 +02:00
parent d2147e04f9
commit 4fda6011d0
3 changed files with 11 additions and 27 deletions

24
configure vendored
View File

@ -231,12 +231,10 @@ fi
# default parameters # default parameters
cpu="" cpu=""
iasl="iasl"
interp_prefix="/usr/gnemul/qemu-%M" interp_prefix="/usr/gnemul/qemu-%M"
static="no" static="no"
cross_compile="no" cross_compile="no"
cross_prefix="" cross_prefix=""
audio_drv_list="default"
block_drv_rw_whitelist="" block_drv_rw_whitelist=""
block_drv_ro_whitelist="" block_drv_ro_whitelist=""
host_cc="cc" host_cc="cc"
@ -312,7 +310,6 @@ linux_user=""
bsd_user="" bsd_user=""
pkgversion="" pkgversion=""
pie="" pie=""
trace_file="trace"
coroutine="" coroutine=""
tls_priority="NORMAL" tls_priority="NORMAL"
plugins="$default_feature" plugins="$default_feature"
@ -714,8 +711,6 @@ for opt do
;; ;;
--cxx=*) --cxx=*)
;; ;;
--iasl=*) iasl="$optarg"
;;
--objcc=*) objcc="$optarg" --objcc=*) objcc="$optarg"
;; ;;
--make=*) make="$optarg" --make=*) make="$optarg"
@ -724,8 +719,6 @@ for opt do
;; ;;
--python=*) python="$optarg" ; explicit_python=yes --python=*) python="$optarg" ; explicit_python=yes
;; ;;
--sphinx-build=*) sphinx_build="$optarg"
;;
--skip-meson) skip_meson=yes --skip-meson) skip_meson=yes
;; ;;
--meson=*) meson="$optarg" --meson=*) meson="$optarg"
@ -766,8 +759,6 @@ for opt do
error_exit "Can't mix --target-list-exclude with --target-list" error_exit "Can't mix --target-list-exclude with --target-list"
fi fi
;; ;;
--with-trace-file=*) trace_file="$optarg"
;;
--with-default-devices) default_devices="true" --with-default-devices) default_devices="true"
;; ;;
--without-default-devices) default_devices="false" --without-default-devices) default_devices="false"
@ -826,8 +817,6 @@ for opt do
# configure to be used by RPM and similar macros that set # configure to be used by RPM and similar macros that set
# lots of directory switches by default. # lots of directory switches by default.
;; ;;
--audio-drv-list=*) audio_drv_list="$optarg"
;;
--block-drv-rw-whitelist=*|--block-drv-whitelist=*) block_drv_rw_whitelist=$(echo "$optarg" | sed -e 's/,/ /g') --block-drv-rw-whitelist=*|--block-drv-whitelist=*) block_drv_rw_whitelist=$(echo "$optarg" | sed -e 's/,/ /g')
;; ;;
--block-drv-ro-whitelist=*) block_drv_ro_whitelist=$(echo "$optarg" | sed -e 's/,/ /g') --block-drv-ro-whitelist=*) block_drv_ro_whitelist=$(echo "$optarg" | sed -e 's/,/ /g')
@ -1001,12 +990,7 @@ for opt do
--enable-jemalloc) meson_option_parse --enable-malloc=jemalloc jemalloc --enable-jemalloc) meson_option_parse --enable-malloc=jemalloc jemalloc
;; ;;
# everything else has the same name in configure and meson # everything else has the same name in configure and meson
--enable-* | --disable-*) meson_option_parse "$opt" "$optarg" --*) meson_option_parse "$opt" "$optarg"
;;
*)
echo "ERROR: unknown option $opt"
echo "Try '$0 --help' for more information"
exit 1
;; ;;
esac esac
done done
@ -1129,7 +1113,6 @@ $(echo Available targets: $default_target_list | \
Advanced options (experts only): Advanced options (experts only):
--cross-prefix=PREFIX use PREFIX for compile tools, PREFIX can be blank [$cross_prefix] --cross-prefix=PREFIX use PREFIX for compile tools, PREFIX can be blank [$cross_prefix]
--cc=CC use C compiler CC [$cc] --cc=CC use C compiler CC [$cc]
--iasl=IASL use ACPI compiler IASL [$iasl]
--host-cc=CC use C compiler CC [$host_cc] for code run at --host-cc=CC use C compiler CC [$host_cc] for code run at
build time build time
--cxx=CXX use C++ compiler CXX [$cxx] --cxx=CXX use C++ compiler CXX [$cxx]
@ -1142,7 +1125,6 @@ Advanced options (experts only):
--cross-cc-cflags-ARCH= use compiler flags when building ARCH guest tests --cross-cc-cflags-ARCH= use compiler flags when building ARCH guest tests
--make=MAKE use specified make [$make] --make=MAKE use specified make [$make]
--python=PYTHON use specified python [$python] --python=PYTHON use specified python [$python]
--sphinx-build=SPHINX use specified sphinx-build [$sphinx_build]
--meson=MESON use specified meson [$meson] --meson=MESON use specified meson [$meson]
--ninja=NINJA use specified ninja [$ninja] --ninja=NINJA use specified ninja [$ninja]
--smbd=SMBD use specified smbd [$smbd] --smbd=SMBD use specified smbd [$smbd]
@ -2485,15 +2467,11 @@ if test "$skip_meson" = no; then
--sysconfdir "$sysconfdir" \ --sysconfdir "$sysconfdir" \
--localedir "$localedir" \ --localedir "$localedir" \
--localstatedir "$local_statedir" \ --localstatedir "$local_statedir" \
-Daudio_drv_list=$audio_drv_list \
-Ddefault_devices=$default_devices \ -Ddefault_devices=$default_devices \
-Ddocdir="$docdir" \ -Ddocdir="$docdir" \
-Diasl="$iasl" \
-Dqemu_firmwarepath="$firmwarepath" \ -Dqemu_firmwarepath="$firmwarepath" \
-Dqemu_suffix="$qemu_suffix" \ -Dqemu_suffix="$qemu_suffix" \
-Dsmbd="$smbd" \ -Dsmbd="$smbd" \
-Dsphinx_build="$sphinx_build" \
-Dtrace_file="$trace_file" \
-Doptimization=$(if test "$debug" = yes; then echo 0; else echo 2; fi) \ -Doptimization=$(if test "$debug" = yes; then echo 0; else echo 2; fi) \
-Ddebug=$(if test "$debug_info" = yes; then echo true; else echo false; fi) \ -Ddebug=$(if test "$debug_info" = yes; then echo true; else echo false; fi) \
-Dwerror=$(if test "$werror" = yes; then echo true; else echo false; fi) \ -Dwerror=$(if test "$werror" = yes; then echo true; else echo false; fi) \

View File

@ -26,21 +26,18 @@ import shlex
import sys import sys
SKIP_OPTIONS = { SKIP_OPTIONS = {
"audio_drv_list",
"default_devices", "default_devices",
"docdir", "docdir",
"fuzzing_engine", "fuzzing_engine",
"iasl",
"qemu_firmwarepath", "qemu_firmwarepath",
"qemu_suffix", "qemu_suffix",
"smbd", "smbd",
"sphinx_build",
"trace_file",
} }
OPTION_NAMES = { OPTION_NAMES = {
"malloc": "enable-malloc", "malloc": "enable-malloc",
"trace_backends": "enable-trace-backends", "trace_backends": "enable-trace-backends",
"trace_file": "with-trace-file",
} }
BUILTIN_OPTIONS = { BUILTIN_OPTIONS = {

View File

@ -1,5 +1,7 @@
# This file is generated by meson-buildoptions.py, do not edit! # This file is generated by meson-buildoptions.py, do not edit!
meson_options_help() { meson_options_help() {
printf "%s\n" ' --audio-drv-list=CHOICES Set audio driver list [default] (choices:'
printf "%s\n" ' alsa/coreaudio/default/dsound/jack/oss/pa/sdl)'
printf "%s\n" ' --disable-coroutine-pool coroutine freelist (better performance)' printf "%s\n" ' --disable-coroutine-pool coroutine freelist (better performance)'
printf "%s\n" ' --disable-install-blobs install provided firmware blobs' printf "%s\n" ' --disable-install-blobs install provided firmware blobs'
printf "%s\n" ' --enable-block-drv-whitelist-in-tools' printf "%s\n" ' --enable-block-drv-whitelist-in-tools'
@ -32,6 +34,9 @@ meson_options_help() {
printf "%s\n" ' --enable-trace-backends=CHOICES' printf "%s\n" ' --enable-trace-backends=CHOICES'
printf "%s\n" ' Set available tracing backends [log] (choices:' printf "%s\n" ' Set available tracing backends [log] (choices:'
printf "%s\n" ' dtrace/ftrace/log/nop/simple/syslog/ust)' printf "%s\n" ' dtrace/ftrace/log/nop/simple/syslog/ust)'
printf "%s\n" ' --iasl=VALUE Path to ACPI disassembler'
printf "%s\n" ' --sphinx-build=VALUE Use specified sphinx-build for building document'
printf "%s\n" ' --with-trace-file=VALUE Trace file prefix for simple backend [trace]'
printf "%s\n" '' printf "%s\n" ''
printf "%s\n" 'Optional features, enabled with --enable-FEATURE and' printf "%s\n" 'Optional features, enabled with --enable-FEATURE and'
printf "%s\n" 'disabled with --disable-FEATURE, default is enabled if available' printf "%s\n" 'disabled with --disable-FEATURE, default is enabled if available'
@ -147,6 +152,7 @@ _meson_option_parse() {
--disable-alsa) printf "%s" -Dalsa=disabled ;; --disable-alsa) printf "%s" -Dalsa=disabled ;;
--enable-attr) printf "%s" -Dattr=enabled ;; --enable-attr) printf "%s" -Dattr=enabled ;;
--disable-attr) printf "%s" -Dattr=disabled ;; --disable-attr) printf "%s" -Dattr=disabled ;;
--audio-drv-list=*) quote_sh "-Daudio_drv_list=$2" ;;
--enable-auth-pam) printf "%s" -Dauth_pam=enabled ;; --enable-auth-pam) printf "%s" -Dauth_pam=enabled ;;
--disable-auth-pam) printf "%s" -Dauth_pam=disabled ;; --disable-auth-pam) printf "%s" -Dauth_pam=disabled ;;
--enable-avx2) printf "%s" -Davx2=enabled ;; --enable-avx2) printf "%s" -Davx2=enabled ;;
@ -229,6 +235,7 @@ _meson_option_parse() {
--disable-hax) printf "%s" -Dhax=disabled ;; --disable-hax) printf "%s" -Dhax=disabled ;;
--enable-hvf) printf "%s" -Dhvf=enabled ;; --enable-hvf) printf "%s" -Dhvf=enabled ;;
--disable-hvf) printf "%s" -Dhvf=disabled ;; --disable-hvf) printf "%s" -Dhvf=disabled ;;
--iasl=*) quote_sh "-Diasl=$2" ;;
--enable-iconv) printf "%s" -Diconv=enabled ;; --enable-iconv) printf "%s" -Diconv=enabled ;;
--disable-iconv) printf "%s" -Diconv=disabled ;; --disable-iconv) printf "%s" -Diconv=disabled ;;
--enable-install-blobs) printf "%s" -Dinstall_blobs=true ;; --enable-install-blobs) printf "%s" -Dinstall_blobs=true ;;
@ -333,6 +340,7 @@ _meson_option_parse() {
--disable-snappy) printf "%s" -Dsnappy=disabled ;; --disable-snappy) printf "%s" -Dsnappy=disabled ;;
--enable-sparse) printf "%s" -Dsparse=enabled ;; --enable-sparse) printf "%s" -Dsparse=enabled ;;
--disable-sparse) printf "%s" -Dsparse=disabled ;; --disable-sparse) printf "%s" -Dsparse=disabled ;;
--sphinx-build=*) quote_sh "-Dsphinx_build=$2" ;;
--enable-spice) printf "%s" -Dspice=enabled ;; --enable-spice) printf "%s" -Dspice=enabled ;;
--disable-spice) printf "%s" -Dspice=disabled ;; --disable-spice) printf "%s" -Dspice=disabled ;;
--enable-spice-protocol) printf "%s" -Dspice_protocol=enabled ;; --enable-spice-protocol) printf "%s" -Dspice_protocol=enabled ;;
@ -348,6 +356,7 @@ _meson_option_parse() {
--enable-tpm) printf "%s" -Dtpm=enabled ;; --enable-tpm) printf "%s" -Dtpm=enabled ;;
--disable-tpm) printf "%s" -Dtpm=disabled ;; --disable-tpm) printf "%s" -Dtpm=disabled ;;
--enable-trace-backends=*) quote_sh "-Dtrace_backends=$2" ;; --enable-trace-backends=*) quote_sh "-Dtrace_backends=$2" ;;
--with-trace-file=*) quote_sh "-Dtrace_file=$2" ;;
--enable-u2f) printf "%s" -Du2f=enabled ;; --enable-u2f) printf "%s" -Du2f=enabled ;;
--disable-u2f) printf "%s" -Du2f=disabled ;; --disable-u2f) printf "%s" -Du2f=disabled ;;
--enable-usb-redir) printf "%s" -Dusb_redir=enabled ;; --enable-usb-redir) printf "%s" -Dusb_redir=enabled ;;