From patchwork Wed May 21 22:34:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 891555 Delivered-To: patch@linaro.org Received: by 2002:adf:e88a:0:b0:3a3:61c9:c5d4 with SMTP id d10csp2355138wrm; Wed, 21 May 2025 15:36:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVziL9yepxiRqw9Yu1mPB7zI9MkvpEFmzsd2bHtkO9o8uyUKFxtjFMo4MCshCYE+ei/TNCGLw==@linaro.org X-Google-Smtp-Source: AGHT+IEN3xZHzuubMZpCzws4E2wAcq4e4N860do00q03K0gpDnDCniAs8Ht72NLvLr6BrVnlwW7s X-Received: by 2002:a92:d607:0:b0:3db:800d:6edb with SMTP id e9e14a558f8ab-3db800d7140mr198035125ab.2.1747867017216; Wed, 21 May 2025 15:36:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1747867017; cv=none; d=google.com; s=arc-20240605; b=jV5QMzrf0KTZ5ZTnUS8KKPc0oWKkyYmDcXKlqdwwh/V5IRYt5THQ8V7rhRYO8MpEqG WpBBeiW1ACyk4yy6WH2ek854k4VLySaGlvxyWg9ZZeResdS1Q+2rWVwuqLnZloqWLKE0 7h5ZvBAaB3ARFQe/qoUn23LNsGfENg3S8lBqg3pa5QOIe5r5h6cBVAseph6Ms7TKGtm4 tITRGtly36uD9ie/Cgenmyg4Tnuns0rsQd0xhCHXZbIaB7RWMZ7OHjdwPUiDRar+fyts hNpKtFgXXZU3192Dr00bmUotKKZWp9GIb+GCZcW2Ry+ZZhTmER4g0V/GazBC0D8p0B++ 3MDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=WeWztwRO1f9kpE1L9uL08Bn44xYTu0XHTbPptf9BzjA=; fh=jpZTer8Lnp0ij2TL+T2yfvfY/N/1F7aXXNGwiZkGqro=; b=hLAoXguJTyz2njAkAaDQKI1WLqIwJ/CpA0ymFzAOsMSwb0UaGKmIo0EMhrBZbLK1Uf LBRHM4D5TBu+HZDu8tNeS1Di0D/j7b4QLJx3QTYF2c2G2+bRtpu8CFQ6ThTTaAdVM1cI CvqTOo3s1JIJ4rBji3H9Rf5yGrjW1j9Lf+6c8Xf3WribTbvhZzrGzNn6lYCdo7uOwjZx DDSL2ELN5KBIaHxJl0aoPmR6mgXsQxWQ22irgC/m8xX3104NjGRCFzeiRDlsDKV2GwQy pA+dS66G9mIuEauHTTuVxLeE6F+Qrcoo6OKT0wprcnBPoGn48Dw4fkzmMH2PPV8x2jgM F3oA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GJSsNnnO; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 8926c6da1cb9f-4fbcc38dddbsi9541926173.3.2025.05.21.15.36.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 21 May 2025 15:36:57 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GJSsNnnO; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uHs1E-0001Ux-L9; Wed, 21 May 2025 18:34:36 -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 1uHs1D-0001UX-DP for qemu-devel@nongnu.org; Wed, 21 May 2025 18:34:35 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uHs13-0004zh-Ol for qemu-devel@nongnu.org; Wed, 21 May 2025 18:34:35 -0400 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-af908bb32fdso5619321a12.1 for ; Wed, 21 May 2025 15:34:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1747866862; x=1748471662; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=WeWztwRO1f9kpE1L9uL08Bn44xYTu0XHTbPptf9BzjA=; b=GJSsNnnOdV97+fzfNAY63469W44nX06R4M7/EIYozH/2pzsa14jyHU1YByrqckQRlV W6GQMg8BwW1bDorfn4dhDb3C5STbcTW8XrKeJR6FyE5mPyEzwHvEtUBwSmMRTxy5dSk9 ecvkXW5oC7lLwTU2P8beGOLCWYnnP2uD4WmPU7EkRPICHH8PO5HHUIDlIt6hDSLxNhna 5kx+f0SreW/d0w6vHfRHDoYvIT2tpXYhdmkgyxCfu0YjJPluY1n4wqifziFfdve1xqwR GKD73ogQm6KmimYz8/OchiDpYT9LxbcVMVyOajBpZnraJd2fnMuak9cGnWFsM+3sbBrL REig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747866862; x=1748471662; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=WeWztwRO1f9kpE1L9uL08Bn44xYTu0XHTbPptf9BzjA=; b=plqLQ0LGwgP8dyWbc+Ro1HmGfCp4wftbCkVTd/NEQwi36KPYpxN7yMY7XnZuvBSN9b wdhU4yRlPgPArD+oClC5I5iblVAozXRwcuhJNdsRsTSeXHmGN65If4Pvm8E+BaZdaNNw 5H6IjsaZKV9izFtXz7fVCr4BT+8m3Stl5xD2OV4UTukEs9/3tGDmwAyxpcTux0klL20L 8jN4n/TyOZnYcLJQmnaTRK57EnmKNoMPeuGvpbIbQcgsTbXh/X2yc+r33WpyortfIpk1 cHSlvYncZw9/CJk/MAOuHnuKS49ec5K8ir0/y3YRfW8VfHYCufZPkVYvo84GKdButYBz cgLw== X-Gm-Message-State: AOJu0YwHsbPNf6aCwUNee4CUusbll5KhhyexsgjJnA7BJVuciDA2sDXg 30NIzOmGa+QqX2IPLbCi0qI1QMPxud1ipdaAno59o8eXWVeJWVk8UNPGwfdVEmwKYrIFCi77F/s mxeYc X-Gm-Gg: ASbGncs3MA79Gdwgm4CqqnPTzDDPwlZ9hvqJn6bPzGyCT4SOGA4yIpeq99vGUt3UPgP ICt46gs8CPKPyBnDQn2PxdeAx8EN2C1B05ci3yg1RrKNo9JC7nwlHj5GKkhq2p3OLsa1uvrJST1 PAKr2VOkQB6IiehiFG87nlTU8u6uTCW7ejwI+xapliEDpTd03j1aokUaMPSktcli37EzNcxRiO1 8TOab0xcMKO6qFEn7PCOjtTu3R7dR/39C79hScDfpGIFljW0t6Q5IDRvVHIUPkIaVq3Rn3JR26V Rp/G4nMliVsLaZWaVIOFl99l1yYsWFB8iISaKj0C+ILetevqc0A= X-Received: by 2002:a05:6a21:6d82:b0:218:2ee9:2c67 with SMTP id adf61e73a8af0-2182ee94ed2mr19701568637.9.1747866861961; Wed, 21 May 2025 15:34:21 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b26eaf5a31dsm10165224a12.2.2025.05.21.15.34.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 May 2025 15:34:21 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?utf-8?q?Philippe_Mathi?= =?utf-8?q?eu-Daud=C3=A9?= , Richard Henderson , Peter Maydell , Paolo Bonzini , thuth@redhat.com, =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= Subject: [PATCH v2 0/7] single-binary: build target common libraries with dependencies Date: Wed, 21 May 2025 15:34:07 -0700 Message-ID: <20250521223414.248276-1-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::52e; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pg1-x52e.google.com 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, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Recently, common libraries per target base architecture were introduced in order to compile those files only once. However, it was missing common dependencies (which include external libraries), so it failed to build on some hosts. This series fixes this, inspired by Thomas fix [1], and applied to other libraries introduced very recently with [2]. As well, we do further cleanup by removing lib{system, user} source sets that were recently introduced, by merging them in system/user libraries, thus simplifying the work on single-binary. This series was built on {linux, macos, windows} x {x86_64, aarch64} and freebsd on x86_64. Fully tested on linux x {x86_64, aarch64}. In addition to that, it was checked that compilation units compiled per binary stayed the same, and that their size was identical. [1] https://lore.kernel.org/qemu-devel/20250513115637.184940-1-thuth@redhat.com/ [2] https://gitlab.com/qemu-project/qemu/-/commit/b2bb3f3576e5dc99218607dde09e25ac0e55693c v2 --- - Additional patch to merge hw_common_arch_libs in target_common_system_arch libs (Paolo) - Better commit description for merging lib{system, user}_ss with {system, user}_ss (Paolo) Pierrick Bouvier (7): meson: build target libraries with common dependencies hw/arm: remove explicit dependencies listed target/arm: remove explicit dependencies listed meson: apply target config for picking files from lib{system, user} meson: merge lib{system, user}_ss with {system, user}_ss meson: remove lib{system, user}_ss aliases meson: merge hw_common_arch in target_common_system_arch meson.build | 124 +++++++++++++++++++++-------------------- accel/tcg/meson.build | 8 +-- gdbstub/meson.build | 4 +- hw/arm/meson.build | 4 +- hw/core/meson.build | 4 +- plugins/meson.build | 4 +- system/meson.build | 2 +- target/arm/meson.build | 2 +- tcg/meson.build | 4 +- 9 files changed, 80 insertions(+), 76 deletions(-)