From nobody Mon Feb 9 11:24:01 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1748589419; cv=none; d=zohomail.com; s=zohoarc; b=EDSkAwE0sq7D52+4aasZO4eCp3Yf88Vm9BejvBcn0D4jt0RmKDJcR9ajXHsbXhz8JpHf3wHSSWAFsKA09uJfIkrADqeM4qoNrQiAqC0MmsA5pWKZezpx7Jvy8PP/I2wE9FJczRwjf8BwB4O3Q9qORJlRYYBX0kon5xGDQW+U1z8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748589419; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eTt+ijUG9kBQToPAyx24wWv7Og7qKej64dv1M2DfvhE=; b=l6dEw9ecIXxxtdb3M+E9i5c+2EzNt5uR7fqmYVinISH4BTOr4xstovuzru/DkqHCH2DFF0hRgyUu8/sNiyZ30aGOwWa8UrQZMCNXyxe4poMyBjlvcsHict5xX+WKVCKcUKNVYpknVQefz6i16IVKEc+BOPdZGNMAWz6oIuja9Qw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748589418906453.0365367938334; Fri, 30 May 2025 00:16:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uKtvY-0008GH-4w; Fri, 30 May 2025 03:13:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uKtvS-0008FY-UQ for qemu-devel@nongnu.org; Fri, 30 May 2025 03:13:11 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uKtvQ-0006oS-Ug for qemu-devel@nongnu.org; Fri, 30 May 2025 03:13:10 -0400 Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-98-3QIkPAbJMuWIJPeenv9wEA-1; Fri, 30 May 2025 03:13:06 -0400 Received: by mail-ed1-f70.google.com with SMTP id 4fb4d7f45d1cf-60498322443so1674249a12.2 for ; Fri, 30 May 2025 00:13:06 -0700 (PDT) Received: from [192.168.122.1] ([151.49.64.79]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-60566c756f5sm1216983a12.45.2025.05.30.00.13.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 May 2025 00:13:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1748589188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eTt+ijUG9kBQToPAyx24wWv7Og7qKej64dv1M2DfvhE=; b=giwndl0bRcen3IU0dLMklWeRFlkF7a0y4X57CN/N3cscSQXvelbyglNHHwpBv3ltI450ON t2SoRCkLtoRBxhqzqRp9C/N1ZURi6VVL3r6S3VEk7zQ77dIT22sUSf0Ifse9i3CwrWk08R dKhiz6EOFPdDHnViJFcIXKLUK/iC3Uo= X-MC-Unique: 3QIkPAbJMuWIJPeenv9wEA-1 X-Mimecast-MFC-AGG-ID: 3QIkPAbJMuWIJPeenv9wEA_1748589186 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748589185; x=1749193985; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eTt+ijUG9kBQToPAyx24wWv7Og7qKej64dv1M2DfvhE=; b=MPnqGBk/Ra02ZYHEqmitr+C2M7+60ejXiEI6KuJ9IhrD4HgKsaRH6XsoIaMyFajhV8 TWOnWKrU0JnsoJ74d8jvQJZT4j1pn0CE9kkjtAw0EzWgtR+EUyAnra2hQXVC5JJBh67o Do5CDTqlt8vf0MB6IgTeCPAylmjPF3V/7+veM3jNFgrYzELrvcOXDJt0HOiz8CZoOAwt LvY1vnt4VJOObZgUFGqTXT6jp0jcQntH4AP7Q4yyBlJXRj8PTdUx6szdRg8DOwMC11ca 4XOB5IEf1MEGzYSZ0nMXqqsBgutYalkwFqxJal0MBN6zyBFyap5leOIK90az4gBJMFyu JR1w== X-Gm-Message-State: AOJu0Yyn4Y5DPh/amjvM9PDNHWXvVsrz7Yt6E3zFDp/w1Ur4XV4Y4tA5 ZJAIoDlioe5V97FVGnov3Oa++ELCOKVy0lB+YQ0okWxn+qnC5/TJ4PjIgcs2zBUdWTrAIO+7UAb y8mIrotkscyTX9MFV16cJOsWRbZSgnpIzGe07BL26CsWtnVGehbYTWddUTktK+kw5ZUGLfORUjn c6QQ+CsFKbtXuRGauq4wBnUM7ma6+01iocpZUXN1mz X-Gm-Gg: ASbGncsV3lPGEt6ivWEiH4BZ92CuLmFKVo+jU93hVitCrNNHcdKRL6iTx7PUamXnPLf Uw4N0JzKqb/4Nm8hkxyFOzBHtUvVqCs3YKN16tGPLmqeammnFTnUSZZ6ibVMoecd349t+5B2iHl wTwT47RC/qGCi5EDPG9+xrcmT75yGTG1PDevTpDQnTeF4z4Gm/3mBMVwoF6sYdx/Dnx2YFKXfmh ZSHkRycaFLDiQN2r2rvBIQRyOwnY7ttEa6NqKm1FNpf2gzR3+ZrDN/uXztAJc7NNU+aIrGkwyBR pyZIauyMiFCNkw== X-Received: by 2002:a05:6402:280d:b0:5fc:bff8:c60a with SMTP id 4fb4d7f45d1cf-6056e15e00cmr1835967a12.26.1748589184817; Fri, 30 May 2025 00:13:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG3dsOSWerJOHUIIpjiP3mxeAc8cev0PzOink8HHo5XoHQdAQVDzLtsJMJ5zRpNiCCf/CfuHA== X-Received: by 2002:a05:6402:280d:b0:5fc:bff8:c60a with SMTP id 4fb4d7f45d1cf-6056e15e00cmr1835936a12.26.1748589184323; Fri, 30 May 2025 00:13:04 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 05/77] meson: merge lib{system, user}_ss with {system, user}_ss Date: Fri, 30 May 2025 09:11:35 +0200 Message-ID: <20250530071250.2050910-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250530071250.2050910-1-pbonzini@redhat.com> References: <20250530071250.2050910-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -49 X-Spam_score: -5.0 X-Spam_bar: ----- X-Spam_report: (-5.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-2.902, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1748589419821116600 From: Pierrick Bouvier Now that target configuration can be applied to lib{system, user}_ss, there is no reason to keep that separate from the existing {system, user}_ss. The only difference is that we'll now compile those files with -DCOMPILING_SYSTEM_VS_USER, which removes poison for CONFIG_USER_ONLY and CONFIG_SOFTMMU, without any other side effect. We extract existing system/user code common common libraries to lib{system, user}. To not break existing meson files, we alias libsystem_ss to system_ss and libuser_ss to user_ss, so we can do the cleanup in next commit. Signed-off-by: Pierrick Bouvier Tested-by: Philippe Mathieu-Daud=C3=A9 Link: https://lore.kernel.org/r/20250521223414.248276-6-pierrick.bouvier@li= naro.org Signed-off-by: Paolo Bonzini --- meson.build | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/meson.build b/meson.build index 79d123c50ee..ea54d15f4a6 100644 --- a/meson.build +++ b/meson.build @@ -3694,14 +3694,14 @@ io_ss =3D ss.source_set() qmp_ss =3D ss.source_set() qom_ss =3D ss.source_set() system_ss =3D ss.source_set() -libsystem_ss =3D ss.source_set() +libsystem_ss =3D system_ss specific_fuzz_ss =3D ss.source_set() specific_ss =3D ss.source_set() rust_devices_ss =3D ss.source_set() stub_ss =3D ss.source_set() trace_ss =3D ss.source_set() user_ss =3D ss.source_set() -libuser_ss =3D ss.source_set() +libuser_ss =3D user_ss util_ss =3D ss.source_set() =20 # accel modules @@ -4078,21 +4078,19 @@ common_ss.add(hwcore) system_ss.add(authz, blockdev, chardev, crypto, io, qmp) common_ss.add(qom, qemuutil) =20 -common_ss.add_all(when: 'CONFIG_SYSTEM_ONLY', if_true: [system_ss]) -common_ss.add_all(when: 'CONFIG_USER_ONLY', if_true: user_ss) - libuser =3D static_library('user', - libuser_ss.all_sources() + genh, + user_ss.all_sources() + genh, c_args: ['-DCONFIG_USER_ONLY', '-DCOMPILING_SYSTEM_VS_USER'], - dependencies: libuser_ss.all_dependencies(), + include_directories: common_user_inc, + dependencies: user_ss.all_dependencies(), build_by_default: false) =20 libsystem =3D static_library('system', - libsystem_ss.all_sources() + genh, + system_ss.all_sources() + genh, c_args: ['-DCONFIG_SOFTMMU', '-DCOMPILING_SYSTEM_VS_USER'], - dependencies: libsystem_ss.all_dependencies(), + dependencies: system_ss.all_dependencies(), build_by_default: false) =20 # Note that this library is never used directly (only through extract_obje= cts) @@ -4101,7 +4099,6 @@ libsystem =3D static_library('system', common_all =3D static_library('common', build_by_default: false, sources: common_ss.all_sources() + genh, - include_directories: common_user_inc, implicit_include_directories: false, dependencies: common_ss.all_dependencies()) =20 @@ -4115,10 +4112,20 @@ foreach target_base_arch, config_base_arch : config= _base_arch_mak inc =3D [common_user_inc + target_inc] =20 target_common =3D common_ss.apply(config_target, strict: false) + target_system =3D system_ss.apply(config_target, strict: false) + target_user =3D user_ss.apply(config_target, strict: false) common_deps =3D [] + system_deps =3D [] + user_deps =3D [] foreach dep: target_common.dependencies() common_deps +=3D dep.partial_dependency(compile_args: true, includes: = true) endforeach + foreach dep: target_system.dependencies() + system_deps +=3D dep.partial_dependency(compile_args: true, includes: = true) + endforeach + foreach dep: target_user.dependencies() + user_deps +=3D dep.partial_dependency(compile_args: true, includes: tr= ue) + endforeach =20 # prevent common code to access cpu compile time definition, # but still allow access to cpu.h @@ -4133,7 +4140,7 @@ foreach target_base_arch, config_base_arch : config_b= ase_arch_mak sources: src.all_sources() + genh, include_directories: inc, c_args: target_system_c_args, - dependencies: src.all_dependencies() + common_deps) + dependencies: src.all_dependencies() + common_deps + system_deps) hw_common_arch_libs +=3D {target_base_arch: lib} endif =20 @@ -4145,7 +4152,8 @@ foreach target_base_arch, config_base_arch : config_b= ase_arch_mak sources: src.all_sources() + genh, include_directories: inc, c_args: target_c_args, - dependencies: src.all_dependencies() + common_deps) + dependencies: src.all_dependencies() + common_deps + + system_deps + user_deps) target_common_arch_libs +=3D {target_base_arch: lib} endif =20 @@ -4157,7 +4165,7 @@ foreach target_base_arch, config_base_arch : config_b= ase_arch_mak sources: src.all_sources() + genh, include_directories: inc, c_args: target_system_c_args, - dependencies: src.all_dependencies() + common_deps) + dependencies: src.all_dependencies() + common_deps + system_deps) target_common_system_arch_libs +=3D {target_base_arch: lib} endif endforeach @@ -4336,12 +4344,12 @@ foreach target : target_dirs arch_deps +=3D src.dependencies() endif if target_type =3D=3D 'system' - src =3D libsystem_ss.apply(config_target, strict: false) + src =3D system_ss.apply(config_target, strict: false) objects +=3D libsystem.extract_objects(src.sources()) arch_deps +=3D src.dependencies() endif if target_type =3D=3D 'user' - src =3D libuser_ss.apply(config_target, strict: false) + src =3D user_ss.apply(config_target, strict: false) objects +=3D libuser.extract_objects(src.sources()) arch_deps +=3D src.dependencies() endif --=20 2.49.0