On 2/17/26 14:44, Paolo Bonzini wrote:
On 2/17/26 06:27, Sergei Heifetz wrote:
This patch adds the `audio` option to meson_options.txt. It is
propagated into Kconfig as AUDIO. It is enabled by default.
The corresponding `--disable-audio` and `--enable-audio` options
for `configure` are also added.

For now, this option does nothing. In subsequent patches, it will
gradually disable audio in different places. The final goal is to stop
building sources from `audio/` and `hw/audio/` and other audio-related
files (except for some stubs). Note that this intent is different from
`-audio none`, which mutes audio but still compiles the audio subsystem.

Signed-off-by: Sergei Heifetz <[email protected]>
---
  Kconfig.host      | 3 +++
  configure         | 4 ++++
  meson.build       | 3 +++
  meson_options.txt | 3 +++
  4 files changed, 13 insertions(+)

diff --git a/Kconfig.host b/Kconfig.host
index 933425c74b..ec129aa4fc 100644
--- a/Kconfig.host
+++ b/Kconfig.host
@@ -29,6 +29,9 @@ config IVSHMEM
  config TPM
      bool
  +config AUDIO
+    bool
+
  config FDT
      bool
  diff --git a/configure b/configure
index 4b61fd3bbf..ff391c79a1 100755
--- a/configure
+++ b/configure
@@ -762,6 +762,10 @@ for opt do
    ;;
    --wasm64-32bit-address-limit)
    ;;
+  --enable-audio) meson_option_add -Daudio=true
+  ;;
+  --disable-audio) meson_option_add -Daudio=false
+  ;;
    # everything else has the same name in configure and meson
    --*) meson_option_parse "$opt" "$optarg"
    ;;
diff --git a/meson.build b/meson.build
index 8c6c0a9a32..69aa7cd189 100644
--- a/meson.build
+++ b/meson.build
@@ -68,6 +68,8 @@ foreach target : target_dirs
  endforeach
  have_user = have_linux_user or have_bsd_user
  +audio_enabled = get_option('audio')

You can use

audio_enabled = get_option('audio').disable_auto_if(not have_system)

and then replace all the "if have_system and audio_enabled" with just "if audio_enabled".

That said, I'd rename the variable to "have_audio" for consistency with other names in meson.build.

Paolo

It looks nicer this way—thanks. I’ll then make the option a feature rather than a boolean.

It would be `have_audio = get_option('audio').disable_auto_if(not have_system).*allowed()*`, though.


+
  ############
  # Programs #
  ############
@@ -3244,6 +3246,7 @@ disassemblers = {
  have_ivshmem = config_host_data.get('CONFIG_EVENTFD')
  host_kconfig = \
    (get_option('fuzzing') ? ['CONFIG_FUZZ=y'] : []) + \
+  (audio_enabled ? ['CONFIG_AUDIO=y'] : []) + \
    (have_tpm ? ['CONFIG_TPM=y'] : []) + \
    (pixman.found() ? ['CONFIG_PIXMAN=y'] : []) + \
    (spice.found() ? ['CONFIG_SPICE=y'] : []) + \
diff --git a/meson_options.txt b/meson_options.txt
index 2836156257..172ed10ead 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -71,6 +71,9 @@ option('malloc_trim', type : 'feature', value : 'auto',   option('malloc', type : 'combo', choices : ['system', 'tcmalloc', 'jemalloc'],
         value: 'system', description: 'choose memory allocator to use')
  +option('audio', type: 'boolean', value: true,
+       description: 'Audio support')
+
  option('kvm', type: 'feature', value: 'auto',
         description: 'KVM acceleration support')
  option('mshv', type: 'feature', value: 'auto',

Reply via email to