[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 04/10] configure: add --disable-colo-proxy option
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH v4 04/10] configure: add --disable-colo-proxy option |
Date: |
Fri, 28 Apr 2023 22:49:22 +0300 |
Add option to not build filter-mirror, filter-rewriter and
colo-compare when they are not needed.
There could be more agile configuration, for example add separate
options for each filter, but that may be done in future on demand. The
aim of this patch is to make possible to disable the whole COLO Proxy
subsystem.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Juan Quintela <quintela@redhat.com>
---
meson_options.txt | 2 ++
net/meson.build | 13 ++++++++++---
scripts/meson-buildoptions.sh | 3 +++
stubs/colo-compare.c | 7 +++++++
stubs/meson.build | 1 +
5 files changed, 23 insertions(+), 3 deletions(-)
create mode 100644 stubs/colo-compare.c
diff --git a/meson_options.txt b/meson_options.txt
index 2471dd02da..b59e7ae342 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -289,6 +289,8 @@ option('live_block_migration', type: 'feature', value:
'auto',
description: 'block migration in the main migration stream')
option('replication', type: 'feature', value: 'auto',
description: 'replication support')
+option('colo_proxy', type: 'feature', value: 'auto',
+ description: 'colo-proxy support')
option('bochs', type: 'feature', value: 'auto',
description: 'bochs image format support')
option('cloop', type: 'feature', value: 'auto',
diff --git a/net/meson.build b/net/meson.build
index 87afca3e93..6f4ecde57f 100644
--- a/net/meson.build
+++ b/net/meson.build
@@ -1,13 +1,10 @@
softmmu_ss.add(files(
'announce.c',
'checksum.c',
- 'colo-compare.c',
- 'colo.c',
'dump.c',
'eth.c',
'filter-buffer.c',
'filter-mirror.c',
- 'filter-rewriter.c',
'filter.c',
'hub.c',
'net-hmp-cmds.c',
@@ -19,6 +16,16 @@ softmmu_ss.add(files(
'util.c',
))
+if get_option('replication').allowed() or \
+ get_option('colo_proxy').allowed()
+ softmmu_ss.add(files('colo-compare.c'))
+ softmmu_ss.add(files('colo.c'))
+endif
+
+if get_option('colo_proxy').allowed()
+ softmmu_ss.add(files('filter-rewriter.c'))
+endif
+
softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('filter-replay.c'))
if have_l2tpv3
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index d4369a3ad8..036047ce6f 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -83,6 +83,7 @@ meson_options_help() {
printf "%s\n" ' capstone Whether and how to find the capstone
library'
printf "%s\n" ' cloop cloop image format support'
printf "%s\n" ' cocoa Cocoa user interface (macOS only)'
+ printf "%s\n" ' colo-proxy colo-proxy support'
printf "%s\n" ' coreaudio CoreAudio sound support'
printf "%s\n" ' crypto-afalg Linux AF_ALG crypto backend driver'
printf "%s\n" ' curl CURL block device driver'
@@ -236,6 +237,8 @@ _meson_option_parse() {
--disable-cloop) printf "%s" -Dcloop=disabled ;;
--enable-cocoa) printf "%s" -Dcocoa=enabled ;;
--disable-cocoa) printf "%s" -Dcocoa=disabled ;;
+ --enable-colo-proxy) printf "%s" -Dcolo_proxy=enabled ;;
+ --disable-colo-proxy) printf "%s" -Dcolo_proxy=disabled ;;
--enable-coreaudio) printf "%s" -Dcoreaudio=enabled ;;
--disable-coreaudio) printf "%s" -Dcoreaudio=disabled ;;
--enable-coroutine-pool) printf "%s" -Dcoroutine_pool=true ;;
diff --git a/stubs/colo-compare.c b/stubs/colo-compare.c
new file mode 100644
index 0000000000..ec726665be
--- /dev/null
+++ b/stubs/colo-compare.c
@@ -0,0 +1,7 @@
+#include "qemu/osdep.h"
+#include "qemu/notify.h"
+#include "net/colo-compare.h"
+
+void colo_compare_cleanup(void)
+{
+}
diff --git a/stubs/meson.build b/stubs/meson.build
index 8412cad15f..a56645e2f7 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -46,6 +46,7 @@ stub_ss.add(files('target-monitor-defs.c'))
stub_ss.add(files('trace-control.c'))
stub_ss.add(files('uuid.c'))
stub_ss.add(files('colo.c'))
+stub_ss.add(files('colo-compare.c'))
stub_ss.add(files('vmstate.c'))
stub_ss.add(files('vm-stop.c'))
stub_ss.add(files('win32-kbd-hook.c'))
--
2.34.1
- [PATCH v4 00/10] COLO: improve build options, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 02/10] colo: make colo_checkpoint_notify static and provide simpler API, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 05/10] migration: drop colo_incoming_thread from MigrationIncomingState, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 03/10] build: move COLO under CONFIG_REPLICATION, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 07/10] migration: split migration_incoming_co, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 04/10] configure: add --disable-colo-proxy option,
Vladimir Sementsov-Ogievskiy <=
- [PATCH v4 08/10] migration: process_incoming_migration_co(): move colo part to colo, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 09/10] migration: disallow change capabilities in COLO state, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 10/10] migration: block incoming colo when capability is disabled, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 06/10] migration: process_incoming_migration_co: simplify code flow around ret, Vladimir Sementsov-Ogievskiy, 2023/04/28
- [PATCH v4 01/10] block/meson.build: prefer positive condition for replication, Vladimir Sementsov-Ogievskiy, 2023/04/28