{"id":2197099,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2197099/?format=json","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.0/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260217052740.114117-2-heifetz@yandex-team.com>","date":"2026-02-17T05:27:33","name":"[1/8] audio: add `audio` build option for meson and Kconfig","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"cea13c06afb2e7e4e934b350e6838deb0eb4ed7c","submitter":{"id":92578,"url":"http://patchwork.ozlabs.org/api/1.0/people/92578/?format=json","name":"Sergei Heifetz","email":"heifetz@yandex-team.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260217052740.114117-2-heifetz@yandex-team.com/mbox/","series":[{"id":492371,"url":"http://patchwork.ozlabs.org/api/1.0/series/492371/?format=json","date":"2026-02-17T05:27:32","name":"add build option to disable audio subsystem","version":1,"mbox":"http://patchwork.ozlabs.org/series/492371/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2197099/checks/","tags":{},"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=yandex-team.com header.i=@yandex-team.com\n header.a=rsa-sha256 header.s=default header.b=hhznRAKE;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net;\n dkim=pass header.i=@yandex-team.com"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fFSqh1KVxz1xpl\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 16:29:04 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vsDcr-0002cP-9y; Tue, 17 Feb 2026 00:27:57 -0500","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <heifetz@yandex-team.com>)\n id 1vsDcm-0002aa-OD\n for qemu-devel@nongnu.org; Tue, 17 Feb 2026 00:27:52 -0500","from forwardcorp1b.mail.yandex.net\n ([2a02:6b8:c02:900:1:45:d181:df01])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <heifetz@yandex-team.com>)\n id 1vsDci-0006cD-Mf\n for qemu-devel@nongnu.org; Tue, 17 Feb 2026 00:27:52 -0500","from mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net\n (mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net\n [IPv6:2a02:6b8:c37:8aa5:0:640:e6ae:0])\n by forwardcorp1b.mail.yandex.net (Yandex) with ESMTPS id 561578850B;\n Tue, 17 Feb 2026 08:27:43 +0300 (MSK)","from heifetz-lin.yandex-team.ru (unknown [2a02:6bf:8080:b54::1:2f])\n by mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net\n (smtpcorp/Yandex) with ESMTPSA id eRRjrX2Ak0U0-ia88aOt0;\n Tue, 17 Feb 2026 08:27:42 +0300"],"X-Yandex-Fwd":"1","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com;\n s=default; t=1771306062;\n bh=ls0bepPgan6SXopc401jXzwdANvz23800COR8K8r76A=;\n h=Message-Id:Date:In-Reply-To:Cc:Subject:References:To:From;\n b=hhznRAKEvTF2eXcPYZ5ytvDNDsU0GQX08HQt6UnUfvC6CkuM4tRjvf3dfYJU9Bmn6\n CvzPgqcRPVgNdojefbqL/8BZ2fm/F90cQ3SpiGl8JqVeGnekK9TUL/d4lptRp7Pe+h\n 1b7H78E//OOcCtFXeg+82869BxSpbQgqm8yyE+gk=","From":"Sergei Heifetz <heifetz@yandex-team.com>","To":"qemu-devel@nongnu.org","Cc":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>, =?utf-8?q?A?=\n\t=?utf-8?q?lex_Benn=C3=A9e?= <alex.bennee@linaro.org>,\n Eric Blake <eblake@redhat.com>,\n =?utf-8?q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,\n\t=?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,\n Markus Armbruster <armbru@redhat.com>, Fabiano Rosas <farosas@suse.de>,\n Paolo Bonzini <pbonzini@redhat.com>, Thomas Huth <thuth@redhat.com>,\n Gerd Hoffmann <kraxel@redhat.com>, Laurent Vivier <lvivier@redhat.com>","Subject":"[PATCH 1/8] audio: add `audio` build option for meson and Kconfig","Date":"Tue, 17 Feb 2026 10:27:33 +0500","Message-Id":"<20260217052740.114117-2-heifetz@yandex-team.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260217052740.114117-1-heifetz@yandex-team.com>","References":"<20260217052740.114117-1-heifetz@yandex-team.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a02:6b8:c02:900:1:45:d181:df01;\n envelope-from=heifetz@yandex-team.com; helo=forwardcorp1b.mail.yandex.net","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"This patch adds the `audio` option to meson_options.txt. It is\npropagated into Kconfig as AUDIO. It is enabled by default.\nThe corresponding `--disable-audio` and `--enable-audio` options\nfor `configure` are also added.\n\nFor now, this option does nothing. In subsequent patches, it will\ngradually disable audio in different places. The final goal is to stop\nbuilding sources from `audio/` and `hw/audio/` and other audio-related\nfiles (except for some stubs). Note that this intent is different from\n`-audio none`, which mutes audio but still compiles the audio subsystem.\n\nSigned-off-by: Sergei Heifetz <heifetz@yandex-team.com>\n---\n Kconfig.host      | 3 +++\n configure         | 4 ++++\n meson.build       | 3 +++\n meson_options.txt | 3 +++\n 4 files changed, 13 insertions(+)","diff":"diff --git a/Kconfig.host b/Kconfig.host\nindex 933425c74b..ec129aa4fc 100644\n--- a/Kconfig.host\n+++ b/Kconfig.host\n@@ -29,6 +29,9 @@ config IVSHMEM\n config TPM\n     bool\n \n+config AUDIO\n+    bool\n+\n config FDT\n     bool\n \ndiff --git a/configure b/configure\nindex 4b61fd3bbf..ff391c79a1 100755\n--- a/configure\n+++ b/configure\n@@ -762,6 +762,10 @@ for opt do\n   ;;\n   --wasm64-32bit-address-limit)\n   ;;\n+  --enable-audio) meson_option_add -Daudio=true\n+  ;;\n+  --disable-audio) meson_option_add -Daudio=false\n+  ;;\n   # everything else has the same name in configure and meson\n   --*) meson_option_parse \"$opt\" \"$optarg\"\n   ;;\ndiff --git a/meson.build b/meson.build\nindex 8c6c0a9a32..69aa7cd189 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -68,6 +68,8 @@ foreach target : target_dirs\n endforeach\n have_user = have_linux_user or have_bsd_user\n \n+audio_enabled = get_option('audio')\n+\n ############\n # Programs #\n ############\n@@ -3244,6 +3246,7 @@ disassemblers = {\n have_ivshmem = config_host_data.get('CONFIG_EVENTFD')\n host_kconfig = \\\n   (get_option('fuzzing') ? ['CONFIG_FUZZ=y'] : []) + \\\n+  (audio_enabled ? ['CONFIG_AUDIO=y'] : []) + \\\n   (have_tpm ? ['CONFIG_TPM=y'] : []) + \\\n   (pixman.found() ? ['CONFIG_PIXMAN=y'] : []) + \\\n   (spice.found() ? ['CONFIG_SPICE=y'] : []) + \\\ndiff --git a/meson_options.txt b/meson_options.txt\nindex 2836156257..172ed10ead 100644\n--- a/meson_options.txt\n+++ b/meson_options.txt\n@@ -71,6 +71,9 @@ option('malloc_trim', type : 'feature', value : 'auto',\n option('malloc', type : 'combo', choices : ['system', 'tcmalloc', 'jemalloc'],\n        value: 'system', description: 'choose memory allocator to use')\n \n+option('audio', type: 'boolean', value: true,\n+       description: 'Audio support')\n+\n option('kvm', type: 'feature', value: 'auto',\n        description: 'KVM acceleration support')\n option('mshv', type: 'feature', value: 'auto',\n","prefixes":["1/8"]}