[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 15/17] configure, meson: use command line options to configure qe
From: |
Paolo Bonzini |
Subject: |
[PATCH 15/17] configure, meson: use command line options to configure qemu-ga |
Date: |
Mon, 16 Oct 2023 08:31:25 +0200 |
Preserve the functionality of the environment variables, but
allow using the command line instead.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 16 +++++++++-------
meson_options.txt | 7 +++++++
qga/meson.build | 9 ++++++---
scripts/meson-buildoptions.sh | 9 +++++++++
4 files changed, 31 insertions(+), 10 deletions(-)
diff --git a/configure b/configure
index 18dcb0240ed..06b27dd46f4 100755
--- a/configure
+++ b/configure
@@ -1589,12 +1589,6 @@ echo >> $config_host_mak
echo all: >> $config_host_mak
-if test "$targetos" = "windows"; then
- echo "QEMU_GA_MANUFACTURER=${QEMU_GA_MANUFACTURER-QEMU}" >> $config_host_mak
- echo "QEMU_GA_DISTRO=${QEMU_GA_DISTRO-Linux}" >> $config_host_mak
- echo "QEMU_GA_VERSION=${QEMU_GA_VERSION-$(cat "$source_path"/VERSION)}" >>
$config_host_mak
-fi
-
echo "SRC_PATH=$source_path" >> $config_host_mak
echo "TARGET_DIRS=$target_list" >> $config_host_mak
echo "GDB=$gdb_bin" >> $config_host_mak
@@ -1721,6 +1715,15 @@ if test "$skip_meson" = no; then
if test "$SMBD" != ''; then
echo "smbd = $(meson_quote "$SMBD")" >> $cross
fi
+ if test "${QEMU_GA_MANUFACTURER}" != ''; then
+ echo "qemu_ga_manufacturer = $(meson_quote "${QEMU_GA_MANUFACTURER}")" >>
$cross
+ fi
+ if test "${QEMU_GA_DISTRO}" != ''; then
+ echo "qemu_ga_distro = $(meson_quote "${QEMU_GA_DISTRO}")" >> $cross
+ fi
+ if test "${QEMU_GA_VERSION}" != ''; then
+ echo "qemu_ga_version = $(meson_quote "${QEMU_GA_VERSION}")" >> $cross
+ fi
echo >> $cross
echo "[binaries]" >> $cross
@@ -1772,7 +1775,6 @@ if test "$skip_meson" = no; then
rm -rf meson-private meson-info meson-logs
- # Built-in options
test "$download" = "disabled" && meson_option_add "--wrap-mode=nodownload"
test "$default_feature" = no && meson_option_add -Dauto_features=disabled
test "$static" = yes && meson_option_add -Dprefer_static=true
diff --git a/meson_options.txt b/meson_options.txt
index e237b268469..1b0c02b4a58 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -353,5 +353,12 @@ option('qom_cast_debug', type: 'boolean', value: true,
option('slirp_smbd', type : 'feature', value : 'auto',
description: 'use smbd (at path --smbd=*) in slirp networking')
+option('qemu_ga_manufacturer', type: 'string', value: 'QEMU',
+ description: '"manufacturer" name for qemu-ga registry entries')
+option('qemu_ga_distro', type: 'string', value: 'Linux',
+ description: 'second path element in qemu-ga registry entries')
+option('qemu_ga_version', type: 'string', value: '',
+ description: 'version number for qemu-ga installer')
+
option('hexagon_idef_parser', type : 'boolean', value : true,
description: 'use idef-parser to automatically generate TCG code for
the Hexagon frontend')
diff --git a/qga/meson.build b/qga/meson.build
index 59cae0cc6ee..940a51d55db 100644
--- a/qga/meson.build
+++ b/qga/meson.build
@@ -145,6 +145,9 @@ if targetos == 'windows'
else
libpcre = 'libpcre2'
endif
+ qga_msi_version = get_option('qemu_ga_version') == '' \
+ ? project.version() \
+ : get_option('qemu_ga_version')
qga_msi = custom_target('QGA MSI',
input: files('installer/qemu-ga.wxs'),
output: 'qemu-ga-@0@.msi'.format(host_arch),
@@ -155,9 +158,9 @@ if targetos == 'windows'
qemu_ga_msi_vss,
'-D', 'BUILD_DIR=' + meson.project_build_root(),
'-D', 'BIN_DIR=' +
glib_pc.get_variable('bindir'),
- '-D', 'QEMU_GA_VERSION=' +
config_host['QEMU_GA_VERSION'],
- '-D', 'QEMU_GA_MANUFACTURER=' +
config_host['QEMU_GA_MANUFACTURER'],
- '-D', 'QEMU_GA_DISTRO=' +
config_host['QEMU_GA_DISTRO'],
+ '-D', 'QEMU_GA_VERSION=' + qga_msi_version,
+ '-D', 'QEMU_GA_MANUFACTURER=' +
get_option('qemu_ga_manufacturer'),
+ '-D', 'QEMU_GA_DISTRO=' +
get_option('qemu_ga_distro'),
'-D', 'LIBPCRE=' + libpcre,
])
all_qga += [qga_msi]
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index dec33820163..bda88993bd1 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -64,6 +64,12 @@ meson_options_help() {
printf "%s\n" ' --localstatedir=VALUE Localstate data directory
[/var/local]'
printf "%s\n" ' --mandir=VALUE Manual page directory [share/man]'
printf "%s\n" ' --prefix=VALUE Installation prefix [/usr/local]'
+ printf "%s\n" ' --qemu-ga-distro=VALUE second path element in qemu-ga
registry entries'
+ printf "%s\n" ' [Linux]'
+ printf "%s\n" ' --qemu-ga-manufacturer=VALUE'
+ printf "%s\n" ' "manufacturer" name for qemu-ga
registry entries'
+ printf "%s\n" ' [QEMU]'
+ printf "%s\n" ' --qemu-ga-version=VALUE version number for qemu-ga
installer'
printf "%s\n" ' --smbd=VALUE Path to smbd for slirp networking'
printf "%s\n" ' --sysconfdir=VALUE Sysconf data directory [etc]'
printf "%s\n" ' --tls-priority=VALUE Default TLS protocol/cipher
priority string'
@@ -422,6 +428,9 @@ _meson_option_parse() {
--enable-qed) printf "%s" -Dqed=enabled ;;
--disable-qed) printf "%s" -Dqed=disabled ;;
--firmwarepath=*) quote_sh "-Dqemu_firmwarepath=$(meson_option_build_array
$2)" ;;
+ --qemu-ga-distro=*) quote_sh "-Dqemu_ga_distro=$2" ;;
+ --qemu-ga-manufacturer=*) quote_sh "-Dqemu_ga_manufacturer=$2" ;;
+ --qemu-ga-version=*) quote_sh "-Dqemu_ga_version=$2" ;;
--with-suffix=*) quote_sh "-Dqemu_suffix=$2" ;;
--enable-qga-vss) printf "%s" -Dqga_vss=enabled ;;
--disable-qga-vss) printf "%s" -Dqga_vss=disabled ;;
--
2.41.0
- [PATCH 08/17] configure, tests/tcg: simplify GDB conditionals, (continued)
- [PATCH 08/17] configure, tests/tcg: simplify GDB conditionals, Paolo Bonzini, 2023/10/16
- [PATCH 07/17] tests/tcg/arm: move non-SVE tests out of conditional, Paolo Bonzini, 2023/10/16
- [PATCH 10/17] configure: clean up PIE option handling, Paolo Bonzini, 2023/10/16
- [PATCH 06/17] hw/remote: move stub vfu_object_set_bus_irq out of stubs/, Paolo Bonzini, 2023/10/16
- [PATCH 09/17] configure: clean up plugin option handling, Paolo Bonzini, 2023/10/16
- [PATCH 11/17] configure: remove some dead cruft, Paolo Bonzini, 2023/10/16
- [PATCH 12/17] configure: move target-specific defaults to an external machine file, Paolo Bonzini, 2023/10/16
- [PATCH 14/17] configure: unify handling of several Debian cross containers, Paolo Bonzini, 2023/10/16
- [PATCH 15/17] configure, meson: use command line options to configure qemu-ga,
Paolo Bonzini <=
- [PATCH 16/17] meson-buildoptions: document the data at the top, Paolo Bonzini, 2023/10/16
- [PATCH 17/17] meson: add a note on why we use config_host for program paths, Paolo Bonzini, 2023/10/16
- [PATCH 13/17] configure: move environment-specific defaults to config-meson.cross, Paolo Bonzini, 2023/10/16