From patchwork Sat Mar 29 20:07:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60219 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86B6EC36014 for ; Sat, 29 Mar 2025 20:07:28 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.17852.1743278844812327074 for ; Sat, 29 Mar 2025 13:07:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=MltELmga; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TJrplt026666 for ; Sat, 29 Mar 2025 20:07:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= nIhSfy/SDR/jkHbaHlF49+XBVFaur1v4uEyKSY8Df5A=; b=MltELmgaZCUlBkMd Xhb3IRk76b3J19ZvbehfKjhEVrjVV4i9OqVoYcWtP4wbvVwEkMxYxKtc397IyIE5 usOsYhLE0SV3ouhHkOEW820HxTxrpMfI38iuzbT8nBhi6kdATe58QI7CZ8jj9y7q Xw8CJFaDgRT0AZA2BZDdNlnFCoz0/vn1WYpjpNvwXehmDFygk4IZz2k5T68Cbhf5 ooUjIAzPocSblIGSRuBZV6d0NCm79557y2rG45+ww7FnTX9Ads9wquWU4/J2cWvR SC2Cwv/Ef2LiMNfCq9gdkvrxD6m46Sqsyph+U+foozW9Vc6oR37+YPmo4xQPypzx NOSvLQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p7v89bnm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:23 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5ac559cbaso537047685a.1 for ; Sat, 29 Mar 2025 13:07:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278843; x=1743883643; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nIhSfy/SDR/jkHbaHlF49+XBVFaur1v4uEyKSY8Df5A=; b=a6IOSriETsqmpmwuiJvgfyGpFk+tOYLnq7XdgcOKOWs5K42RpHKjcFfCnlyr56x+7c JaHro7m3hQwpTQBD/5dnYJuXX5/QoO1P1Wr6+Gm39gSVjMRHnYeQkZdB+axK8EQvmALW tVwJ7OQkcXmCsLzAQT0fdb8TmMYWJeECHuwufs4qhsA8NLUZSIv7Q7vzRY3K9qJkjYhE rgOqMt5gt0n1vN/C3t3XQnGxKMg/+F/4c/hmDxu5H4t0NoodPyK6UMwCNJldjBXaHIBQ nm+c5/D3xovXVLoRS/32Ny9gKrV0j/1xz3krF2ZGG8do6BWptHS0pXw53ukpXyoAvGNL p1Ug== X-Gm-Message-State: AOJu0Yxb78SsGaLfJLLF0IznFqk8EmkjKENqKuk2b4IwiWEiL+Oci6pB X3lGjTgingb1CPzimbZKKcgY+FJJkejHM6WAJjLFI0o59I7+p2iDLOq+eJyEAj4WNYlKfRU//Mz 5bpNntKEK6crj+Dljt4pwS5WuintnXsoGOhBHObPS+rponXD0Ausu9Wjkb6TZ8t4tR4NkBPPRkG yoKMg= X-Gm-Gg: ASbGncsCEz/D4of3YXAH6Q/5c4/Fbme/FDKnzxYoH2bvdbOvvA2ikKywWiLz9TElGNK rRVTu7dtNxxY03m4xpOwRVGt0AGpaGbPhDmUT6YdUFUQPJR4ox8B3cLRzAZyxL/Ssu2xKMx3njh oLMc7xLutsx2HCAB2r82nrwkw69UHHTWabhV6qcTvYMLK6YI8Y4oYy6loTwNbrCxxiJnOtwK1OM k58y63k7GjwAeIFHyDAMEaShmyxM+8xXTogxOb63FCsT6ftxcCkpP4BIe5mlhY5Jz43AR3rmJc/ wdwYV29iNYsbP7GRPbcpXAE3WffkqU0Hd+OcL6bCJWClFuiv4riIbVTpIHimtdRXlNpXsesq6pv eV1pVZ+oN6UhLGu/izAhIaVuLJ1W+ X-Received: by 2002:a05:620a:40d1:b0:7c5:3b52:517d with SMTP id af79cd13be357-7c690893bc0mr574665885a.54.1743278843132; Sat, 29 Mar 2025 13:07:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEVAWc0o8omBrWpyhUx8P9EapbP3JKHU/GDgQuwtDPAV+Fc2kNn2awy3dQjZNtKLhJmGnEfaQ== X-Received: by 2002:a05:620a:40d1:b0:7c5:3b52:517d with SMTP id af79cd13be357-7c690893bc0mr574663285a.54.1743278842772; Sat, 29 Mar 2025 13:07:22 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:20 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:12 +0200 Subject: [PATCH v3 1/9] llvm: move libLLVM.so.N.M to llvm-libllvm package MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-1-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1221; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=eGTibRIRqDUKSL6bHzN2H6rb0V+z74KRWUYbtuHsbiI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL0Rz8ZvyVa05M3widAv2y5tnHXOpjU3Jjah VWBK2C3ghCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9AAKCRCLPIo+Aiko 1V7cB/9XtRWfOlmVJm7y9W8aFoOvmCfUlMaZ/AszoXU0h4x5LqxcbWvIlEiOWTt4xBbTCFuJItk aQvbb39MNaJ+I8FBRlmHyGdf+TE44oTaaQr6epWqUaYaurXHLFSzaFDP2fiD2+iIfXjBDVf1E9l 1YX8UGLu36WwsclZrAsP581I/jQQElH5POPctge7KmIucqU+ZRFEavJ/YozEAAQH2L1JSBVJvfa JLZCUJLggCPHdhaRl+4cODmzUKxQ1P5c/6Tlq1NGzjyfnRDCRjcSwLipngP22KrdxgVznyiLyql e5TYKEKUnZZwmkf8I0PQhgVSldlLOy9EesUnndkblQMmhyab X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: uyra_PAjpT9dcUgEIxewQku5WKIXlKET X-Authority-Analysis: v=2.4 cv=fdaty1QF c=1 sm=1 tr=0 ts=67e852fb cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=EUspDBNiAAAA:8 a=sEhaxK_mCjGFFgskTosA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: uyra_PAjpT9dcUgEIxewQku5WKIXlKET X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 malwarescore=0 suspectscore=0 spamscore=0 impostorscore=0 priorityscore=1501 mlxscore=0 mlxlogscore=778 clxscore=1015 adultscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:28 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213895 Neither MAJOR_VER nor MINOR_VER are defined, so libLLVM.so.N.M ends up in the main libllvm package rather than the llvm-libllvm package, as expected. Fix this by properly using two-component version. Fixes: db3bf550a372 ("llvm: Update to 18.1.0 RC4") Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.0.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index 7ffc6ec1cb8a041f3ce1c3ac75fad30f1d793916..296a164cdd7ffb45f056c879cc5fc4fbc459caba 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -19,6 +19,7 @@ VER_SUFFIX = "" PV .= "${VER_SUFFIX}" MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}" +MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" @@ -152,7 +153,7 @@ FILES:${PN}-bugpointpasses = "\ FILES:${PN}-libllvm = "\ ${libdir}/libLLVM-${MAJOR_VERSION}.so \ - ${libdir}/libLLVM.so.${MAJOR_VER}.${MINOR_VER} \ + ${libdir}/libLLVM.so.${MAJ_MIN_VERSION} \ " FILES:${PN}-liblto += "\ From patchwork Sat Mar 29 20:07:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60220 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 845D1C36008 for ; Sat, 29 Mar 2025 20:07:28 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.17855.1743278847573639736 for ; Sat, 29 Mar 2025 13:07:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=IM4NS1GL; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TIpdhZ029997 for ; Sat, 29 Mar 2025 20:07:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AS+w1P7zyHFnfLucYjiktS7bjXogJ0ROIA2ty176TmE=; b=IM4NS1GLiH9Y6yfU /GUASTNrWgFbg8IQLUdVcpwc1RUIPwZjl9ULiP7olg/axWh7P8TDUK3mGsXKhsa6 /IRmvSOiNOzUEeKwSrZ+/+R041U2J50gxuKXfX4ObLf67eEiEJSLyE0Db/wJHAJk z4taM0AeeTiXtdeVHJWn7rEYX17F08/UZSuGJJfnyEtK52c9s59s5IISrbE4+5e9 d3bK8/5BGbIfZQdvGcrJY0AgryN5TtVaNm0u/w0NGIz1bb1GcHOsGL4g+xdTmxoz TAhr2JQ9Z94MCdYbf/N+eCv3vh0GPSY/nf6pctFeBWFjVZm2ch2MirNZ8+LeY7o6 JNsUjA== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p86khac6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:26 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5ba3b91b1so151259285a.0 for ; Sat, 29 Mar 2025 13:07:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278845; x=1743883645; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AS+w1P7zyHFnfLucYjiktS7bjXogJ0ROIA2ty176TmE=; b=wW/ndO7kls5K38rh0npFx7+v6KmWM8L2ycIDR8BlGoxtk/DlykUqQ8D9tA60xi6WXt kMDVqdYXNNApxWDG+7a9jI7PystFWeVeVDdtwiycygMF8YkUPRaQCRxLxRuDDMocO3LA VtO1rR1TI1CtGS8KGkcbpYRgtbmW/bwuCSxDI+Obkg7xFzvbOhzzLfqgFJYrC1jZv722 2HOpz2usr8A7N0pjDl1aFl+NpN3DisDjSiMDnsd3cguszr+tbYYZIXPc6rkc395/T/gP kCTOEypSZXc6zJUNKgBI/gAT4f3nwY+9CYajs0mIURF4Hpsn+JE8Fnqwn6PAziI3fMay 0pkQ== X-Gm-Message-State: AOJu0YxxgBeqKRZDoMN9H8rrl55A1piFJlmJNtX5Xpl/TSMlLhnPGQtz 72wDLANR5pZOc2QTKcMZ52jD6hJaIlNRUIw7sIkezb3mfSuhpd9tRdRxbNNCNMjAqUskXRuCJ1L 9ScxGdA5t1ydsGXlNdbmw/JrOdiml2tv3sesmrHSzoklebTMbJCs1nxvmcBSZtNP0LYLD4NAUyY BKn8D+nG6dk8U= X-Gm-Gg: ASbGnctzYgu4JemH+jYgVgrQpesyy6QkVvg0yDXww78+1D5oe/DNR3KM+uh9FPmLInH 9gwC/fpUosGI5ueeeFNdq0KifhPmNgEXlrmUhlYF+or2HJygQM9ZtmVDMpwqjn7rVfnz7CaAhuG Pzq1V1iugkIw4WViyxx7ijqj8Um3X8+8WC8LCt/NwIDQ7e4xHMlpOyy704ztQoKaJNJzt0gm5BI uFoOoqe1U+waBIMItS7H5QMKjanw06cnaNB4835q8ncn+Fu2MliZbLm02HKXhDnvc3DFbS3kzUV +xdg1LGXT1fbDRyACEZfc2DL2aRKf5fc0DdkDrCnE/aaPQpu4KzxZmii703CiGZaO+OJXonC3aG buGFoEPsEErfwTseRd55XYoE4L8oK X-Received: by 2002:a05:620a:430f:b0:7b6:d7be:2e4 with SMTP id af79cd13be357-7c5f9c20a62mr1108336585a.26.1743278845504; Sat, 29 Mar 2025 13:07:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEtZxuI7KFuyNGriQFA4p2UztvV5QERBHCulCcqngaALcaBW3pM7joNSKr774lsk3PTKIjrwg== X-Received: by 2002:a05:620a:430f:b0:7b6:d7be:2e4 with SMTP id af79cd13be357-7c5f9c20a62mr1108334185a.26.1743278845124; Sat, 29 Mar 2025 13:07:25 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:23 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:13 +0200 Subject: [PATCH v3 2/9] llvm: use OECMAKE_SOURCEPATH to specify cmake dir MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-2-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1677; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=Up3cMTdzpBSB2lLY9eOM+XuWIZCZmELrydx0Z1G8gjc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL0zt9T1ErMhrrZrWYHC9llSCwH1OuOG2sNJ 0vI6uS5fA2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9AAKCRCLPIo+Aiko 1VwqB/9q8rn9Sa/uRaNQZFO0vysrsn3jeiJXtZgQbhMfGbEnpJD9mKhGfxAAs14rAT6XEpKpKU1 9vCdMvSM3+QUX0xkv6DmCFm77FZMrGJyiZLl0fVhHnrTizm/b4S3AkMX2+XR2Q8WX4Hs44yGIYA Y2X/EByKpU9nkEerRAI1TxUrQGgjCLvy61I68/psE+CbkGiiAf8bYAhodGnsrmI23ClzZUu4dlW eIXQDPZJJJ8yZLejIYpxcUy5c/sixI6RoUUeEraMdEv1eUNKUHR9Ek3tdYak30zJRkYw1hBSdip H8TS+04wvLh1EBEb8ln9srtran116SxXgkols/AmQemKynky X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=W8g4VQWk c=1 sm=1 tr=0 ts=67e852fe cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=D0RIUQgIwEgepnv7z8kA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: k7l3wrvqJAqr38Erwf-HQCR9W90Kwhun X-Proofpoint-ORIG-GUID: k7l3wrvqJAqr38Erwf-HQCR9W90Kwhun X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 suspectscore=0 mlxlogscore=828 mlxscore=0 clxscore=1015 malwarescore=0 adultscore=0 phishscore=0 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:28 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213896 Instead of pushing an `llvm` sourcedir into S, specify it through the OECMAKE_SOURCEPATH so that all the patches are applied to the topdir and debug paths also use top path to map. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.0.bb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index 296a164cdd7ffb45f056c879cc5fc4fbc459caba..7470d2b4d8a55868fe5d2e88f5843a2ec3faf7c0 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -24,15 +24,17 @@ MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" SRC_URI = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz \ - file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ - file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ + file://0007-llvm-allow-env-override-of-exe-path.patch \ + file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ file://llvm-config \ " SRC_URI[sha256sum] = "4579051e3c255fb4bb795d54324f5a7f3ef79bd9181e44293d7ee9a7f62aad9a" UPSTREAM_CHECK_URI = "https://github.com/llvm/llvm-project" UPSTREAM_CHECK_REGEX = "llvmorg-(?P\d+(\.\d+)+)" -S = "${WORKDIR}/llvm-project-${PV}.src/llvm" +S = "${WORKDIR}/llvm-project-${PV}.src" + +OECMAKE_SOURCEPATH = "${S}/llvm" LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" From patchwork Sat Mar 29 20:07:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60222 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 67159C3600C for ; Sat, 29 Mar 2025 20:07:38 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.17856.1743278849895037765 for ; Sat, 29 Mar 2025 13:07:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=RuXQEHpQ; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TJWDER010998 for ; Sat, 29 Mar 2025 20:07:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Lsu9CYuzgNcf1mzGOXPVNDoxsmAY5YjYnKxsk6fwwkw=; b=RuXQEHpQzpr90QVh SeFq1kTKJ/bwEMLXJbuOxAVd6LSVeiadoHj09hgpcqs5Ymvq4MwgCqjDwzculrM8 RN9XBcJoDD3jdmR8J1dtdrecWjPOr65fWhH5xA8fXs4OVadCr9elGn+2lJx2xkxU 3JvVVkNMHKXe/TwE1NctfWwJwNuEoxwgAGIOwPO2fPnpcSkTOO89J9nhjslhZA+k pbSPq4y7jc86rOiBqJDj5SYNr9C7t2DvGNIvOjIDJBGaD5wM9fBa2BukNza7EDkk NuaZQdpH0iPmER0SfjGfixMgGVb2QOk19a5374zK3jNwH1bsoH1C9kfUTEJ7EF/3 S79gIw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p98917rj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:29 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c5bb68b386so942388785a.3 for ; Sat, 29 Mar 2025 13:07:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278848; x=1743883648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Lsu9CYuzgNcf1mzGOXPVNDoxsmAY5YjYnKxsk6fwwkw=; b=GYlrZcpDGdIjNvGDvH1CQnK6BjZmJFPvVHtTgLzFjiM4/1pFmNTmSYQ+b+/rD5vyou shexOs+BVly30wTTr2fBfqxPqjLwRlv2HYee38v2QfzCMvLf94rtrSLn0na4Yz0/HYPf 4Ob5cBEW0i1aSOXuACs5U0Y7p8RxHvwGZBrrn2Z6J0eXUzfvZiX37CXSW8+fklBnmKkY vEsEDyAQqym5hboO/tSMnZtsRIR6j8QEsRZNyOtGxm1xnwKq2rOjBzeFCUhqyKZMrzf1 BJ5dRrdWA7Tx35nl2z0MnIiQA7nv3i2UVf70lyHzyaFQQzcrtzDogp2EN4s3aUzDBR+x WI5w== X-Gm-Message-State: AOJu0YxelmB2NaQp0L57IaK03HjEzK762uh7HovxZxcc2vRX7JzXQLjW C4xNKCdvDYsIa6FXbwuk/A/780uvk9hoYRbDP1ONKAkgwwZmOpsj7GDlzv8C9BwRBpqHe3fLHR0 GpR5rY7EKboya4M26TdWjFAbrUfVJDcOWRsIDfcFRSjBRnA4oFAOPaPN1cDq3DDnJPnQ3BvFbd+ ysS+PCwJq6BoQ= X-Gm-Gg: ASbGncvwJjrR2wWzVt7uOoy1P1VnwG47NkImXy90KMkepKSuBxHrnNsy53/SwTDOx5a 60WrsXt60CQnZscMPWRC5rxtKVwFdlQijpRpawkzUTSPKxTIjVaEVenpYt3YQ0UOCtsZx/YME7M p4786Gb9wEP1550RKIM7bYBdnmFuHvVIbGFxnIrYnPO7chLOhtg7T4kdfujQGN5SIFMzZ/U5zPC kAZ8+rGhA2IsX/6+u07FZMhnXZnbuaQXht8I+C7EE+U2STJr04mNFctLMjN+BPv0CMQSPrIwD3F Mv6jAyt5sVRY5C6l1wLOOM+MUTlzeT/2LovyjYMosPYKuJftZwCifglHx82wZnTttY5EuYhMdjp 549ZG3nLRgS1JJYsd7dc9xYUXCyMU X-Received: by 2002:a05:620a:2a0b:b0:7c5:43c2:a907 with SMTP id af79cd13be357-7c69072edbcmr490409885a.26.1743278847964; Sat, 29 Mar 2025 13:07:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFTVi7NDzyhfhZreaAvJB+oO36VjvxwC/6pzeV0m7URqncPIeE64uprDXATSO1eUb57UdA03A== X-Received: by 2002:a05:620a:2a0b:b0:7c5:43c2:a907 with SMTP id af79cd13be357-7c69072edbcmr490407785a.26.1743278847647; Sat, 29 Mar 2025 13:07:27 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:26 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:14 +0200 Subject: [PATCH v3 3/9] llvm: handle libdir in llvm-config MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-3-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=905; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=IuzzLH49YcN+VIIkSFokCKJ3AWdCIlrAtboeqw5vZ2E=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL0Z3EbWrXrrUljBtzfENoWv+gyGcHW1Wavb O8BbSV9CVmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9AAKCRCLPIo+Aiko 1QJEB/9Uxg+wtREwf10sSIhg2Fe0rtmAN/tAX9Z6EdnQCXz3myAsmPZ5xa8iOrdTFCNn62OXhWX A+YqF6iVATFKjZlnh/Bqb5NmQOttZ6r6heuxttEbmL76URv+N03TSy9MqUuW2d1OrHR4i23AyWH doJuxXKBrAPrCcE5QbSVAUlxoQNJCErW7ph9ZlCMyiwobiw3MlRuYyuG/E3+I8WgWlS6B09gDHL W+21u2Fmd6uYR/S5KgohstZeOLcy2dofjiXH9Fw+DkwAf0U6+f6m8m5x2+fYNBNfI+sGoxrmPB4 lacWGy6hI5ath7pedrmUO39eKynEaquFingU7+MVmt+AYRXC X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=fIk53Yae c=1 sm=1 tr=0 ts=67e85301 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=EUspDBNiAAAA:8 a=DFIL5-tCekSmT_aHp3cA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: bvbwffH5cfFTElVPWedk9KPXgrFejiHJ X-Proofpoint-ORIG-GUID: bvbwffH5cfFTElVPWedk9KPXgrFejiHJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 mlxlogscore=740 clxscore=1015 lowpriorityscore=0 spamscore=0 priorityscore=1501 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:38 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213897 The llvm-config wrapper also needs to override a --libdir switch, otherwise software (like mesa) end up using TMPDIR-based directory for Clang resource lookup (and also encoding TMPDIR into the target binary). Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm/llvm-config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-devtools/llvm/llvm/llvm-config b/meta/recipes-devtools/llvm/llvm/llvm-config index 5e4ded2da5bc95d429c6f717a2f25223bbbe210e..6cf3e7578fa96f2893f73077bece4db45f29547c 100644 --- a/meta/recipes-devtools/llvm/llvm/llvm-config +++ b/meta/recipes-devtools/llvm/llvm/llvm-config @@ -35,6 +35,9 @@ for arg in "$@"; do --libs) output="${output} -lLLVM" ;; + --libdir) + output="${output} ${libdir}" + ;; --link-shared) break ;; From patchwork Sat Mar 29 20:07:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60223 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D149C36008 for ; Sat, 29 Mar 2025 20:07:38 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.18126.1743278853591289598 for ; Sat, 29 Mar 2025 13:07:33 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=AcDjGBmv; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TJgLoB006996 for ; Sat, 29 Mar 2025 20:07:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7J47L+zwOpRLo4MreuwV4e/sb85z4jvSQbX1G4Lbzb0=; b=AcDjGBmvgUjKl4zo xDmkomDr2QNH/PI4TtsGCaNIh4rHbsRCg/zB5cm0xZQIJnTpiqNkJEIzDpC28aRc zPPUayK/Rynl5TQSCymQSGDlevYHxyBUTEeGNpo5CZHTQ9tPE6qIpVhxCMIB/Qr7 SFd0cUmnR3f2jGSJ/C8tvCVAJwPOEZRWO9LNilZuP480kgGOncoo3CG8FXKm+EiX EwrrXBTArhMOvuIwDANBRnMEreYuOacU/yjx3aGnSJj6tWY6BG2ai9LF9XEbxmYn vv7IONUv/fimxLLBoI61pIQL5mUQOi01ZkYk02zB3kvrUflL4H3PXaK4uX94yybR ZrDiEw== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p7v89bnx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:32 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5e28d0cc0so522549585a.3 for ; Sat, 29 Mar 2025 13:07:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278851; x=1743883651; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7J47L+zwOpRLo4MreuwV4e/sb85z4jvSQbX1G4Lbzb0=; b=cM0Bstm7ByLWHVaBAZP6p/q+1SlxqX4+S44FzHC6V2gx6QYv7abyz1Yvrz+cU1fVzK 3U54eIOw4xyhN07iSDgnj3OZ9EfHwJnsetQTHi/osFdXEJW1Q1pm1/hpOD/hqsQ+o65y lWbyxkqYPUj4tBKBEv/u/U3tQRfEcSqy6mgJiWmH8QLw6FAbOHLMxWiG3b0T9hbZieNs DlWQnYE6fzd9gsqeXBxDG7LOYHuwvJOCAJr+GeYqXvzmthV8HYvtazeuSndnq5Guj/Wi 8TeVHW+LJ56LfGmsCSm7hW7+kqbqYE7iRXj+sV6Y+ikL99tHeWsog2FRUhgabZ4UorlR CsKw== X-Gm-Message-State: AOJu0Yyi5PrBsNos1TlpBoULsVqbwGS1j+FI3zgELtFFZRPNl00gxjt4 iqGmx4YcB8NE16J9vt414IyQZHdTxVJF1ys4X9C646aHqTzXk+R0rmrooH2U0C/TLSXUfjKU9Ts mMADWuN3ucln1UkfXr7CYVbvjvS7HJJxG4mkn2gNeaPrVelGbhIdTZO2yt1Wem0Wp47w2IPNDBI keEz9TKg1uwU4= X-Gm-Gg: ASbGncsbwgswm+LiCR6c23qyavlr/7aLuabOjSD8BwmwN6PiR5humu7yDIheC8Tvybt DlEuXFkpB+lHrEVXcwAdXgYaXsA26fyWWHAy7NFd05IbzIIBZgOl5edNEt0xUPemmHuNax4rWmh Px3d1BTLE9IvZxHIC3WI0y/6zSpM0uKcM47o3Zz5y4F3UVEnf9aXt0DlVmyIggrb6SRr+bbVsap hssmoCqmOTnngz8FOd/dN+E0j5oRCTpkORLCE7CR9/IZhRT+1hF9m4iG0MuMCrOhH7kzhrNqvAP ROYCLbuKwqK/TNAA8xeLam3CA1Td6vot+e5YExg2OqqU297dldNKH4e+wZbuip9CXV9cZXcMwLx 9SjMDuplR6U/5LFeyF1KYGdPZzBQb X-Received: by 2002:a05:620a:c50:b0:7c5:aeb9:b156 with SMTP id af79cd13be357-7c6862ea59cmr417953885a.2.1743278851545; Sat, 29 Mar 2025 13:07:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGpsqJVRyWFi6bLa3XY2NeYJMCUZZbjh4Xf/YEk3XVjNkkA3fULXlSSQZV+T9oGTHRXrhKfYg== X-Received: by 2002:a05:620a:c50:b0:7c5:aeb9:b156 with SMTP id af79cd13be357-7c6862ea59cmr417951985a.2.1743278851202; Sat, 29 Mar 2025 13:07:31 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:29 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:15 +0200 Subject: [PATCH v3 4/9] llvm: also use llvm-config wrapper for nativesdk recipes MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-4-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1022; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=lvHFxfWojx4YFoCxuoF2UZUlSlA3hAMgbD6jpGhXbeI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL0AUurnRrRj5h5A+X6tg3U+KZKjt8vywrWA hEanEk/sLGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9AAKCRCLPIo+Aiko 1T1yCACGf98BG4p7BWHZ3kv9O9uqciYFZaFbtkKuKLnq99Nr6x2Ok5bIJBjXFO2U1bK2+RbBHya Hx+Al9WUazOMMjdlxHsDZMC85nhgi01ZqrhjcD0FTvPoPvP50BkFmsaaGzo95eZgfeOuVw1AfvU XDlSKtdqsnb5fbZ0grbhvaYmKLyLtxLwLEZ3U1skYV45XU4//vMqTMFmPIZs5zIy11b3aTnZmk1 owQGkQ77s8NOdvNzHtfKS02krcaQBb00trKnaSgqZRnVcKag0Zfd/HbNE8uOLQsaubwytputm03 uH4/MUdAZ0dOTptKzsnCh/tVbRPhXv5hFJk3U8xIlwu0H45s X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: macr0ED7QY2u_fnhMEkWPZHcWzhqoe0u X-Authority-Analysis: v=2.4 cv=fdaty1QF c=1 sm=1 tr=0 ts=67e85304 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=EUspDBNiAAAA:8 a=oZP-O3FlLgu2oLpOfcYA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: macr0ED7QY2u_fnhMEkWPZHcWzhqoe0u X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 malwarescore=0 suspectscore=0 spamscore=0 impostorscore=0 priorityscore=1501 mlxscore=0 mlxlogscore=704 clxscore=1015 adultscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:38 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213898 The recipes targeting the SDK (e.g. nativesdk-mesa) should also use the llvm-config wrapper, otherwise they get get a lot of incorrect flags, the most offensive being the rpath, as it results in TMPDIR being a part of the resulting binary. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index 7470d2b4d8a55868fe5d2e88f5843a2ec3faf7c0..c1c4138e8cc16b8b4ddfa3355a6141b5fede569d 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -138,6 +138,7 @@ do_install:append:class-native() { } SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess" +SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " llvm_sysroot_preprocess" llvm_sysroot_preprocess() { install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ From patchwork Sat Mar 29 20:07:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60221 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 672E6C36011 for ; Sat, 29 Mar 2025 20:07:38 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.17859.1743278857156151411 for ; Sat, 29 Mar 2025 13:07:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=d9fmXAYD; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TJw22O020929 for ; Sat, 29 Mar 2025 20:07:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= zCYuqQAwm+qvuFDecmbrJ/S6B3psnZkne+2Zb7bVK1k=; b=d9fmXAYDYxWhv0G4 7lqY84HznJxHZIsIiHZmDKS2asdqhZkOPAL/8ikDzchJCvHnjFnCjAAE434FJHC9 7nnhfHXqybscH8XM0+k05aSDeGiY7E42IHbWAWo3JZQvDxWqsFWeBaj4jsiBXepo RWUroNwV0kW0gc7qLvAT6dWnXLcJzUPi1QF9wWCeBtjetjGXD1aG9HLwn7Nm5ZTE BdnUlFZPQyj365nlxB1xyEVaJZvKRPwjRGjY7aaPGq/HHy0/lDU2dr5tUsWT1vYc AXsehLBHlgd7UTbx+7lstoH/1nhumwSrlXg6nwiZsz4ZbXq+wUc9RNVkC2zDCwoJ +Io8QQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p98917rw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:36 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5d608e6f5so871653985a.0 for ; Sat, 29 Mar 2025 13:07:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278855; x=1743883655; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zCYuqQAwm+qvuFDecmbrJ/S6B3psnZkne+2Zb7bVK1k=; b=Sfbm+bd0mRBiCgof2EfwcMkxlQVBUluheeC8bMVV8fBFip7lDPLfxVm9XL/gFQ9oyv FdZI4dAsOgnNqUVjBb8RV3M2qY5Swr2LCQ/g/fExv2bloBPcGdoHyEzyRMMBa8LQ1Mmh 9rAlsaar8UfjWMpUjIbBfQMIUN5aTzjNcyJKNaeuKwra9QSnFPWh2rHr+37QkdJiXSs/ 7xQCADZcVxhpV6Qz28JDf/pkrL/4uVNUa5cmaohOjfRTCX7ihv72yNmsW5y4XjuXm8FK qbc5DJkb66CTuiLRY8eNvamNyHammyoBXJscbe046KuQFGrCrqOodNxTNPwFbjTCPylJ vhRw== X-Gm-Message-State: AOJu0Yy+VdKg7BCIQevfmebJ5WLTXaWhuXeRRsHzfdpW5eBBRQd69N2M nYBWSd1rVmkBy6ogeVPaV864MMFQ/VlK31M7Xjp+EwU+CIBoLDnezSbltyrvLxyUsI8xAlYWy6Y XsX6DvIwi3NMSAouWmyf0CsskwUu16aCbwd1GuhOCHW/EsxQNKlzdDEQJwGRtjHI/zoYiUZlO0m gPK/VpJvX5Tjs= X-Gm-Gg: ASbGncv4c2YHPKyQCcfzFqbvU5+4n/E8SWsJFU9vlr+wyGQbQ6LW9pOW49vWQH2TXow 4h73jGC/5AKBQIdFNuMomwc/JobotMCV9EoAZcBH3z6DhMNkCNfPTMNMQH73fkOKJiWwhr4ROpp 73jfqhmDmt6Yaw/6hOu1NIHXYIS9eZCyiqUbcnmr48gKknntHoUuCrZq3w9b4vEeGjZf4K/tq24 H7j3zBY+qIt7firCCzB5vjaf4vCIUZBkqn8QGghT7VAsrFAno6PZFSVfnbE+AsmvDEyRCW+Y+ng rb5l82T8iv8P2G+yo7to0lU7a/E4coc5LBq77LPZmDuF5jqj23wM2it57OCW2B3mcNVFaUASaBG PD9SNittEHyiCcffSHmEk9MD/2u2t X-Received: by 2002:a05:620a:4555:b0:7c5:49b7:2372 with SMTP id af79cd13be357-7c6865e89edmr460006985a.18.1743278855292; Sat, 29 Mar 2025 13:07:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF5QmLwBP1mut0pbUOIRMse+CQs4OyWeiOj9oOivpBuQMP9KBKTzftUJ9zF/O8dWb7JXNXU2g== X-Received: by 2002:a05:620a:4555:b0:7c5:49b7:2372 with SMTP id af79cd13be357-7c6865e89edmr460004685a.18.1743278854865; Sat, 29 Mar 2025 13:07:34 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:32 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:16 +0200 Subject: [PATCH v3 5/9] llvm: support building libclc MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-5-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6314; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=8xUkgvS1f0bc0MUhvxud8dSetE86Xzem5jHgjAcagvg=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL02FhDKS6ELItLL4JalDq3HYGspa7134MeN khaiicUE92JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9AAKCRCLPIo+Aiko 1VLBCACzuBgwKkQLvHNSDXVj5+k5S+oIEWQnnFiyNH0JH8izEmZ2mKVGVwfVTbK/SVwRqDjT+Cf W6eqb6ip3acZnrNWRX7n2gOmBjP0IPYFTl1d1XUAteemePdBDKBU7cYtUi2KYBq0vIoeeiZgFct 9VhF5C21WVWjeOz7OpYBNUYPnDP3aou1e6ShiGba62bOnn4uoy5WcxDT3eannMEKJ4p3RZgA5qr coxS+zNav439gcY5Ha8ZRpEVkK/PZEG8wrzpDbnrO9leZU6Oa7e65ULTFQrO9rIoY78wrHbwIiI ks6/SGv/aKg+/ZKR3UVAflk2kVRirN0ejFXo7l+R9ZHB7sUd X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=fIk53Yae c=1 sm=1 tr=0 ts=67e85308 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=Twlkf-z8AAAA:8 a=EUspDBNiAAAA:8 a=-uxSO3zEkdLPsdym20oA:9 a=QEXdDO2ut3YA:10 a=a97rIl97qucA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=-74SuR6ZdpOK_LpdRCUo:22 X-Proofpoint-GUID: rQW6ou-GXpOutq6Mriz4tSUoNOKzr2F3 X-Proofpoint-ORIG-GUID: rQW6ou-GXpOutq6Mriz4tSUoNOKzr2F3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 mlxlogscore=609 clxscore=1015 lowpriorityscore=51 spamscore=0 priorityscore=1501 bulkscore=51 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:38 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213899 Current Mesa requires libclc in order to build Intel Gallium (iris) or Vulkan drivers. In order to unblock Mesa updates, build libclc as a part of the LLVM build process. The libclc requires Clang for building, so enable Clang too via LLVM_PROJECTS. Remove clang from the DESTDIR, so that it is only used during the build process. Proper handling of Clang as a toolchain is a separate and much more complicated topic. Clang is enabled for all kinds of builds as it is a requirement for libclc to build. Cleaning of ${datadir} has been moved to happen at the end of do_install to be performed after do clang removal and made not to fail if ${datadir} is not empty, as libclc install files into that location. NVPTX and SPIRV targets are enabled since they are required for the libclc to link. LLVM_NATIVE_TOOL_DIR is used to pass a path to the native tools built via llvm-native instead of building them during the target and/or nativesdk build. The llvm-clc package is set to RPROVIDE libclc (and the recipe also PROVIDEs libclc) in order to be compatible with the meta-clang packages (and to be future-compatible with the split package after proper Clang support is introduced to OE-Core). Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.0.bb | 40 +++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index c1c4138e8cc16b8b4ddfa3355a6141b5fede569d..84345531714baa308077ff55b90d015f6fa167e6 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -56,19 +56,22 @@ def get_llvm_arch(bb, d, arch_var): def get_llvm_host_arch(bb, d): return get_llvm_arch(bb, d, 'HOST_ARCH') -PACKAGECONFIG ??= "libllvm" +PACKAGECONFIG ??= "libllvm libclc" # if optviewer OFF, force the modules to be not found or the ones on the host would be found PACKAGECONFIG[optviewer] = ",-DPY_PYGMENTS_FOUND=OFF -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF -DPY_YAML_FOUND=OFF,python3-pygments python3-pyyaml,python3-pygments python3-pyyaml" PACKAGECONFIG[libllvm] = "" +PACKAGECONFIG[libclc] = "" # # Default to build all OE-Core supported target arches (user overridable). # -LLVM_TARGETS ?= "AMDGPU;${@get_llvm_host_arch(bb, d)}" +LLVM_TARGETS ?= "AMDGPU;NVPTX;SPIRV;${@get_llvm_host_arch(bb, d)}" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" +LLVM_PROJECTS = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'clang;libclc', '', d)}" + EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ -DLLVM_ENABLE_PIC=ON \ @@ -82,6 +85,7 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_VERSION_SUFFIX='${VER_SUFFIX}' \ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_ENABLE_PROJECTS='${LLVM_PROJECTS}' \ " EXTRA_OECMAKE:append:class-target = "\ @@ -89,6 +93,7 @@ EXTRA_OECMAKE:append:class-target = "\ -DLLVM_HOST_TRIPLE=${TARGET_SYS} \ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \ -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \ + -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \ " EXTRA_OECMAKE:append:class-nativesdk = "\ @@ -96,6 +101,7 @@ EXTRA_OECMAKE:append:class-nativesdk = "\ -DLLVM_HOST_TRIPLE=${SDK_SYS} \ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \ -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \ + -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \ " # patch out build host paths for reproducibility @@ -124,17 +130,39 @@ do_install() { # Remove opt-viewer: https://llvm.org/docs/Remarks.html rm -rf ${D}${datadir}/opt-viewer - rmdir ${D}${datadir} # reproducibility sed -i -e 's,${WORKDIR},,g' ${D}/${libdir}/cmake/llvm/LLVMConfig.cmake fi + + # Remove clang bits from target packages, we are not providing it for the system + if ${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'true', 'false', d)} && + [ "${CLASSOVERRIDE}" != "class-native" ] ; then + rm -f ${D}${bindir}/clang* + rm -fr ${D}${libdir}/clang + rm -fr ${D}${datadir}/clang + + rm -f ${D}${bindir}/scan* + rm -fr ${D}${libdir}/libscanbuild + rm -fr ${D}${datadir}/scan-build + rm -fr ${D}${datadir}/scan-view + + rm -fr ${D}${libdir}/libear + fi + + # Try to clean up datadir if it is empty, but don't fail if there are + # libclc files there + rmdir ${D}${datadir} || true } do_install:append:class-native() { install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV} ln -sf llvm-config${PV} ${D}${bindir}/llvm-config + + if ${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'true', 'false', d)} ; then + install -D -m 0755 ${B}/bin/prepare_builtins ${D}${bindir}/prepare_builtins + fi } SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess" @@ -146,9 +174,11 @@ llvm_sysroot_preprocess() { ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} } -PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto" +PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc" +PROVIDES = "libclc" RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks" +RPROVIDES:${PN}-clc += "libclc" FILES:${PN}-bugpointpasses = "\ ${libdir}/BugpointPasses.so \ @@ -181,6 +211,8 @@ FILES:${PN}-staticdev += "\ ${libdir}/*.a \ " +FILES:${PN}-clc += "${datadir}/clc" + INSANE_SKIP:${PN}-libllvm += "dev-so" BBCLASSEXTEND = "native nativesdk" From patchwork Sat Mar 29 20:07:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60224 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6C29DC36014 for ; Sat, 29 Mar 2025 20:07:48 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.17861.1743278860009276325 for ; Sat, 29 Mar 2025 13:07:40 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=P1tL7Lve; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TJOkPN013835 for ; Sat, 29 Mar 2025 20:07:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= cyObMMbIWnDCspubLYE7fEt02BK6SyUeFrlsbTGApjI=; b=P1tL7LveZe3LYho3 zIHnxbsIjn6qGZAmYOJ7NssmJE73RXR4++aT/lwN0lLgkV38ZtHtIuX3KzHx5k0R cMywdSQn8rCYeau5UeU4RUhgcpKZYc8OGfI+P/AmBb9EgN0ylR3Uwr2F8JQmaYk8 AQ01rpAqm0mB4dSTb4ZHj6uNlFqdFQl/jrlFaxa0Jo8S/k6cm9wukvdsKSfs1MGt /0pRVGU2jP2qzXmZ0UXYmXUJQrbMmEW+UNcgILYNOFEUV7F9CPnMX37+8A/Dzna5 u9UJvm2m4v8IAPDJd0Shadx9bLoFI42sneD4b8cnuMzE4EpJBCIPyCu1HE1C3RXs 6K2fqQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p8xv98hk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:39 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c0b0cf53f3so503831885a.2 for ; Sat, 29 Mar 2025 13:07:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278858; x=1743883658; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cyObMMbIWnDCspubLYE7fEt02BK6SyUeFrlsbTGApjI=; b=erBdYatTWEnVkbsl1nePEAeZi+tqRUtp1TS3Uj+6yNl9aLaVdML6IXDKVCxpQLoERQ fHwLMYsnHa7OB5VqQ1rD2y2j8zBHyEJbkOzJwOVTdg6v47tDXjNpzGGSDSjE2/ARITuZ r83RTzzSdTu8r30+H0bdaIJQ23flJh+j4vTx1HYdGcOXEKG5eby7FPmDbp/39kRq03LB WkEW5/oJVl+0eosbhuoQXcHIObGBsdM39vpP62SNH1JsINWaILnuhWA4X2TuTaz9hXgd +ioCafkty2VFehtq/eMTFlGXW84blTviA2y/jsLdA6p3EFa/kWi5zYgW6bRwg4akrK8N pOIQ== X-Gm-Message-State: AOJu0YwS/uF0tJFDzwcimb3NLtiknSXCrxuhtPxc/8NbyfxS11zfcKQZ ji2o1qv3hQvLZCQatd4gf4Pqk6jd/iszmcTmd4L4AO2Wa6bEN0UxCZILb6xb4RI8cxGsmE7jK33 3dZ6iWbI35ad16ENrBssYwmhGz4TtplE1QkUZVOhRgD+VGHhs7uPPtoXxchR212i4kQJkKp81i0 L0/gYuz3q8IQM= X-Gm-Gg: ASbGncvcLOrHUJP5tsdYCmSZeIzR4QEQ85uft1WtAbe7QjM7ut08mKK4Drpa8mNeb44 JhRAWX1T2WUTdsmI4QxFS8i1Sf76nobpjL4aGugJucLFzV/KLnlo2257drW6Mn3s4GH/wb3XTK6 21IvON4p/Zw8rSaAvmMyr2rdmQD2PtgJ+KpkCtQaxYy5A2K8ftxdnsJteiw2mQXMazhBRXvivCd pz/99F1splx5w3tBdLe3hUniKlYJldIOyHdSUhDn6LFj8vJRwFm0k83KXJ64hRUNNuI9pgtQcrW zqCoYK46EhgjGrf78eV29eLTaWgwTM2gVxsawKfB/jIu+tMLFCd8Sb2Q8Y6mmtWZVqbwD8M/oqJ Q7P3rHfOAeStHEdmvM0qt7V9Kp6O2 X-Received: by 2002:a05:620a:2494:b0:7c5:99a6:a1ae with SMTP id af79cd13be357-7c67d22c22bmr488563185a.0.1743278857849; Sat, 29 Mar 2025 13:07:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFvDwdTKorc+7HLCkvyWIlxfdZcLX0oZG7+/ZEp1V/QrUfcL/GhyPn7tO7pt7WvSBdWEyidiA== X-Received: by 2002:a05:620a:2494:b0:7c5:99a6:a1ae with SMTP id af79cd13be357-7c67d22c22bmr488560585a.0.1743278857471; Sat, 29 Mar 2025 13:07:37 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:36 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:17 +0200 Subject: [PATCH v3 6/9] llvm: add SPIRV-LLVM-Translator support MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-6-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7041; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=0t52XQmcNxbHcipnHSDPFwtUM4TdZrAWToPhySXflWI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL1GN9nC40FcdelvUAxla7OHUijYTXwGlMyM QRCaksRk56JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9QAKCRCLPIo+Aiko 1eaVCACUrlwBTnEPimfxKEa0Eb+Vb5YWTb1+i3NW9r7d35AyBby7rtSX7ACZIeshNzq5opD3G+P dH4O3Bb2bpjPmkf9aXInf4TZ+HuuwEyuQTJdo7Ej+k5+a/YMOfjiR37QYDPZ9ooxUtz8PG748dx 1EzayEvL7cW9ql0FKBDX6ZHO2BuQJ9bF5cCfT6e43Vkqi7FV294zxXQHFlRZH36gVsK7fFFG21a Fvs9/AgTHdWyS2Xeg0fk8ynLOtcqYAZ8vCc142YElm8nz2fNY3B09rrRDnyI6lAWl+ToG1GeINn axYpeD1ALfEB4hQ7dOUrfnS5v9rRyoIQad/nd1hoFCmMn8lN X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 3ks5AnL9BW5iHSLefA_qRZJ-adM3of_f X-Authority-Analysis: v=2.4 cv=PquTbxM3 c=1 sm=1 tr=0 ts=67e8530b cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=xUEQSCNU_4zy9qS9kesA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: 3ks5AnL9BW5iHSLefA_qRZJ-adM3of_f X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 phishscore=0 mlxscore=0 suspectscore=0 spamscore=0 clxscore=1015 mlxlogscore=999 impostorscore=0 malwarescore=0 priorityscore=1501 adultscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213900 Mesa builds require SPIRV-LLVM-Translator in order to build CLC support. While it is possible to build it separately (like meta-clang does), it also requires a separate clang compiler (which OE-Core doesn't provide). Use an alternative path and build SPIRV-LLVM-Translator as a part of the LLVM build process, lifting the requirement for the separate clang. Once Clang is properly integrated into the OE-Core layer, this can be split to a separate package and dropped. In order to ease migration from meta-clang and to ease future split, PROVIDE the spirv-llvm-translator and make the llvm-spirv package RPROVIDE spirv-llvm-translator. Signed-off-by: Dmitry Baryshkov --- .../llvm/llvm/spirv-internal-build.patch | 30 +++++++++++++++++++ meta/recipes-devtools/llvm/llvm_20.1.0.bb | 34 ++++++++++++++++++---- 2 files changed, 59 insertions(+), 5 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch b/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch new file mode 100644 index 0000000000000000000000000000000000000000..555d40f4fb07342cc204c7c578662688605b2cb1 --- /dev/null +++ b/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch @@ -0,0 +1,30 @@ +From e94e529aefb28b65165e978daa2bfd89867ee8d0 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Fri, 21 Mar 2025 17:17:52 +0200 +Subject: [PATCH] SPIRV-LLVM-Translator: fix handling of built-in SPIRV targer + +If the SPIRV-LLVM-Translator is being built together with the LLVM, set +the defines declaring whether SPIRV target is also included into the +LLVM library or not. Otherwise llvm-spirv execution fails because +spirv-ext option is registered twice. + +Upstream-Status: Pending [will be submitted upstream after internal clearance] +Signed-off-by: Dmitry Baryshkov + +Index: llvm-project-20.1.0.src/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt +=================================================================== +--- llvm-project-20.1.0.src.orig/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt ++++ llvm-project-20.1.0.src/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt +@@ -116,6 +116,12 @@ if(LLVM_SPIRV_BUILD_EXTERNAL) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) + set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) + endif() ++else() ++ is_llvm_target_library("SPIRV" spirv_present_result INCLUDED_TARGETS) ++ if(spirv_present_result) ++ set(SPIRV_BACKEND_FOUND TRUE) ++ add_compile_definitions(LLVM_SPIRV_BACKEND_TARGET_PRESENT) ++ endif() + endif() + + set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index 84345531714baa308077ff55b90d015f6fa167e6..9ae5a5d380f074d942c94d4169671f42355c20dc 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -23,9 +23,18 @@ MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" +SRCREV_spirv = "68edc9d3d10ff6ec6353803a1bc60a5c25e7b715" +SPIRV_BRANCH = "llvm_release_200" + +SRC_URI_SPIRV = " \ + git://github.com/KhronosGroup/SPIRV-LLVM-Translator;protocol=https;name=spirv;branch=${SPIRV_BRANCH};destsuffix=llvm-project-${PV}.src/llvm/projects/SPIRV-LLVM-Translator \ + file://spirv-internal-build.patch \ +" + SRC_URI = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz \ file://0007-llvm-allow-env-override-of-exe-path.patch \ file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ + ${@bb.utils.contains('PACKAGECONFIG', 'spirv', '${SRC_URI_SPIRV}', '', d)} \ file://llvm-config \ " SRC_URI[sha256sum] = "4579051e3c255fb4bb795d54324f5a7f3ef79bd9181e44293d7ee9a7f62aad9a" @@ -56,11 +65,12 @@ def get_llvm_arch(bb, d, arch_var): def get_llvm_host_arch(bb, d): return get_llvm_arch(bb, d, 'HOST_ARCH') -PACKAGECONFIG ??= "libllvm libclc" +PACKAGECONFIG ??= "libllvm libclc spirv" # if optviewer OFF, force the modules to be not found or the ones on the host would be found PACKAGECONFIG[optviewer] = ",-DPY_PYGMENTS_FOUND=OFF -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF -DPY_YAML_FOUND=OFF,python3-pygments python3-pyyaml,python3-pygments python3-pyyaml" PACKAGECONFIG[libllvm] = "" PACKAGECONFIG[libclc] = "" +PACKAGECONFIG[spirv] = "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=${STAGING_INCDIR}/.. ,,spirv-tools-native spirv-headers" # # Default to build all OE-Core supported target arches (user overridable). @@ -70,7 +80,9 @@ LLVM_TARGETS ?= "AMDGPU;NVPTX;SPIRV;${@get_llvm_host_arch(bb, d)}" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" -LLVM_PROJECTS = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'clang;libclc', '', d)}" +LLVM_PROJECTS_CLANG = "${@bb.utils.contains_any('PACKAGECONFIG', 'libclc spirv', 'clang', '', d)}" +LLVM_PROJECTS_CLC = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', ';libclc', '', d)}" +LLVM_PROJECTS = "${LLVM_PROJECTS_CLANG}${LLVM_PROJECTS_CLC}" EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ @@ -136,7 +148,7 @@ do_install() { fi # Remove clang bits from target packages, we are not providing it for the system - if ${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'true', 'false', d)} && + if ${@bb.utils.contains_any('PACKAGECONFIG', 'libclc spirv', 'true', 'false', d)} && [ "${CLASSOVERRIDE}" != "class-native" ] ; then rm -f ${D}${bindir}/clang* rm -fr ${D}${libdir}/clang @@ -174,11 +186,12 @@ llvm_sysroot_preprocess() { ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} } -PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc" -PROVIDES = "libclc" +PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc ${PN}-spirv" +PROVIDES = "libclc spirv-llvm-translator" RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks" RPROVIDES:${PN}-clc += "libclc" +RPROVIDES:${PN}-spirv += "spirv-llvm-translator" FILES:${PN}-bugpointpasses = "\ ${libdir}/BugpointPasses.so \ @@ -213,6 +226,17 @@ FILES:${PN}-staticdev += "\ FILES:${PN}-clc += "${datadir}/clc" +FILES:${PN}-spirv = " \ + ${bindir}/llvm-spirv \ + ${includedir}/LLVMSPIRVLib \ + ${libdir}/pkgconfig/LLVMSPIRVLib.pc \ + ${libdir}/libLLVMSPIRV* \ +" + INSANE_SKIP:${PN}-libllvm += "dev-so" +# SPIRV-LLVM-Translator provides only static libraries, they are included into +# the llvm-spirv package. +INSANE_SKIP:${PN}-spirv += "staticdev" + BBCLASSEXTEND = "native nativesdk" From patchwork Sat Mar 29 20:07:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60226 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6C241C36011 for ; Sat, 29 Mar 2025 20:07:48 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.18133.1743278863303078413 for ; Sat, 29 Mar 2025 13:07:43 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=hP+cOt8i; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TJAMuG008232 for ; Sat, 29 Mar 2025 20:07:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 6V19ReEh0m18nF2JGul6zjxSVNMkzmEpiiAhYXElEJU=; b=hP+cOt8igZFTTaiN QiRVBN1Djczm53dtfyLWAZy29we16g9oR5u9pfK6QjnVifX18M4Ge9j1QnZZ/SnC nWFKhDCkKjJojazZej9MQ4HAyAeXIu1Af0+rtLtO2N+UeYpk5+c7f2RDU0wuetq+ 277tMWZYUrAFBPVHqgI/jMj+EA2P0DSdLU7clIpf3YVNEQr7uxAVi3K5YNx1bNEo 6akeF0RWHLXXfl2ss+ir1NQMqrlDpmq09++jLsVEOzRghk1JmNkUk+EPuWgz4lMq EVBuH0/w1j5mrElJ5OkD0rdkLxixKEGpin3GkVjWEP6T+NN59GCli6O2Gw3RipUR 8eji/g== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p98917s6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:42 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c5e28d0cc0so522564585a.3 for ; Sat, 29 Mar 2025 13:07:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278861; x=1743883661; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6V19ReEh0m18nF2JGul6zjxSVNMkzmEpiiAhYXElEJU=; b=oevem/Loar0CLA+lOdjQwXnlshRf70+8I0lV/w4/QWtOX5pjPVtm+QzxIpgaVuA7IO 5tJyhAe3VIWmCau1rh1yu+N9C/DXHxrsgunlh+dD5F9S1UxlqOaDSwbQ7SjE6zeTPKS6 wK+OCs9Fj4H6UwM1KwABmnacrEmwJT5dYJoz5YVeErakKIYNJ8xVkKB2Z3zJXpaiebSx SHtt5yPGxDOvfMkKatC/lXY0pPmBzABK/XymzSB4z5yeczOELmwW1gjd/51zYcaY3PZI yo5rAelZEsrpzu5XKJzblWlRj9RB3ixSjzrtB8sKSEDdBpYezLbJtamZuDtZ5TN5/Uo+ 5ROA== X-Gm-Message-State: AOJu0Yx1YDzOCSrz9qxoEKbevAa0m1/DCPRW+JTQFYqymRU+PQQdDqsN BCVrOCA2JHVmyLxMhm9D1Bn7nZhDLtIbcMhqEoHT0pmhynYLBMAb9PXERwzNkQPusqV8SsGVhDL tPryZQ2QpatFLZeIWbFX5o3xMOP+hzqGEHZahcdYR/xJxenRTJxwtbLB6J4Lb7DQV4YVlRw4ZgD X8ckHz8pT6ImY= X-Gm-Gg: ASbGncv097zzPX7K9iYo2Z6MnvDPKQ4xnmmQlJwZA37g0gXabnDFJDPXB47KI//+UbN F1T3A3co1fW1U1hx8bNNGQdFXWMuHZcNFAGzYaU1TApYRYRl3ndfd07b/OEwzYXX88zXXu6McDT ZkXhi4iNBbnV212xoKDt385XOCrSYdegyld9llQHocnGN9Zj1W6tMHR+GCkkvzJ3V+SDiW0x9Ht nPx2j9l8zFGRpcUtIPA/v3X9AET7T3LAj27Kx7g0lc8J8xoI+oOke51puSAnkrShSJ5J2YqO0NK WLzfIbnSP/L7RKl5il26tUdC4arnwaQ0JMEMbqPqzJJqvklbnwOcTJ01sk1jPf6XkI/f9glCwLj weEaPmeGcWh5y9eabNudIwcIYZiJq X-Received: by 2002:a05:620a:4001:b0:7c5:4b6a:d862 with SMTP id af79cd13be357-7c69072efa0mr475778085a.33.1743278860479; Sat, 29 Mar 2025 13:07:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE7VoL0OQxg43/7kd6xd9BXYSItoGGXiCMom98eJKb9uhPvcBYw/ODt9hAi26dSfKKenzQy7g== X-Received: by 2002:a05:620a:4001:b0:7c5:4b6a:d862 with SMTP id af79cd13be357-7c69072efa0mr475774485a.33.1743278859936; Sat, 29 Mar 2025 13:07:39 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:37 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:18 +0200 Subject: [PATCH v3 7/9] mesa: upgrade 24.0.7 -> 25.0.2 MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-7-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=24684; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=aXDehcgNUcV/fUm62yotKr9uVbKL3+xJem1C7+BDLjw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL16ytxGJOAsgL7lg/Fh7HV/qoYvY1BDL13R XSMr73iP2yJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9QAKCRCLPIo+Aiko 1b66CACoD2GfvpBE8i5pCpPzYaSomsurfZ+cOBh6S+wWNEV5nuVfL2msSHpvhiS9e1C7kewgXZz cTRz6gTgTVPQqS77rGQff74Ug7S1Ub8X9bys/TwwoTN6vC68OBrdUfOtfJdblMJEQsRW2Kdnm/P J9eg3sOk2RQLLPJxmuyjDqa2LAaBdP3mVNRKrrUi4xRnXRGadR7wZltmQoFDxFimSzEY/IVnEz+ c8ERoOORJSQw3Jr61x66AcbLYG65YnjS5LJcs35p5z/P3pQtfO3quXGD61BvsnJJ/swosJIu3bl k5DjQytDDBvTGxEFDIy+/323rhFWSjW5DeeyvJooagkG35Bw X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=fIk53Yae c=1 sm=1 tr=0 ts=67e8530e cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=ZpVaWaFtAAAA:8 a=e5mUnYsNAAAA:8 a=EUspDBNiAAAA:8 a=pGLkceISAAAA:8 a=r8WE6jLVMfowQimfk8gA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=geQEn1fu34MA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=5tn4MO8azEBWFjlAA-rn:22 a=Vxmtnl_E_bksehYqCbjh:22 X-Proofpoint-GUID: L7Z-7NIo8BRvouLVb81Y3fkPnTrU6wIi X-Proofpoint-ORIG-GUID: L7Z-7NIo8BRvouLVb81Y3fkPnTrU6wIi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 clxscore=1015 lowpriorityscore=0 spamscore=0 priorityscore=1501 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 52TJAMuG008232 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213901 Upgrade the Mesa package, dropping applied and refreshing outstanding patches. The dri3 config option is now gone, dependencies are merged into X11 deps. The swrast gallium driver has been split into softpipe and llvmpipe drivers. Reworked OpenCL support to use mesa_clc compiler. Changelog: https://docs.mesa3d.org/relnotes/25.0.2.html License-Update: license text cleared and clarified. Signed-off-by: Dmitry Baryshkov --- ...evert-meson-do-not-pull-in-clc-for-clover.patch | 53 -------------- ...d-Include-missing-llvm-IR-header-Module.h.patch | 41 ----------- .../files/0001-drisw-fix-build-without-dri3.patch | 58 --------------- ...eno-don-t-encode-build-path-into-binaries.patch | 46 ++++++++++-- ...ext-don-t-try-zink-if-not-enabled-in-mesa.patch | 42 ----------- meta/recipes-graphics/mesa/mesa.inc | 83 +++++++++++----------- 6 files changed, 81 insertions(+), 242 deletions(-) diff --git a/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch b/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch deleted file mode 100644 index 1711e22585a72d1909473e4d9716c4734d4c5eee..0000000000000000000000000000000000000000 --- a/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 051f41beda540f0ae77b341db01a6de83c9e938a Mon Sep 17 00:00:00 2001 -From: Markus Volk -Date: Fri, 8 Mar 2024 15:53:11 +0100 -Subject: [PATCH] Revert "meson: do not pull in clc for clover" - -This reverts commit 815a6647eb1383e9dc704ffcc266d85f3b13338a. -Upstream-Status: Inappropriate [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27783/diffs?commit_id=a976f2c9f0c07f9e06cc9affd9124b45bc60c2bd] - -Once the merge request above was added, it will only be possible to provide opencl spir-v with gallium-rusticl=true. This is not yet supported in the mesa recipe. -For now reverting this commit allows to still use clover with opencl-spirv, which would otherwise be broken starting from mesa 24.0.2. - -After it was merged, this patch needs to be removed and rusticl support will be required - -Signed-off-by: Markus Volk ---- - meson.build | 3 ++- - src/compiler/meson.build | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 2db6185..741b5d1 100644 ---- a/meson.build -+++ b/meson.build -@@ -813,6 +813,7 @@ if _opencl != 'disabled' - error('The Clover OpenCL state tracker requires rtti') - endif - -+ with_clc = true - with_gallium_opencl = true - with_opencl_icd = _opencl == 'icd' - else -@@ -837,7 +838,7 @@ if with_gallium_rusticl - endif - - dep_clc = null_dep --if with_gallium_opencl or with_clc -+if with_clc - dep_clc = dependency('libclc') - endif - -diff --git a/src/compiler/meson.build b/src/compiler/meson.build -index 8d73544..1dae56d 100644 ---- a/src/compiler/meson.build -+++ b/src/compiler/meson.build -@@ -79,7 +79,7 @@ subdir('nir') - - subdir('spirv') - --if with_clc -+if with_opencl_spirv - subdir('clc') - endif - if with_gallium diff --git a/meta/recipes-graphics/mesa/files/0001-amd-Include-missing-llvm-IR-header-Module.h.patch b/meta/recipes-graphics/mesa/files/0001-amd-Include-missing-llvm-IR-header-Module.h.patch deleted file mode 100644 index 82ad88a079c144153778120bf2a3c1d1c36a0c94..0000000000000000000000000000000000000000 --- a/meta/recipes-graphics/mesa/files/0001-amd-Include-missing-llvm-IR-header-Module.h.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 777d69cf15b80ab1f109a4936d6e4801c4b0e0f3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 1 Jul 2024 23:09:29 -0700 -Subject: [PATCH] amd: Include missing llvm IR header Module.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With LLVM-19, Module.h header is not being pulled, which results in -compile errors e.g. - -src/amd/llvm/ac_llvm_helper.cpp:102:10: error: no matching function for call to ‘unwrap(LLVMOpaqueModule*&)’ - 102 | unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple()); - | ~~~~~~^~~~~~~~ -In file included from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/Type.h:18, - from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/DerivedTypes.h:23, - from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/InstrTypes.h:26, - from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/Analysis/TargetLibraryInfo.h:14, - from ../mesa-24.0.7/src/amd/llvm/ac_llvm_helper.cpp:8: - -Its getting the definition from llvm/IR/Type.h instead of Module.h and caused -confusion to compiler - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29993] -Signed-off-by: Khem Raj ---- - src/amd/llvm/ac_llvm_helper.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/amd/llvm/ac_llvm_helper.cpp b/src/amd/llvm/ac_llvm_helper.cpp -index 5d065279ad1..af4a50f8409 100644 ---- a/src/amd/llvm/ac_llvm_helper.cpp -+++ b/src/amd/llvm/ac_llvm_helper.cpp -@@ -8,6 +8,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch b/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch deleted file mode 100644 index ab1615209063fb0b7bee74f3b49843790801e40a..0000000000000000000000000000000000000000 --- a/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 4bd15a419e892da843489c374c58c5b29c40b5d6 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 6 Feb 2024 09:47:09 +0100 -Subject: [PATCH 1/2] drisw: fix build without dri3 - -commit 1887368df41 ("glx/sw: check for modifier support in the kopper path") -added dri3_priv.h header and dri3_check_multibuffer() function in drisw that -can be build without dri3. - - i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver': - drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer' - collect2: error: ld returned 1 exit status - -Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using -dri3_check_multibuffer(). - -Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path") - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478] -Signed-off-by: Romain Naour -Signed-off-by: Khem Raj ---- - src/glx/drisw_glx.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c -index 3d3f752..4b19e2d 100644 ---- a/src/glx/drisw_glx.c -+++ b/src/glx/drisw_glx.c -@@ -32,7 +32,9 @@ - #include - #include "dri_common.h" - #include "drisw_priv.h" -+#ifdef HAVE_DRI3 - #include "dri3_priv.h" -+#endif - #include - #include - #include -@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, - goto handle_error; - } - -+#ifdef HAVE_DRI3 - if (pdpyp->zink) { - bool err; - psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err); -@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, - goto handle_error; - } - } -+#endif - - glx_config_destroy_list(psc->base.configs); - psc->base.configs = configs; --- -2.44.0 - diff --git a/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch b/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch index 5975ab4472ecebc34ef1504904523de73c9f5c51..953a724dc092667a5ac6f19f6b41d4277fab4ba2 100644 --- a/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch +++ b/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch @@ -22,18 +22,29 @@ diff --git a/src/freedreno/afuc/meson.build b/src/freedreno/afuc/meson.build index bb7cebf5a748..351cc31ef2de 100644 --- a/src/freedreno/afuc/meson.build +++ b/src/freedreno/afuc/meson.build -@@ -56,6 +56,7 @@ if with_tests +@@ -56,10 +56,12 @@ if with_tests asm_fw = custom_target('afuc_test.fw', output: 'afuc_test.fw', - command: [asm, '-g', '6', files('../.gitlab-ci/traces/afuc_test.asm'), '@OUTPUT@'], + command: [asm, files('../.gitlab-ci/traces/afuc_test.asm'), '@OUTPUT@'], ++ env: {'RNN_PATH': rnn_src_path}, + ) + asm_fw_a7xx = custom_target('afuc_test_a7xx.fw', + output: 'afuc_test_a7xx.fw', + command: [asm, files('../.gitlab-ci/traces/afuc_test_a7xx.asm'), '@OUTPUT@'], + env: {'RNN_PATH': rnn_src_path}, ) test('afuc-asm', diff, -@@ -120,6 +122,7 @@ if cc.sizeof('size_t') > 4 +@@ -120,11 +122,13 @@ if cc.sizeof('size_t') > 4 disasm_fw = custom_target('afuc_test.asm', output: 'afuc_test.asm', - command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test.fw'), '-g', '630'], + command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test.fw')], ++ env: {'RNN_PATH': rnn_src_path}, + capture: true + ) + disasm_fw_a7xx = custom_target('afuc_test_a7xx.asm', + output: 'afuc_test_a7xx.asm', + command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test_a7xx.fw')], + env: {'RNN_PATH': rnn_src_path}, capture: true ) @@ -71,8 +82,29 @@ index 98e49b8fcf0e..145e72597eb9 100644 -rnn_path = rnn_src_path + ':' + get_option('prefix') + '/' + rnn_install_path +rnn_path = get_option('prefix') + '/' + rnn_install_path - dep_lua = dependency('lua54', 'lua53', 'lua52', 'lua', required: false, - allow_fallback: true, version: '>=5.2') --- + dep_libarchive = dependency('libarchive', allow_fallback: true, required: false) + dep_libxml2 = dependency('libxml-2.0', allow_fallback: true, required: false) +diff --git a/src/freedreno/registers/gen_header.py b/src/freedreno/registers/gen_header.py +--- a/src/freedreno/registers/gen_header.py ++++ b/src/freedreno/registers/gen_header.py +@@ -885,13 +885,14 @@ The rules-ng-ng source files this header + """) + maxlen = 0 + for filepath in p.xml_files: +- maxlen = max(maxlen, len(filepath)) ++ maxlen = max(maxlen, len(os.path.basename(filepath))) + for filepath in p.xml_files: +- pad = " " * (maxlen - len(filepath)) ++ filename = os.path.basename(filepath) ++ pad = " " * (maxlen - len(filename)) + filesize = str(os.path.getsize(filepath)) + filesize = " " * (7 - len(filesize)) + filesize + filetime = time.ctime(os.path.getmtime(filepath)) +- print("- " + filepath + pad + " (" + filesize + " bytes, from " + filetime + ")") ++ print("- " + filename + pad + " (" + filesize + " bytes, from " + filetime + ")") + if p.copyright_year: + current_year = str(datetime.date.today().year) + print() +--- 2.39.2 diff --git a/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch b/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch deleted file mode 100644 index 036a0b494539243e7850ba3ea24669e0749e2dd2..0000000000000000000000000000000000000000 --- a/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 62495ebb977866c52d5bed8499a547c49f0d9bc1 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 6 Feb 2024 09:47:10 +0100 -Subject: [PATCH 2/2] glxext: don't try zink if not enabled in mesa - -Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") -added an automatic zink fallback even when the zink gallium is not -enabled at build time. - -It leads to unexpected error log while loading drisw driver and -zink is not installed on the rootfs: - - MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so - -Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478] -Signed-off-by: Romain Naour -Signed-off-by: Khem Raj ---- - src/glx/glxext.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/glx/glxext.c b/src/glx/glxext.c -index 05c825a..7a06aa9 100644 ---- a/src/glx/glxext.c -+++ b/src/glx/glxext.c -@@ -908,9 +908,11 @@ __glXInitialize(Display * dpy) - #endif /* HAVE_DRI3 */ - if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false)) - dpyPriv->dri2Display = dri2CreateDisplay(dpy); -+#if defined(HAVE_ZINK) - if (!dpyPriv->dri3Display && !dpyPriv->dri2Display) - try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) && - !getenv("GALLIUM_DRIVER"); -+#endif /* HAVE_ZINK */ - } - #endif /* GLX_USE_DRM */ - if (glx_direct) --- -2.44.0 - diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index f6a91a7002f8aebc8845eda7f339912e086839b5..52079f536ef785084e4a1e61969d162d067ee12d 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -10,21 +10,17 @@ HOMEPAGE = "http://mesa3d.org" BUGTRACKER = "https://bugs.freedesktop.org" SECTION = "x11" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11" PE = "2" SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ - file://0001-drisw-fix-build-without-dri3.patch \ - file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \ - file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \ - file://0001-amd-Include-missing-llvm-IR-header-Module.h.patch \ file://0001-freedreno-don-t-encode-build-path-into-binaries.patch\ " -SRC_URI[sha256sum] = "7454425f1ed4a6f1b5b107e1672b30c88b22ea0efea000ae2c7d96db93f6c26a" -PV = "24.0.7" +SRC_URI[sha256sum] = "adf904d083b308df95898600ffed435f4b5c600d95fb6ec6d4c45638627fdc97" +PV = "25.0.2" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" @@ -38,8 +34,7 @@ do_install:append() { fi } -DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native" -DEPENDS:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'mesa-native', '', d)}" +DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native" EXTRANATIVEPATH += "chrpath-native" PROVIDES = " \ ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ @@ -77,44 +72,43 @@ EXTRA_OEMESON = " \ -Dplatforms='${@",".join("${PLATFORMS}".split())}' \ " -EXTRA_OEMESON:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=system', '', d)}" -EXTRA_OEMESON:append:class-native = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=enabled', '', d)}" - def strip_comma(s): return s.strip(',') + PACKAGECONFIG = " \ gallium \ video-codecs \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ " -PACKAGECONFIG:append:class-native = " gallium-llvm r600" +PACKAGECONFIG:append:x86 = " libclc gallium-llvm" +PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm" +PACKAGECONFIG:append:class-native = " libclc gallium-llvm r600" # "gbm" requires "opengl" PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled" -X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr" +X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr xorgproto libxshmfence" # "x11" requires "opengl" PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}" PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" -PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence" +VULKAN_DRIVERS_AMD = "" +VULKAN_DRIVERS_AMD:x86 = ",amd" +VULKAN_DRIVERS_AMD:x86-64 = ",amd" +# i686 is a 32 bit override for mesa-native +VULKAN_DRIVERS_AMD:i686 = ",amd" + +VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', ',intel', '', d)}" +VULKAN_DRIVERS_LLVM = ",swrast${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_INTEL}" -# Vulkan drivers need dri3 enabled -# amd could be enabled as well but requires gallium-llvm with llvm >= 3.9 VULKAN_DRIVERS = "" -VULKAN_DRIVERS:append:x86 = ",intel,amd" -VULKAN_DRIVERS:append:x86-64 = ",intel,amd" -# i686 is a 32 bit override for mesa-native -VULKAN_DRIVERS:append:i686 = ",intel,amd" VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" -VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}" +VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${VULKAN_DRIVERS_LLVM}', '', d)}" VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}" PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" @@ -137,7 +131,7 @@ PACKAGECONFIG[freedreno-fdperf] = ",,libconfig" PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}" PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false" -PACKAGECONFIG[glvnd] = "-Dglvnd=true, -Dglvnd=false, libglvnd" +PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd" # "gles" requires "opengl" PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled" @@ -145,9 +139,9 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2 # "egl" requires "opengl" PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" -# "opencl" requires libclc from meta-clang and spirv-tools from OE-Core -OPENCL_NATIVE = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', '', d)}" -PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools python3-ply-native" +# "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG! +# Be sure to enable them both for the target and for the native build. +PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd,-Dgallium-opencl=disabled," PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" @@ -157,13 +151,13 @@ PACKAGECONFIG[vc4] = "" PACKAGECONFIG[v3d] = "" PACKAGECONFIG[zink] = "" -GALLIUMDRIVERS = "swrast" +GALLIUMDRIVERS = "softpipe" # gallium swrast was found to crash Xorg on startup in x32 qemu GALLIUMDRIVERS:x86-x32 = "" -GALLIUMDRIVERS:append:x86 = ",i915,iris,crocus" -GALLIUMDRIVERS:append:x86-64 = ",i915,iris,crocus" +GALLIUMDRIVERS:append:x86 = ",i915,crocus" +GALLIUMDRIVERS:append:x86-64 = ",i915,crocus" # i686 is a 32 bit override for mesa-native -GALLIUMDRIVERS:append:i686 = ",i915,iris,crocus" +GALLIUMDRIVERS:append:i686 = ",i915,crocus" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" @@ -173,8 +167,9 @@ GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '' GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}" # radeonsi requires LLVM +GALLIUMDRIVERS_IRIS = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', ',iris', '', d)}" GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" -GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_RADEONSI}" +GALLIUMDRIVERS_LLVM = ",llvmpipe,r300,nouveau${GALLIUMDRIVERS_IRIS}${GALLIUMDRIVERS_RADEONSI}" GALLIUMDRIVERS_LLVM:append:x86 = ",svga" GALLIUMDRIVERS_LLVM:append:x86-64 = ",svga" # i686 is a 32 bit override for mesa-native @@ -187,8 +182,16 @@ GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ' GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}" +MESA_CLC = "system" +MESA_CLC:class-native = "enabled" +INSTALL_MESA_CLC = "false" +INSTALL_MESA_CLC:class-native = "true" +MESA_NATIVE = "mesa-native" +MESA_NATIVE:class-native = "" + PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm" PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils" +PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC},,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}" PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled" PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" @@ -242,6 +245,7 @@ RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'lib PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libosmesa libosmesa-dev \ + libgallium \ libgl-mesa libgl-mesa-dev \ libglx-mesa libglx-mesa-dev \ libglapi libglapi-dev \ @@ -267,13 +271,6 @@ do_install:append () { rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc } -do_install:append:class-native () { - if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true', 'false', d)}; then - install -d ${D}${bindir} - install -m0755 ${B}/src/intel/compiler/intel_clc ${D}${bindir} - fi -} - # For the packages that make up the OpenGL interfaces, inject variables so that # they don't get Debian-renamed (which would remove the -mesa suffix), and # RPROVIDEs/RCONFLICTs on the generic libgl name. @@ -344,7 +341,8 @@ FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d" FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan" FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d" -FILES:libgbm = "${libdir}/libgbm.so.*" +FILES:libgbm = "${libdir}/libgbm.so.* ${libdir}/gbm/*_gbm.so" +FILES:libgallium = "${libdir}/libgallium-*.so" FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*" FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*" FILES:libgl-mesa = "${libdir}/libGL.so.*" @@ -372,6 +370,9 @@ FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ FILES:${PN}-tools = "${bindir} ${datadir}" ALLOW_EMPTY:${PN}-tools = "1" +# All DRI drivers are symlinks to libdril_dri.so +INSANE_SKIP:mesa-megadriver += "dev-so" + # Fix upgrade path from mesa to mesa-megadriver RREPLACES:mesa-megadriver = "mesa" RCONFLICTS:mesa-megadriver = "mesa" From patchwork Sat Mar 29 20:07:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60225 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 643E2C36008 for ; Sat, 29 Mar 2025 20:07:48 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.18134.1743278865093785955 for ; Sat, 29 Mar 2025 13:07:45 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=J5oqA8QT; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TJYM32025685 for ; Sat, 29 Mar 2025 20:07:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= rk4wwrwQ0aif+eL6Lh2gg3Wq6h8qgsyu/4DC1HHUkWY=; b=J5oqA8QTs4Um7zdL SD+dZA9mBmnNeluZHBOOGl5/2Pwt1wXGAFzgiUEYChbSk3vNdrMBlIqaCqsXuNFV oNfJIaWa+eA2bbXY88u04E0gbf6kmw04QEkq2pmSjkAkkGYnaXh+HqnPVA7kBqw5 VW6+Sm4UMbLL7n7slyMz9aXu4lrNu4xVmQcPXqTvpTM8xdGQzmt/9WpwbV/xeVqx 5pGNwSUaC3fls/BozbTQdmZDFwjuqwjus2aaR0Hpsqtl3OyUKKmuXxgx36ZZF6wo RUNNU6rtO2u7H0hoWCn+ScC8pyZ5nofdTxv6QR3ZWKXEazMxmtFl9N4VVuLGsPjA sSqOrQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p7v89bpa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:44 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5d9d8890fso788184085a.1 for ; Sat, 29 Mar 2025 13:07:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278863; x=1743883663; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rk4wwrwQ0aif+eL6Lh2gg3Wq6h8qgsyu/4DC1HHUkWY=; b=vbAmlGDl3ATeQYNiOt/h26slZTxvmW1dy2OaxSGh85WA2FLef9ypVrYcjb/k79J9vd qViecqkONVxqAFRdQRthSBd/U1bx/VYS2Dkav63ZgvQamOmtaGQFokV4qXlsp2EkSn1T xaYkmH4D4k6uA813BE9XTFoMd8/Qo4BBpKSB+77IzEZck5PtBPXkm0D6GdQ9nppCkan5 cvdN+xZR6x6o3/3F9lVhVK2NuEQ+9iK5pKxqo5Xykx+JOIHmJNlKMbe8rqQDsZJp2j5w DLzJGIloNNySzw664tilqDB0l/n6UJZpFE2nXqy1Nezkc3PWaD5rqWnfU0JYPWBPKss/ v4RQ== X-Gm-Message-State: AOJu0YwbTu6YgY7bNcqwV1yvO3tMfNbfqajjkLppPdNCKlTHTKmGVpgj LuT3BFGgpEziUWyV8J9ZeqRIAknaOk07yHl1QvLHhEcoIUOUwa7WmYi5MamJ6JrNh8UrJ0lJ4tz vd1To1H31dzUaI7Ki/H0C0mUxVFDWS0y25/IIa0X3irggMCKXzG45b4wYZIAMH1QrlnZUxMntSw MYaGFJhW+X6KQ= X-Gm-Gg: ASbGnctsnNGVUOPtFdPwYXmFo5baEsw0q88QGKuWrpBzNh5V2WMEEuzDeDChUUw0l3X KlitIemyLGETVuoh3pKEN5xncpZtnrsRIlZEwIisNVhVqcke3p2D6bgI89ILbh6MfRltxsCGDGc wuMFhRS+PRfxwITlMT0760byc4CBSI4/KjIgYVm1MbzpVCWqHe+xwgXlp32Sd9NHH5W89JcDjqT 5eK1tO5w037wbn616vvTp8ikqzuhIwZfej99BdR5oTVyDPMfimWTBhv56ZcTxlOJG7IGdRQtC4o W9DPBS++dh9TLN+wyfFpcpJXfXrjFrup2HQAh3Z7KylIngIkuB9XX2PQKV5qfkGAqe/92koHUuD xPZUP5zOm0YOetzhKRFS1xZsyZ57D X-Received: by 2002:a05:620a:2890:b0:7c3:c9e5:e4ba with SMTP id af79cd13be357-7c5f9c24ec7mr1179152585a.29.1743278862849; Sat, 29 Mar 2025 13:07:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFL/+GJ9N94HM2tKBi/M+xZ/O+RO/FJ+YAqiseOTXJHU82h3oLNDRof96eDzGBAhEoZ+Zcj1Q== X-Received: by 2002:a05:620a:2890:b0:7c3:c9e5:e4ba with SMTP id af79cd13be357-7c5f9c24ec7mr1179149185a.29.1743278862357; Sat, 29 Mar 2025 13:07:42 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:40 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:19 +0200 Subject: [PATCH v3 8/9] bindgen-cli: a tool to generate Rust bindings MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-8-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=16753; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=YBZYBfYJ3JbKP7K0Jlp7EFib9eFhm7DpT046ALwrANQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL1bOklZ6Hk6iCs0UhFVFj9ywhV7c+kV/HIQ Oom2idJOlyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9QAKCRCLPIo+Aiko 1QR+B/4rrCWZpIIMBz3kLRKcJ7MqtZKX4Mn5tYzDHEXk/NiQnpZmIIqPZFiw1RUlJhGrK0mMEnJ 01flchSGE+LK4b22UL4/cN9M9OXjG/E1kd+i7Sq1NpRvP8Kj05j0Bia+lVjmpDbzSg6L4z/ZBtU RPKwDIdPnBmHwHUuePx/ukl68+5YF+GiLeqf/gJ0UdAJ7gr6LKhyiTk8m5hOCgCGlbE/6LXb9je cCLDWZIIfv5i9MEVC+312iCdOwPdOh80VRFsu5LPoBasDxgeRYve+nFtBjzufkOnQRKll2xAgDN lYZmoTPAlXAS4iav+wEuM38a05rQ0frInkBx77A4IKN3y0QW X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: Y-5dlxC5-3tvIUf2zEhGH52KFU-cdbXm X-Authority-Analysis: v=2.4 cv=fdaty1QF c=1 sm=1 tr=0 ts=67e85310 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=R22tBeTbAAAA:8 a=EUspDBNiAAAA:8 a=t7CeM3EgAAAA:8 a=iGHA9ds3AAAA:8 a=QyXUC8HyAAAA:8 a=pGLkceISAAAA:8 a=NEAV23lmAAAA:8 a=yg5Tb1XzTRPOZogEtRIA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=71pCXManv-pOE82v44e3:22 a=FdTzh2GWekK77mhwV6Dw:22 a=nM-MV4yxpKKO9kiQg6Ot:22 X-Proofpoint-GUID: Y-5dlxC5-3tvIUf2zEhGH52KFU-cdbXm X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 malwarescore=0 suspectscore=0 spamscore=0 impostorscore=0 priorityscore=1501 mlxscore=0 mlxlogscore=999 clxscore=1015 adultscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213902 Import bindgen-cli from the meta-clang layer, as it is required to generate bindings for Mesa / RustiCL. Specify Khem as maintainer as he is maintaining the meta-clang layer, which included this recipe too. Signed-off-by: Dmitry Baryshkov --- meta/conf/distro/include/maintainers.inc | 1 + .../bindgen-cli/bindgen-cli-crates.inc | 186 +++++++++++++++++++++ .../bindgen-cli/bindgen-cli_0.71.1.bb | 19 +++ 3 files changed, 206 insertions(+) diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 2b47d3103c03b1b8a11f40566fdd5334d906860d..953abed2a9433bf1842b92ca7fc0b99f4df8bcd9 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -64,6 +64,7 @@ RECIPE_MAINTAINER:pn-bash = "Hongxu Jia " RECIPE_MAINTAINER:pn-bash-completion = "Unassigned " RECIPE_MAINTAINER:pn-bc = "Anuj Mittal " RECIPE_MAINTAINER:pn-bind = "Unassigned " +RECIPE_MAINTAINER:pn-bindgen-cli = "Khem Raj " RECIPE_MAINTAINER:pn-binutils = "Khem Raj " RECIPE_MAINTAINER:pn-binutils-cross-${TARGET_ARCH} = "Khem Raj " RECIPE_MAINTAINER:pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj " diff --git a/meta/recipes-devtools/bindgen-cli/bindgen-cli-crates.inc b/meta/recipes-devtools/bindgen-cli/bindgen-cli-crates.inc new file mode 100644 index 0000000000000000000000000000000000000000..a758440c9d324a2f17e6b2fef296d0d0dbd5e450 --- /dev/null +++ b/meta/recipes-devtools/bindgen-cli/bindgen-cli-crates.inc @@ -0,0 +1,186 @@ +# Autogenerated with 'bitbake -c update_crates bindgen-cli' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/aho-corasick/1.1.3 \ + crate://crates.io/annotate-snippets/0.11.4 \ + crate://crates.io/anstyle/1.0.10 \ + crate://crates.io/autocfg/1.4.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.2.1 \ + crate://crates.io/block/0.1.6 \ + crate://crates.io/cc/1.2.2 \ + crate://crates.io/cexpr/0.6.0 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clang-sys/1.8.1 \ + crate://crates.io/clap/4.1.4 \ + crate://crates.io/clap_complete/4.2.0 \ + crate://crates.io/clap_derive/4.1.0 \ + crate://crates.io/clap_lex/0.3.1 \ + crate://crates.io/either/1.13.0 \ + crate://crates.io/env_logger/0.10.0 \ + crate://crates.io/env_logger/0.8.4 \ + crate://crates.io/errno/0.3.10 \ + crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/getrandom/0.2.15 \ + crate://crates.io/glob/0.3.1 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.9 \ + crate://crates.io/hermit-abi/0.4.0 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/is-terminal/0.4.13 \ + crate://crates.io/itertools/0.13.0 \ + crate://crates.io/libc/0.2.167 \ + crate://crates.io/libloading/0.8.6 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/log/0.4.22 \ + crate://crates.io/malloc_buf/0.0.6 \ + crate://crates.io/memchr/2.7.4 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/objc/0.2.7 \ + crate://crates.io/once_cell/1.20.2 \ + crate://crates.io/os_str_bytes/6.4.1 \ + crate://crates.io/owo-colors/4.1.0 \ + crate://crates.io/prettyplease/0.2.25 \ + crate://crates.io/proc-macro-error-attr/1.0.4 \ + crate://crates.io/proc-macro-error/1.0.4 \ + crate://crates.io/proc-macro2/1.0.92 \ + crate://crates.io/quickcheck/1.0.3 \ + crate://crates.io/quote/1.0.37 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/regex-automata/0.4.9 \ + crate://crates.io/regex-syntax/0.8.5 \ + crate://crates.io/regex/1.11.1 \ + crate://crates.io/rustc-hash/2.1.0 \ + crate://crates.io/rustix/0.37.27 \ + crate://crates.io/shlex/1.3.0 \ + crate://crates.io/similar/2.6.0 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.90 \ + crate://crates.io/tempfile/3.6.0 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/unicode-ident/1.0.14 \ + crate://crates.io/unicode-width/0.1.14 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.52.0 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.52.6 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.52.6 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.52.6 \ + crate://crates.io/windows_i686_gnullvm/0.52.6 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.52.6 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.52.6 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.52.6 \ +" + +SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +SRC_URI[annotate-snippets-0.11.4.sha256sum] = "24e35ed54e5ea7997c14ed4c70ba043478db1112e98263b3b035907aa197d991" +SRC_URI[anstyle-1.0.10.sha256sum] = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.2.1.sha256sum] = "24a6904aef64d73cf10ab17ebace7befb918b82164785cb89907993be7f83813" +SRC_URI[block-0.1.6.sha256sum] = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +SRC_URI[cc-1.2.2.sha256sum] = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +SRC_URI[clap-4.1.4.sha256sum] = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" +SRC_URI[clap_complete-4.2.0.sha256sum] = "01c22dcfb410883764b29953103d9ef7bb8fe21b3fa1158bc99986c2067294bd" +SRC_URI[clap_derive-4.1.0.sha256sum] = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +SRC_URI[clap_lex-0.3.1.sha256sum] = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +SRC_URI[either-1.13.0.sha256sum] = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +SRC_URI[errno-0.3.10.sha256sum] = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.9.sha256sum] = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +SRC_URI[hermit-abi-0.4.0.sha256sum] = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[is-terminal-0.4.13.sha256sum] = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +SRC_URI[libc-0.2.167.sha256sum] = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +SRC_URI[libloading-0.8.6.sha256sum] = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +SRC_URI[malloc_buf-0.0.6.sha256sum] = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[objc-0.2.7.sha256sum] = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +SRC_URI[os_str_bytes-6.4.1.sha256sum] = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +SRC_URI[owo-colors-4.1.0.sha256sum] = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" +SRC_URI[prettyplease-0.2.25.sha256sum] = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +SRC_URI[proc-macro2-1.0.92.sha256sum] = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" +SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +SRC_URI[rustc-hash-2.1.0.sha256sum] = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +SRC_URI[rustix-0.37.27.sha256sum] = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[similar-2.6.0.sha256sum] = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.90.sha256sum] = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +SRC_URI[tempfile-3.6.0.sha256sum] = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[unicode-ident-1.0.14.sha256sum] = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" \ No newline at end of file diff --git a/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb b/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb new file mode 100644 index 0000000000000000000000000000000000000000..5578fb3d18bf9cb622859ab3ff64ea23ea642e96 --- /dev/null +++ b/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Automatically generates Rust FFI bindings to C and C++ libraries." +HOMEPAGE = "https://rust-lang.github.io/rust-bindgen/" +LICENSE = "BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=0b9a98cb3dcdefcceb145324693fda9b" + +inherit rust cargo cargo-update-recipe-crates + +SRC_URI += "git://github.com/rust-lang/rust-bindgen.git;protocol=https;branch=main" +SRCREV = "af7fd38d5e80514406fb6a8bba2d407d252c30b9" +S = "${WORKDIR}/git" + +require ${BPN}-crates.inc + +do_install:append:class-native() { + create_wrapper ${D}/${bindir}/bindgen LIBCLANG_PATH="${STAGING_LIBDIR_NATIVE}" +} + +BBCLASSEXTEND = "native" From patchwork Sat Mar 29 20:07:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60227 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 64A1AC36008 for ; Sat, 29 Mar 2025 20:07:58 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.18136.1743278868233917269 for ; Sat, 29 Mar 2025 13:07:48 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=lTeUyKYe; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52TJYM33025685 for ; Sat, 29 Mar 2025 20:07:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= J1CB4JmobkT6cTmvwIq+nCiQkFb38IeE55rDWfE7EuI=; b=lTeUyKYentJ0u7nQ ZOlfSn/Ssopg71rrqLe9NXODBmRb2G6SWz7B5UI/qUBl+7FaDz8JkzC4uSpIJTZH RdVCzD57a8+OPaHJxRCKvMkUxnyKV+iOovuSexsGeChe5LZ5fKAkt6WhYzklsloN HFEnrMzySWglu7beqkhp1akFD4GfCyWdZWdLtLcZO4lefFqtxS+CXq68Mbege048 666oO60XQh0fitka3/WWEixV70fDCfwNwUnmuMvIFZS7FqxDdbXRITfOoompcsSI 3sYSrcPS5G3NkXqq0cwauHu+wa5BauTc6U18QkHzoOnfTO1ofwnCgJgrSbMQWeb2 8PtgSw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45p7v89bpe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 29 Mar 2025 20:07:47 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c5ba3b91b1so151294085a.0 for ; Sat, 29 Mar 2025 13:07:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743278866; x=1743883666; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J1CB4JmobkT6cTmvwIq+nCiQkFb38IeE55rDWfE7EuI=; b=LZhdcp7in1WD8uIoFJ1B+AudlsVu1qtTsR0XHDAjVdBFRLXjx0TPx0mWGNi0V0LZgk vwacEpuBk09EinlcTGTlnhSw3Is9HXf4jSAaStEY+FUaPSg75UbaiJQhTwzBytKBTGwA 81iUh8HYbV8iHr0aGmXVqyb8Yv2pK3vtxR5+O3Oh1YNNKpD9wpqAHm3iysEzsBD1DaWu ogA6Uwcco0yjRBMyy5LbOjbDn1iOGeuw0dn9fvz+fPVvt7B7bwyo/ulXmQzxMqTW3BeO pKeYEVSC5kyoLYAPzdFmOKARt3bd3t9CJcC6Ox9PI/vTvmr5dSxhTmhkiC3Va4jFPFsg 9ytA== X-Gm-Message-State: AOJu0YwzmccT4yMcCEMLhgAkUVl5u+OgPoVqq6n4czBP3/3ogy0hQOfx h9tn609pWVIXEwLNWGLI+cA0qS/0M+1tsEBc42uhrCq4Gb1yrUzcnktbk/99+ZrmJNo2qBQFLAA BGX4SZ9D0/ymOqtg4h/EB/xqRYBKbler7pv5J5EDdIMgG5F5I0gmh8P3IJ6RWP0EpzTprt0ThEh 5DSPc= X-Gm-Gg: ASbGncs0uZFsaA804ahCcrafTpgLwIcYt5HyfV23VJYf5QxRQ4PsURevU+dhGcG92DD 5iwEVO6MSPUuj/h+JoV2ig+ZoEUgcAPj5mjqb2QS2PngTFljQSGPRrF4YUA+NR0o87lwWb2zrrM w2bABUYIWBZtvFhfsS6YnKus1KKlHx4/dPq77n7GzP114+AOCMqK+PYbqjX0xHSV7GkdPyN/Snu X3ob4aV+cJ1IAmap/iLsqs8toIyy73CC2BkZJ98KFLV/lQkz4+PYiDVpC0c/1ZpyjZlYfGa88pa 8FMFDOqSXlMi8RQQ0jRIVXJ7dUP5Lr35enFfMvnvrL2em9z1ehyRrFS9py78tX27BIGlo/F3/wt yke/nf7qOq+b314QAObZpw+HMbr5R X-Received: by 2002:a05:620a:170e:b0:7c3:ca29:c87e with SMTP id af79cd13be357-7c5f9bf8928mr1137207385a.21.1743278866462; Sat, 29 Mar 2025 13:07:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH9kY1NCHGUcCVNDVMTvrqFDdcvZ61i3ZvFQRU/6L38LjViNBoVlWoeaof/jM7vCzoo3scZ7A== X-Received: by 2002:a05:620a:170e:b0:7c3:ca29:c87e with SMTP id af79cd13be357-7c5f9bf8928mr1137204485a.21.1743278866061; Sat, 29 Mar 2025 13:07:46 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54b094bb365sm685848e87.29.2025.03.29.13.07.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 13:07:43 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 29 Mar 2025 22:07:20 +0200 Subject: [PATCH v3 9/9] mesa: add support for RustiCL under PACKAGECONFIG "opencl" MIME-Version: 1.0 Message-Id: <20250329-mesa-25-v3-9-f4d0328eb867@oss.qualcomm.com> References: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> In-Reply-To: <20250329-mesa-25-v3-0-f4d0328eb867@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj , =?utf-8?b?Wm9sdMOhbiBCw7ZzesO2cm3DqW55?= =?utf-8?b?aQ==?= X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7608; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=138WZeZ4omX2qzoYRhMr5MGdsHoIG+BWIMgNxdTXfo0=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6FL1zxfTZLGsngB88KzJAgiKV9yZ/8Q4LV5K7 3i4KtBdZWeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+hS9QAKCRCLPIo+Aiko 1XsNCACpHO2ypnwNnX1/GBfl+xal1HQtedUGZTFyTzJPDVUBxc83SSdw+i7vtSHNb9/d1Q+C9Wh dOyS0lryhoQOFSzWPAGPE1I6Bjx57CLY2rv6zgsGUZwURVDntH6K4gG58VZ4fbRxXLPkWo6+JcN ec1kQ6nQIYO0WJpeJ+PmdiSGwd6JZkss1XvXDG+wLQO/P9KmOBPQ2FDttBZp5DqM7bdIYpaQv+a /Hsg++mFaH+HZxWBIycoEf7m9y30tyQtA/BJgDPEUzjKMC+/O+5tPCw801NBzaR+Cn7F0j7atQX eX0c/5m052n4EyUPG5I+vkeBc/EywPxPoCJlFB1ytjQ6mW16 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: ltQxKLdyd6yyrjcbPLlgpBnu2JOKroEF X-Authority-Analysis: v=2.4 cv=fdaty1QF c=1 sm=1 tr=0 ts=67e85313 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=ZpVaWaFtAAAA:8 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=NIk5LsUNV1RiDaC6tVwA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=5tn4MO8azEBWFjlAA-rn:22 X-Proofpoint-GUID: ltQxKLdyd6yyrjcbPLlgpBnu2JOKroEF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-29_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 malwarescore=0 suspectscore=0 spamscore=0 impostorscore=0 priorityscore=1501 mlxscore=0 mlxlogscore=999 clxscore=1015 adultscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503290146 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 52TJYM33025685 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 29 Mar 2025 20:07:58 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213903 From: Zoltán Böszörményi Mesa now has two OpenCL implementations: Clover (older one) and RustiCL (newer one). Extend the "opencl" package config to include both implementations into the libopencl-mesa (-dev) packages. As the Clover implementation is in maintenance mode and is expected to be removed at Mesa 25.2, it doesn't make sense to split the packages or to provide two config options. Signed-off-by: Zoltán Böszörményi [DB: merged "rusticl" and "clover" back to "opencl", reworked rust inheritance] Signed-off-by: Dmitry Baryshkov --- ...vide-cross-compilation-arguments-to-LLVM-.patch | 66 ++++++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 20 +++++-- 2 files changed, 81 insertions(+), 5 deletions(-) diff --git a/meta/recipes-graphics/mesa/files/0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch b/meta/recipes-graphics/mesa/files/0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch new file mode 100644 index 0000000000000000000000000000000000000000..652f99bc80653cfaf34ab069ed9d370ae3c4948a --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch @@ -0,0 +1,66 @@ +From b9cf34f39ca7e7546508ce2ab1f053edef5fc201 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 26 Mar 2025 17:47:09 +0200 +Subject: [PATCH] rusticl: provide cross-compilation arguments to LLVM bindgen + invocation + +Correctly generating LLVM bindings requires several croos-compilation +arguments. Provide them to rust.bindgen(). Karol Herbst on IRC suggested +that a proper fix should be to fix meson's rust.bindgen() to support +cross-compilation. Carry this patch until meson is fixed. + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Dmitry Baryshkov +--- + meson_options.txt | 14 ++++++++++++++ + src/gallium/frontends/rusticl/meson.build | 8 ++++++++ + 2 files changed, 22 insertions(+) + +diff --git a/meson_options.txt b/meson_options.txt +index 0147cafcb146..f73e83fded18 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -796,3 +796,17 @@ option( + value : false, + description : 'Install the drivers internal shader compilers (if needed for cross builds).' + ) ++ ++option( ++ 'bindgen-includedir', ++ type : 'string', ++ value : '', ++ description : 'system-wide include directory for cross-generating LLVM bindings' ++ ) ++ ++option( ++ 'bindgen-target', ++ type : 'string', ++ value : '', ++ description : 'Clang target for cross-generating LLVM bindings' ++ ) +diff --git a/src/gallium/frontends/rusticl/meson.build b/src/gallium/frontends/rusticl/meson.build +index a5d1dcf3abb9..480c220b7f5f 100644 +--- a/src/gallium/frontends/rusticl/meson.build ++++ b/src/gallium/frontends/rusticl/meson.build +@@ -180,13 +180,21 @@ rusticl_opencl_gen = static_library( + ], + ) + ++bindgen_c_args = [] ++bindgen_target = get_option('bindgen-target') ++if bindgen_target != '' ++ bindgen_c_args += [ '-target', bindgen_target ] ++endif ++ + rusticl_llvm_bindings_rs = rust.bindgen( + input : 'rusticl_llvm_bindings.hpp', + output : 'rusticl_llvm_bindings.rs', + c_args : [ + rusticl_bindgen_c_args, + pre_args, ++ bindgen_c_args, + ], ++ include_directories : get_option('bindgen-includedir'), + dependencies : [ + dep_clang, + dep_llvm, diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 52079f536ef785084e4a1e61969d162d067ee12d..b7db5f8d00a10d59c15fdfaea318875d2b4ddc4d 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -17,6 +17,7 @@ PE = "2" SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ file://0001-freedreno-don-t-encode-build-path-into-binaries.patch\ + file://0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch \ " SRC_URI[sha256sum] = "adf904d083b308df95898600ffed435f4b5c600d95fb6ec6d4c45638627fdc97" @@ -45,7 +46,7 @@ PROVIDES = " \ virtual/mesa \ " -inherit meson pkgconfig python3native gettext features_check +inherit meson pkgconfig python3native gettext features_check rust BBCLASSEXTEND = "native nativesdk" @@ -84,6 +85,9 @@ PACKAGECONFIG = " \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ " +# skip all Rust dependencies if we are not building OpenCL" +INHIBIT_DEFAULT_RUST_DEPS = "${@bb.utils.contains('PACKAGECONFIG', 'opencl', '', '1', d)}" + PACKAGECONFIG:append:x86 = " libclc gallium-llvm" PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm" PACKAGECONFIG:append:class-native = " libclc gallium-llvm r600" @@ -139,9 +143,15 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2 # "egl" requires "opengl" PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" +BINDGEN_TARGET = "${TARGET_ARCH}-${TARGET_OS}${@['-gnu', ''][d.getVar('LIBCEXTENSION') != '']}" + # "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG! # Be sure to enable them both for the target and for the native build. -PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd,-Dgallium-opencl=disabled," +PACKAGECONFIG[opencl] = " \ + -Dgallium-opencl=icd -Dgallium-rusticl=true -Dbindgen-includedir=${STAGING_INCDIR} -Dbindgen-target=${BINDGEN_TARGET},\ + -Dgallium-opencl=disabled -Dgallium-rusticl=false, \ + bindgen-cli-native \ +" PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" @@ -241,7 +251,7 @@ RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev" RDEPENDS:libgles2-mesa += "libgles3-mesa" ALLOW_EMPTY:libgles3-mesa = "1" -RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools', '', d)}" +RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools spirv-llvm-translator', '', d)}" PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libosmesa libosmesa-dev \ @@ -347,7 +357,7 @@ FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*" FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*" FILES:libgl-mesa = "${libdir}/libGL.so.*" FILES:libglx-mesa = "${libdir}/libGLX*.so.*" -FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/mesa.icd" +FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/*.icd" FILES:libglapi = "${libdir}/libglapi.so.*" FILES:libosmesa = "${libdir}/libOSMesa.so.*" FILES:libxatracker = "${libdir}/libxatracker.so.*" @@ -361,7 +371,7 @@ FILES:libglapi-dev = "${libdir}/libglapi.*" FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" FILES:libgles3-mesa-dev = "${includedir}/GLES3" -FILES:libopencl-mesa-dev = "${libdir}/libMesaOpenCL.so" +FILES:libopencl-mesa-dev = "${libdir}/lib*OpenCL.so" FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc" FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \