From patchwork Mon Mar 31 12:21:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60323 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 14C06C3600B for ; Mon, 31 Mar 2025 12:22:02 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.50713.1743423712469910611 for ; Mon, 31 Mar 2025 05:21:52 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=mLEsQsFi; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6kghC003656 for ; Mon, 31 Mar 2025 12:21:52 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=mLEsQsFiSFnXmhoC u1PMYn7mbpNW9VG8hMMp9wJ1oE9B7UBJsJFOq750jlpwQw5L5jihQene+pH9LZYi noEENkV6bbgWE1iBagwYaWZ5NQpPULpe5163/tQPalEbtZHWGtmNfiMJXLeU6mnF oAauZ0UpmcnIRJLERBEJ8rIOh+hBkUjbq/Bg+ITqbBHEmCL8U77Ikvl4Tv4XhHsd 9kcCgcoO6vuNqoTw5XBQ6iTJfD4NcrlxMNctH3YLcBoSd2GHayAwcV5zNUtB/orR dxCIN/jGunp+2CJWH8py4JAcFfIc7Z37ui3xCwBsZ+iF+p1ZK7JbWPKorASUUpHT aq7idw== 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 45p935vdnx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:21:52 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5b9333642so492579985a.3 for ; Mon, 31 Mar 2025 05:21:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423710; x=1744028510; 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=d/WQTNF2gNdFS6qchmGuhUnuR+pNGLAvWO3ucKzbRgIyBgEe0mgfEM6i9NOszAXonj gOOIE1ybZaQyPXrBFH2QuCzcdUfGtKfImd7GoN08kdvW45QleWXQmimDZji7fc1LnzYf UbgiwQGXFkNc8UnD34NWhLo/3vKnleruWZ7ALf06G2qy2aLYaINb+3mbJuedHoZm2h50 hju2K5d3PxkHCTTROoBb9VEGkIHtDnC7TriwTdcetZwbghLGFhaKBXqU8Xyu7HVGcsSr i8rR2At+IirOE1w/oZA0XXhixmQ6QqRV05vF/W99RzGEYjfjKahdd/X7aU1Z60wB23+j pafA== X-Gm-Message-State: AOJu0YwtDLBLAcV/XWj4lkm6/cHogqQHj5LQHzLzsQWGtAwmCwSN7dnJ uY/ek5VmPosnLU9Ac7lWI2+2uFNUIPstaf/m6/fG52iwl3G/TR31DY46yv+8RN/1eTtwjRZv/t3 o966febAjK954d7NVMjqVrFd7whGuYF1QG8Sa9XHvnv2Z3nWZZlgg/vcIAsTKzGBAPZlNdqp6OI 51AwfgzIAtZLTRuFdO X-Gm-Gg: ASbGncuoT7bzK5nrpvUDi7ucQLRbqbt/V4GxrD0R6a0+rgjudxCp7dAQbNp276PGay3 jWl1x+TmcHlwkVuNGKGxgcdUZDwKX0rE3w3EYIw2BxQ32bwTgJQS2W0bmWu60xKqN84v18KVX4V B7xvnAwlE3eF1UNq+bFDDXlC3clEi7pSZp+SfHT79sDRfIPBtWlsMpKcvLLR+Rj/TDB8k+5QvRM THC9/UlFhLKo9Ch6XTHiFIGW+hnzplXX7mZHLDJJtI91zE+WftGWFzVoDQ8b/xggWWS7rScC142 BXSVFnoenPbmu06EEfG1EJUU11LWTu8tc/liumXttrnuzccIKi3rtGttN+MB+rh9hyfqyWtWzfJ YvgssPWJ1gkhaiW0hXd4zSa3WwWVE X-Received: by 2002:a05:620a:2494:b0:7c5:a435:8c98 with SMTP id af79cd13be357-7c67d22bee3mr1070147385a.0.1743423710405; Mon, 31 Mar 2025 05:21:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEZVMZoQiXE6+kyh11EpNR2eZWolx1bDzUlbfez1tG9ES1HUpADZIWE4C4cZ+u2xB2bHp9vlQ== X-Received: by 2002:a05:620a:2494:b0:7c5:a435:8c98 with SMTP id af79cd13be357-7c67d22bee3mr1070144485a.0.1743423710024; Mon, 31 Mar 2025 05:21:50 -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-54b094c198bsm1107200e87.88.2025.03.31.05.21.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:21:47 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:34 +0300 Subject: [PATCH v4 1/9] llvm: move libLLVM.so.N.M to llvm-libllvm package MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-1-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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/pANAwAKAYs8ij4CKSjVAcsmYgBn6ojW1GysHdS6yHw65fJrNhQrldfAMoWhMTaKE 2vDX6U70JSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+qI1gAKCRCLPIo+Aiko 1f4BB/9TwGWs9pRcwQL/rBVa3MAyhzYySLpYMaTPVtjshNPsJZKoC9uk0pEaD6gIPbhqW7lXoeI iS+vNyOJUoDsuOGRbkz09GY4e/zxb+Xa+HYiY0x7KaKevn9rDt97WiRtnfAwroao/xI6PLf7NNY +LcGLUf9ULAZeETERFaYS+fhj9bAt95auzPVHyUki+dd6nBvNKZdB+4FNyDfCHj11nVimlIP+RR VqsyHyKlIPu2I8IsZUeAjiGj8AQaPn/Cle9X4N4Lim+55obYZZ3hx0NNf1z6jBs9MxeHIwNZshl qje/rt7wWTxTHS9ikDso6oPgqUsyOyIoVnTEM68pdkWbfoTJ X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: fnMRS71-XZHW6JpKaRVWILhO2d_9xM5e X-Authority-Analysis: v=2.4 cv=KOFaDEFo c=1 sm=1 tr=0 ts=67ea88e0 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=EUspDBNiAAAA:8 a=sEhaxK_mCjGFFgskTosA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: fnMRS71-XZHW6JpKaRVWILhO2d_9xM5e 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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 adultscore=0 spamscore=0 phishscore=0 mlxlogscore=778 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503310088 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 ; Mon, 31 Mar 2025 12:22:02 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213970 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 Mon Mar 31 12:21:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60325 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 25275C3600C for ; Mon, 31 Mar 2025 12:22:02 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.50459.1743423716310742581 for ; Mon, 31 Mar 2025 05:21:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=SvPBidl1; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6keDg028166 for ; Mon, 31 Mar 2025 12:21:56 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=SvPBidl1pMjkNcAc HIeKibNmoZuabeHjI012+DIb5NdCcheO7fCrvn6/p9z8hCncqHXfvzWrw23LTXxl f09R+DBpo9gnbqA3mhGDFS6R84ErqflfykbRKjk06UY3OLdRLLGUyHmnDQq9fQWv 9kek8RueH5OjQQ4Bh3jqd0O6ivCJ/Eir9wUPDFJ9djlpN2BGNWXhA2I8Hh1CMc/M rIXnAykpiPkXvo85qSM7RX2XMLttaZWRKE5jzbB3VGiqoZ98pJkHid1aGuHDqfPh oKskqX19V5Yjffl0w/o0CfOfstXIeU4FDcn66qlO0khuqvUnvD4o6/C61b6W28HT cgiJQQ== 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 45p6jhmn5m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:21:55 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c53e316734so831303285a.2 for ; Mon, 31 Mar 2025 05:21:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423714; x=1744028514; 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=wiH0vpFQLvJ1WZk8wzGY3N9dURuHwt18SRxzlydoLF7Mce8gYU1+mhh5VS8laJAWl3 BSWAtLZJ8QtX95r5E1HDFvE62fNhIfHDfEEdLOM9ZjEKcIVyllBYjhoCYbsTWvBmG8W7 3KhT9KJF630lpITiCEa57ulLN7QJrndhFfpJO3mIKT9ZLMDBrwra06sz0FVi23OHnr9C QooVgvyvBsbMfY2h41WushMFeKkD/+aqNYrt8z+ziT2ie97wcz2TRJMJvseJxXMRolVe Olr0iT00nd7aC5OExP4AGux7HmJXNfQ5vX0QLPP3of92+dfjRyasypv4PkrvG/hKVHo6 IOhA== X-Gm-Message-State: AOJu0YwaljkeqFPjMi5KsKvoZiAm9e3ehu61UbsAO3+Xm/Yw6ZeNVWqq Zb8bS9kUJFSwz9g0ggWVBINvASKhFIBwPwH95elnY5vzrasX6f03L07RcrC0W9xkz1NmUWCNYBx VwPogEaV7Y7wJI97G03+etlGGTzQq/huUl0bXrsYmdOKJyF13tRL9k0/oOCMTYXt3s3RDTMZdmR XhDEKYrqZmzwUcin0h X-Gm-Gg: ASbGncthtu0hsNB9y8QkZnmRUfaIWE53s5Ib4vhQMosImk+5YJ/gHvzBEV7bD9krZi2 Tqp32BU1c6eAaFt79Bl/eLrHzEohZAF8CUlt8ndEIgvph78q+eBVV9+QNPXGh+otordgpoPmlex 2+zGNqXDZFGql7oXNXKKyBMY7kNoGfEcIQuVxr48mijjarFbNk3eAIfTiYQsMVm9TWqyIKWjYWt ZIlnATkjNyUUvXdcpdkEEnMOTBl0D9epXa3O2wR3ybswIcPUU1aST5ud/Vka7j5Q4QDuuG3OEod ffILXsnLIVzgJK2mZjgxjrsnUn8j0J6nMKV9ZXdyCAMlOHz0E2WoCgFCOdtGZxjRX02LxUUH8Od drBRQ215YUMlBhvqJiMlfA8v8m5oT X-Received: by 2002:a05:620a:3948:b0:7c5:e3ad:fa19 with SMTP id af79cd13be357-7c6865e8a87mr1054479185a.16.1743423714153; Mon, 31 Mar 2025 05:21:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE+ICVe8A8hRh4bxZRzHafeNem5WSOcrsk057zckpSKFY62kqqwh41iLpvhn3ZsDexBKCZCPg== X-Received: by 2002:a05:620a:3948:b0:7c5:e3ad:fa19 with SMTP id af79cd13be357-7c6865e8a87mr1054476085a.16.1743423713773; Mon, 31 Mar 2025 05:21:53 -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-54b094c198bsm1107200e87.88.2025.03.31.05.21.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:21:51 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:35 +0300 Subject: [PATCH v4 2/9] llvm: use OECMAKE_SOURCEPATH to specify cmake dir MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-2-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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/pANAwAKAYs8ij4CKSjVAcsmYgBn6ojW/fmHFfL8WeArSX/ETDt3sNZIyUnUaHMF4 VC+suUsTF+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+qI1gAKCRCLPIo+Aiko 1cwZB/9O1VsHbGfMtGTizMpWYmgun9piHKUFkkGCwVLU+R6eRegtJFhwfBTm8NOC+zz/eDoqPhH xcKFOVG7K/Tn5lZK9lv2KuFbYIP6W0qGHAN4Y1UI7Bo1DdsctmU+y6OKBkKd6wH0zD3pNAXMP3m gkkhOcbvieYMYVUDB9DbCDmdpGoi2IY6WqNqIGOGVz5Ygc4lSkv1iCRdY+YBYhpN4S90qdu/KHg rQP88lyI2ss5NEX4U/LuBV6DiMfXccaxJu2aEC0P9NFYG3lmSN4TrE/2qVr5WyjUvIHacQ/qZRD QQI9M2dZqdOZtTYz+/f9bLEZgW8suOWDRdvPMlk4HKlR0eR/ X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: O1YgZgwwtEzl6Tuob2TgYgZYpjfEuij8 X-Proofpoint-ORIG-GUID: O1YgZgwwtEzl6Tuob2TgYgZYpjfEuij8 X-Authority-Analysis: v=2.4 cv=bZZrUPPB c=1 sm=1 tr=0 ts=67ea88e4 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=D0RIUQgIwEgepnv7z8kA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 clxscore=1015 phishscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 malwarescore=0 mlxscore=0 impostorscore=0 mlxlogscore=827 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503310088 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 ; Mon, 31 Mar 2025 12:22:02 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213971 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 Mon Mar 31 12:21:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60324 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 162D3C36010 for ; Mon, 31 Mar 2025 12:22:02 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.50714.1743423720233559478 for ; Mon, 31 Mar 2025 05:22:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=c0N8vFvB; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6kZCn005003 for ; Mon, 31 Mar 2025 12:22:00 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=c0N8vFvB2DoYlW60 6nU6AykEL5D8evV94M4jUqkESH6khyg7lBMl7cyFZtlYbFW/Vu2GbVouFHieQ9zQ 5uhnT2epn0rZiDdm/WUxKac3wjr6almR7GcH/m4Uk1p7JJHDCsi/sZIu+GCHJ84j HXK85zkxM/pEfsYbdHddzj1FimHg1nfklX8F3hFoFO29+1SbDSN7nr0p3ahXQu12 bzYb6ucPeSO8dt6Zkr0IL+Q2YjHpK1MMKjwwggl0VLmUJmbXSW5HFwzTQ0XhIIO7 zxTX9JO3r6G1yFMSBwwoIp38TvoDpCltr/X4qxT3bfmfo/PWLif5APX3E5xaGv+K cs0tDw== 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 45pa5bmc4p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:21:59 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c5f7210995so319263385a.1 for ; Mon, 31 Mar 2025 05:21:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423718; x=1744028518; 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=aSnckzM4PDw2xPyC/xqJnPr0sumSaejDz1+jpxu1ofMRlr0WPuVmaZBNldgzk5tv56 Jttaq1yL/kpPkznjMOOfZUYzFgQeMmjETxcomnCFPIYpaYF4KRl8Sv7KmXt5T8Rylp4b N/RQXZbcbWYHN8QWRxC+bkRkOoLf4ByA3Acx4EudP3k+8rDuJqJRhBBgK/hWuxI7L09f FyNykof/uBdEwm3ISu2L7CqRLvU5Sy1Pw/0DtYoDu7gPM8pkAdevLwGeg+JEX65ow20X /3iivRelQXmfEW9BThHsLb7sSOR59XpwCeFx+xm3j660sBJmvxZVWQSMI+a0s7sks/Ad xbkg== X-Gm-Message-State: AOJu0YxmJUsb4daNZhYacVc0MjUCZKM/50Tsx0ULyNDdiqsUtpzzCQuO SqiXrjSk8dJyHTp83Oc1+BVEcl5gwOehLNuCoN4qKcwQQiitmh6HDzayYsn0Dok6dfsyhvFKkDl +eP1jWy/oFCpiFv0mR700ycT586OaVwjkUGNrQCps9d1eHxwYcS6yVhAAAlWbYwZkzIT7tqAfwi 4Z7muMulg9jNVh8UuP X-Gm-Gg: ASbGncuixhQyRkcuK/TNmX9o3JkYdxPOLczaaVseMdJve/xqtDDLIkjJq45k7WZHelZ e6Ia55Lv0zCYwXNw3OBPInq2aFhKtOpmIFyDC6JzD4l18x936/cTvxdNWSJ/yDwm7K5t75nUMG3 kZLMN+ESSf9kz1PgmSz13U6MGfi6W3xMspVneLRbKScQmpjyxidtxJqgxcXQLU+HXwFxeW5t1u4 AQLWAYjNRtWtA3xczQUnZyK0sXgboQWvwQL+e/eeJ9kD1J0oPngTJ3eIDq6e85IDCsqq4/vnt4C ifBVwzpPvrVi3YvJrjGUyNrDWzJd5y9ZDbrdVaAKRo/NuC5aWmlWjKdbdGv3mxBtJTGXJ9CliBw btqqY8NoYetIjL0la+lJrEZuAcD9C X-Received: by 2002:a05:620a:4413:b0:7c5:6b46:e1f6 with SMTP id af79cd13be357-7c5f9b62855mr1716017985a.1.1743423717826; Mon, 31 Mar 2025 05:21:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGkaVCouCxhRScE2yqw35pK6YAPZTMC9NOQzPK681A27kQAKMu9O24Nxu1RBLZwEa6lliV04A== X-Received: by 2002:a05:620a:4413:b0:7c5:6b46:e1f6 with SMTP id af79cd13be357-7c5f9b62855mr1716015785a.1.1743423717534; Mon, 31 Mar 2025 05:21:57 -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-54b094c198bsm1107200e87.88.2025.03.31.05.21.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:21:55 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:36 +0300 Subject: [PATCH v4 3/9] llvm: handle libdir in llvm-config MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-3-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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/pANAwAKAYs8ij4CKSjVAcsmYgBn6ojWRsfcOComiNSyjMlMKAD0rBWu6vp+qnQNT IW83PfH3biJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+qI1gAKCRCLPIo+Aiko 1Zz8CACjvNda8e+H8NO3MbuNLqfMWB9OTp+F/eCBEG4E+1cKvZwEjt8mdqCcYXf1jbyT9Y4DKSe 0ODstXmODOa4tt/03G6dEeLj22qxNFSreHLDHP3o+WDrglLOpKXFtLpnNpGXGS2+oLhAcEjWymV 165x94ftyo4FDtpAFiTb80gGIYEWd+lduurw1hUfIZw4UqjZ63UsrKZoU7TgaetqGN2gZ0j3s7H N6eUfAAJIz09xULkeu1aVKiHxnShH65rnxsmMNu+134eezwWNEEFcb8vEMOIbpz0eVZ6nkODqvt rYSpTvBjBIWX36Hyq8/ULG9jz53SR10Fm0RCKcnLkWzLUICq X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: cLRgghZTiV8uGHs3_fsn3ih9zKo1V0eH X-Authority-Analysis: v=2.4 cv=YqcPR5YX c=1 sm=1 tr=0 ts=67ea88e7 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-ORIG-GUID: cLRgghZTiV8uGHs3_fsn3ih9zKo1V0eH 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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 suspectscore=0 mlxlogscore=740 bulkscore=0 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-2503310088 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 ; Mon, 31 Mar 2025 12:22:02 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213972 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 Mon Mar 31 12:21:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60326 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 12B61C3600B for ; Mon, 31 Mar 2025 12:22:12 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.50463.1743423722518461993 for ; Mon, 31 Mar 2025 05:22:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=ebZ3iahM; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6kcJk017360 for ; Mon, 31 Mar 2025 12:22:02 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=ebZ3iahM4PmerBMf Zfzgr6sfTLoQmbmAXlqjk/gCaqF98/4TWKdyBXJ8IULnvJCksdPt791vGi7eiGcU yzDXB/BhRyuXvmbzN01lgAy7m2K5P1gKIOmLPunIMgh4defCyG9z3/wxNTdW2W6R h6fj0HyIWSN4mWv4aC78AzA4rZXWNgJktRjrmsXDzf7j4VU0healreF4iwrcamZh /Vj48BGj9YSq8MFoM4yklxS8f+2IF21BNQTEAWICKSBOeAu0a8CxzxYmPp2aotT4 CxmcrNGXFKTwpRw/ZYUTD5ozsdAcARIYDN5QbZokHCCkHKxp5rn0uh+c3EPE8sZ+ OxuuYQ== 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 45p9mjmcc5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:22:02 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c54e7922a1so1024738285a.2 for ; Mon, 31 Mar 2025 05:22:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423720; x=1744028520; 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=bYVOOtcz3E1LO6o6U+Ml7iMGk9T5C6j3uatTwpJ55X8zf4oTxu3EbDIYxJuNnysKYY PMi5CyuGDG2+COsGhZy2DbTVsJW5iknvgTHtOTxgOGK4br0LmWTw611Oood1SXF45dVR P8AgrAz95Er92YxH9JUzfmfGN3CQp43AS3oTKTl/mrP8aEJa4NrHTD/whctCMgmaEdkQ VVK9WD/7sKWaepqbbolg8iJwKug+mwW/FlCIIcCYpsuS+qHe1zoxEIXM4scwmbwMfOWS t/MQIbBfx+XUikHCV83bPpMIQNPwb89vZDQIE4I0epqlHL8RtJnj2d+dguHrQJ8o1rGG JPyQ== X-Gm-Message-State: AOJu0YwO7DisKs+gkk5hpw4/+1liB9BHGqLvlT3AQeRyI1P4WRYMmRvd Nuc06p1J0NjN38BJUYge1TOFiYGWwrw4lD8WeGoRKp8GSNikIcgGMR12ujz1FAwR+eVI8NZnH9S Wbl3iHPQgqgeOhOdG4b6UHFrbXE0WULP9qs5ko3g2u6qiJPOgZUktARbUoHWa+KV9me0wqbLyqJ 8qwmTB1p/JdNhQGpke X-Gm-Gg: ASbGnctNeV592b6ax9eypa3Jm7eF9IADWONViO88Q1CPVZV5I/pYaWIySAU1KtJ82QE jRqn6jwYlGP4s3RCJWab+JEEo3DBXR87FTkjrQSth2uvH8yP8LruOSq6iTLZHW81nPKFNn9yKid 8iCISXgEwmun8ZjPj2FBEOdYBSFpWVqMbJy38crtVtbYyMRNJtcD2LyV1Cp6hXibIKvDiz5fOZq FOOUNVARv/kMepy5jWYPWuxtDNkQXANUCdkoeEHWuzyHeLURs/5oR1S6nqb9XNKqq7M5Bqg2n+N Ra+CG7iih75GTvwUZbdemrf379sNufBjvSjAGZCtm+PPQYlSanew5DLxXD8TPpROO5uUCLgEluS LFjB1Chyvh9HW1q1arPogFO8OKoL+ X-Received: by 2002:a05:620a:2941:b0:7c5:9a09:cb73 with SMTP id af79cd13be357-7c6865eaf10mr1077236385a.23.1743423720388; Mon, 31 Mar 2025 05:22:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHB2C0mUIk936S8Dfw8nFuQTASAuvqOdzbcBqUJP2HBMJWleAn4wznWLNopdnhY0MJ6gKCtQQ== X-Received: by 2002:a05:620a:2941:b0:7c5:9a09:cb73 with SMTP id af79cd13be357-7c6865eaf10mr1077233385a.23.1743423720019; Mon, 31 Mar 2025 05:22:00 -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-54b094c198bsm1107200e87.88.2025.03.31.05.21.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:21:59 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:37 +0300 Subject: [PATCH v4 4/9] llvm: also use llvm-config wrapper for nativesdk recipes MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-4-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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/pANAwAKAYs8ij4CKSjVAcsmYgBn6ojXwC+4n8IAdWncUfs/R7PV3wWFdk1EfhPs+ RkyfQm2572JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+qI1wAKCRCLPIo+Aiko 1esXCACF4dJgi8sxM0WO2MEgm+ncy+BNxsEK9L7zgqp4jqVfXQNWMYjghC9ZR9fzVY9G/Dtbpfx tW2MFTEg2z5MJxwQSuQqQeO1kLuTJoHFWgbMXH1t7TKMFuL6JXQPjO9nV7E4DNLi5RL1Idju3wc iGsd910KY2+YkmQFlkWThcMc9SsejoPBtOAWuhzRDyzy9IhSO0GZYHZHC8p7cnHbEAJBOb96IPP ru1C/chUw66rjtIPXRHUDzrdFtUZGBPE9LqAu1qjvXIx710e/I5Om6AHMqmnaH3o8AIWr8IM9Yi w9D49q2I+MvG9uWeTdqyF2oZcipVcD/vBsyjibJLjjb54DcO X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=Mfhsu4/f c=1 sm=1 tr=0 ts=67ea88ea cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=EUspDBNiAAAA:8 a=oZP-O3FlLgu2oLpOfcYA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: aNMleKyiusDN5b3nfsqtLwB8QBmA8c3V X-Proofpoint-GUID: aNMleKyiusDN5b3nfsqtLwB8QBmA8c3V 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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxlogscore=704 suspectscore=0 clxscore=1015 impostorscore=0 malwarescore=0 spamscore=0 adultscore=0 phishscore=0 mlxscore=0 bulkscore=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-2503310088 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 ; Mon, 31 Mar 2025 12:22:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213973 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 Mon Mar 31 12:21:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60329 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 22DFAC36016 for ; Mon, 31 Mar 2025 12:22:12 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.50718.1743423725183468529 for ; Mon, 31 Mar 2025 05:22:05 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=VPyBP00R; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6kdrh014217 for ; Mon, 31 Mar 2025 12:22:05 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= IjqSc+Fk83D4RwHkQFBr/9eJ7T+XtKJ/BfYvy6m2K9M=; b=VPyBP00R2rUnHdrl G8Tf+FxVSFFrCeNpBIu57bBOHeR/ti7+ipT71Co+pfZGL6GFTOnTgQLo7Fgt090S O/NHvwUz43n3S/P6qvQPVCe1gzPeY2CCDekeS422nR9R60T28iTiWj5HjHTgdWLm sI3835CxPGRhu8rb4kkH/f23UMM2huj1ZGJIvQknggoZImyX/gIjaM7nSZlN5cDH 8JwO3AI+FDpVK/BdxPAh7VIPJ7XXbQklY+MQbuNuIKQ0Wy9dJRu22OPtEHqhlQHf QS8c0ASijk61+qVgBpIEAXjAi+/aUGEI9f2V6qlCI8KcIgJBCNXXkcIaBjn+l7tV +WEwow== 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 45pa1nvbxa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:22:04 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5d9d8890fso979889085a.1 for ; Mon, 31 Mar 2025 05:22:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423723; x=1744028523; 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=IjqSc+Fk83D4RwHkQFBr/9eJ7T+XtKJ/BfYvy6m2K9M=; b=Y34L26WQaLLqbEM7jdfczlnB6ZIC9Gyt5gWqZx2a8k6T/18FYnKAvBKZrJWhIws/I+ f7VfFMzMzW20/enDqoc5gzjdy4TDVxjAS8pcWB+KB3oGWV50JR0KpjUhQagbjTA6kxOk VlDv02FGB1jwgdGrhBCKrK3kme7X8GBQgI4nYwe2dx7CVYM/gMhv7sCAI9RKeMn6HVAS gKUzrw63kgDET7Da26FkIvQgol2zQ9JpMa+2+LdOuB6Fhj297UERUZd7z7GvAJjXvBRf v2y9s2pbYvqD4lpjroIq5IPecgRqPFYrRF0u8aJqEgl8SYTF3iIfYiPTAwnWrI+3FnIe f8aw== X-Gm-Message-State: AOJu0YyJXHHqje8XYSFIAnVdVT65cGu4OkYPl8tHXXh9Db8jcglA+k2t 7xQ84mw7THXM1NZtREMd+zkgkpQGMMn4SPZwhO5ZbqFVenQZSjoTk1Er1UorVv8YpLh+66zRtYA Utp1+Mj0QTqUzn+yWnFpEubhUa6UhtCoLF2rkEX0I83I/KMoZli0JCpz9ezAcqGJs24ApMvna7Q wmdDFjEmGA8rEK+4PI X-Gm-Gg: ASbGncst5qoGtR7/73elXQMan72kQa2rCZ4hgtjhrGP00Ry/X6nRXo8KYPXalyIaxja cKqpVXW18OoyCYeQMrBWkXPonPTNWi92e551mO1ksEX5YhgjboAaiEKBmO2n8U++D56NKe9Rans rbvIUnxCK7/pk15L1lsb9pp51MZ/EYwRrtngbSs7+x5Drdv25BUt2t3rN4r9pNtjtAkXS6wRSWM g67lc0mTdNLl4vBu+Q+3ry+HE0aqNFJq6CdMyW5iNGKlisC/PHxo0414AxPdEgVIJAj7lC5Q7/X m79C0HybRtMfoUxrKRIvUdWMbftYJ/dlXWhfmdUKpxNcIVoR5xXSO7aKoe+zcOSafrUq2AeYWQp rsJJXDcCZH5o6waN1JqU7u+efzW25 X-Received: by 2002:a05:620a:244e:b0:7c2:f39d:d0e0 with SMTP id af79cd13be357-7c5f9b5fda5mr1793337085a.3.1743423722827; Mon, 31 Mar 2025 05:22:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHFyOUJ19infZMTQDVFVl99nH/u3wttJikrvIqGRvmxgInVLDeXKRbg+lD8NLkG5UD1wMbj9A== X-Received: by 2002:a05:620a:244e:b0:7c2:f39d:d0e0 with SMTP id af79cd13be357-7c5f9b5fda5mr1793334885a.3.1743423722478; Mon, 31 Mar 2025 05:22:02 -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-54b094c198bsm1107200e87.88.2025.03.31.05.22.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:22:01 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:38 +0300 Subject: [PATCH v4 5/9] llvm: support building libclc MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-5-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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=6357; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=0ZJXg2kNIZBkrk7jkVjK5Iy/0e7Ebj4o/NmdEADcNBk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6ojXOpTXqSEpLtP+ctA3o7EClQ7UFl2ZrUW1e 0JlZfRX0+uJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+qI1wAKCRCLPIo+Aiko 1SucB/93skNrrnIUkXhyV/BR2u7uG2m7Q7CBHWo7DEGqzht/qre0XYKHdJT+hwP5qc5G/Y/gy4d fSVogiwnetmEuzlAsphsBEmPJ1fubyaGJpovNayDygbCI0uYDI5pPldY3AoGdKJh/NaCoPYPn4h 6U9CmK2eEMcbN/CYF1EOjpFv0yZqd+nOqjPoOVYl+By0f0YjJqiqXgLgVnC/vbttLFM65U/w2QH iVmUB8YAhv5qeZ4qZvfbB0jYz9478d2cN9EEGBR93oKFUEK8mJJcgGZbZyLS4qgpe0RGsF7b+vC tJjy9HajiQWtkFErM4DDvw2D/tN62Y6AE5P4NA9wItg/Rsw1 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: ctUhwRUUhtPdkv5ARylo84Pb6AyKRVLg X-Proofpoint-GUID: ctUhwRUUhtPdkv5ARylo84Pb6AyKRVLg X-Authority-Analysis: v=2.4 cv=MPlgmNZl c=1 sm=1 tr=0 ts=67ea88ec 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-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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=39 malwarescore=0 suspectscore=0 phishscore=0 spamscore=0 clxscore=1015 bulkscore=39 mlxlogscore=638 impostorscore=0 mlxscore=0 adultscore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503310088 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 ; Mon, 31 Mar 2025 12:22:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213974 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..3ae920122248c1aa33b53bc34ecb8b5adc3b1c90 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 = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" 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 Mon Mar 31 12:21:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60328 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 14373C3600C for ; Mon, 31 Mar 2025 12:22:12 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.50467.1743423729086050506 for ; Mon, 31 Mar 2025 05:22:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=N9klx26v; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6kdsU003600 for ; Mon, 31 Mar 2025 12:22:08 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= KJdMW7W0dXCmXG6hrH7PPGDMOHVhZUzClJFUJ7s1W40=; b=N9klx26vj7JUdLv2 NGgOy+/W0DJQHyziqlyL8FDcsNjp6C75GZaWWKp8+jQJRYbpEtqWA8ycvkwCyLLD oFV16+W0uwU4yqwBlv2TwD1KC9LOrVBPXugrjt1chEuR6TLn9gJDveGIcVeZE5gv Nj0uegstwYyWDNgPt96KZCtMW7nFwE85EoTXgwLUlMKRaWZQUJfmGvzXFOZ9fnEC r+OZYBR7Uexxa76MsNp/BrGZAxo3P2jsGYKSIiUBNaGGRT8OXvDftsKXopyEH9CO L40pA63Fsg40PeeLWc1acWbKTrG6w/qdjRO+AIw2cT+cJrExIlHlpKUnwxU5nA3Q 3koILw== 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 45p935vdpp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:22:08 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5d608e703so801141685a.3 for ; Mon, 31 Mar 2025 05:22:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423727; x=1744028527; 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=KJdMW7W0dXCmXG6hrH7PPGDMOHVhZUzClJFUJ7s1W40=; b=a3Ps16QlVKd15MfYwYcLInlPdarnY+5fSqUkJtr6PHjoamYLHyh/WI4Fp/jSvjsyb+ Gk1n/pJoOUvvPjRJL2tawAnQLAomC+was4Rbs/Zsf/ORI3RPQabUp1+scIKq3iX0aqCJ HTxmw9B/cqXXqM8i72vFbDfxDNwc0Nb4snOOOeYA41kToIUL66FbfcpNw/J9hiusAp42 qgGpIpPGH2oc0Bqd0V2hadGD4sCAGvFg7Xw+V88gN9CIepRA9vd+0SBkY6jZjR6Nrh6/ UGJiya+YrPJIBsd3crJImh/D4tp9S2cYXvqPYz5p+CqVk5HzHChBp9IA89e4zq1xZduA hb7w== X-Gm-Message-State: AOJu0Ywdhacmd7G9kaZ1JB8PUiG4JAPhk9M+Shl4eQIm3TYl653HLuUw YwYU6ltaYz3Qq8T5ATL9tALlMClMk6iaUu93/k5IsJ4sFC9VIPc49r3nwBVAswgMNzPqeRwUfFV Fsn4xSCv+bt3JmIZ5nm29k6pUbIt6rwxFkxrWVje0yy4Q3hWkrhNQDz+J9AAHqkmuLF0PtR61IY DQlLctS5le4Bg0dNxD X-Gm-Gg: ASbGnctSJ90NwPoXWW//xgZt0RNv0iI3XrVNevnXqFDnAJorqayFm68b0rkc7gn1Bvr fcfjAWfGjUqvlT9gILnbwDbbu113wlAjEPWS9OT0IFXKjssbbfOhLHv8QzvTu1hZvIzx06b4ck0 XSbl4ww3lZAonI2ji1NGZz5w22G+4G4yxPz8mJJBgaC5lbzl7VWSVrvz8Sr4r/IqCD895pbWPGV sg2SIF0vLh3dXP8AjrVa1+wWD1TfRf6uY1B5a7wu0MLrP3sNYpg+ngbb9IRpZdA65JlGDjVbIns PZ6szX//ss+jX6jPQOLZrvDb22NmxmI0Ku7FbFNGliLkh76A3/07kk1s6RIXN4eaK6r5j/2a0/U /67MJNLcvbasWiJhChp4NWWNQ8/F1 X-Received: by 2002:a05:620a:2a03:b0:7c5:5cc4:ca5c with SMTP id af79cd13be357-7c686e8248emr1173296885a.14.1743423726563; Mon, 31 Mar 2025 05:22:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHwc2ZKPsnnWe/VsviMSDvsa7Z6rOk8sRN19OvQb5qya/CqDcosrAdKKva5lRKZ00vrW2aJ9Q== X-Received: by 2002:a05:620a:2a03:b0:7c5:5cc4:ca5c with SMTP id af79cd13be357-7c686e8248emr1173293585a.14.1743423726180; Mon, 31 Mar 2025 05:22:06 -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-54b094c198bsm1107200e87.88.2025.03.31.05.22.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:22:04 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:39 +0300 Subject: [PATCH v4 6/9] llvm: add SPIRV-LLVM-Translator support MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-6-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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=7351; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=TpDVF17GiWy8Sl1jCvLnwhzsKR/c+EDTVo2aA9JEQss=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6ojXHOsXBA+r5M6n5p6vgJhQYERSSwvni4UJI Wb5UivnElaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+qI1wAKCRCLPIo+Aiko 1duqB/9aPTWsuJJ83asK5YySVI68NBTxDaBrRT/Q3tPwQX1dgOo/yn5JxuQubzLWNoK8Xl1UHOx HZRcMW3aOfpeD46WN5ufQXywrToxvvVvoG+ujGcFuylGT7S7lm6lzJgUhaVPc3TU0oQOjG0EAz5 4rrprsdwXSxYoEw7AXuZGVIolu5Q7ihAO/5/BoFr5bv+zCxaVrYCBEpbfAXQwthflVQ2qeEZv1X 9UDZAoq/3P7Pk6Wt9ImHJF/c2dnbJKbF+veTajaxTAIfqcgbb2D3UjRynB+gH1izMB/Ibn+/qOz 7EnWuhjNanyHkVcNgpyXLSM3KAeIVnWO9W04hq4sTN3g7umX X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: HdNGUkzJwoMyXlBRw29_qko4WLfQVZpv X-Authority-Analysis: v=2.4 cv=KOFaDEFo c=1 sm=1 tr=0 ts=67ea88f0 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=pEjDCETy_axdY1vJs2YA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: HdNGUkzJwoMyXlBRw29_qko4WLfQVZpv 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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 adultscore=0 spamscore=0 phishscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503310088 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 ; Mon, 31 Mar 2025 12:22:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213975 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 | 35 ++++++++++++++++++---- 2 files changed, 60 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 3ae920122248c1aa33b53bc34ecb8b5adc3b1c90..e869ecb30a5dad0aba0db9241824aa75cc47ac96 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -23,9 +23,19 @@ MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" +SRCREV_spirv = "68edc9d3d10ff6ec6353803a1bc60a5c25e7b715" +# pattern: llvm_branch_200, currently there are no minor releases, so, no llvm_branch_201 +SPIRV_BRANCH = "llvm_release_${@oe.utils.trim_version('${PV}', 1).replace('.', '')}0" + +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-llvm-translator', '${SRC_URI_SPIRV}', '', d)} \ file://llvm-config \ " SRC_URI[sha256sum] = "4579051e3c255fb4bb795d54324f5a7f3ef79bd9181e44293d7ee9a7f62aad9a" @@ -56,11 +66,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-llvm-translator" # 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-llvm-translator] = "-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 +81,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-llvm-translator', '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 +149,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-llvm-translator', 'true', 'false', d)} && [ "${CLASSOVERRIDE}" != "class-native" ] ; then rm -f ${D}${bindir}/clang* rm -fr ${D}${libdir}/clang @@ -174,11 +187,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 = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" +PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc ${PN}-spirv" +PROVIDES = "${@bb.utils.filter('PACKAGECONFIG', 'libclc spirv-llvm-translator', d)}" 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 +227,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 Mon Mar 31 12:21:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60327 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 22D25C36010 for ; Mon, 31 Mar 2025 12:22:12 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.50723.1743423731608257201 for ; Mon, 31 Mar 2025 05:22:11 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=KZpM9eUO; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6kj1g003696 for ; Mon, 31 Mar 2025 12:22:11 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= 9M61xgBYqj0QHLZSKbmb6VqVeAh6FqTkUl2T1HECbIA=; b=KZpM9eUOgDgyvEKW t0NvKvBq2/26e5m51OOO/tMg6iIs5OAnnz3ieU9jrVXYAcIf8zYks7JNHMek+Bnd DvVDdJIg2X+BfnAWstf4Atf1xmMl7xwvjwVlLN0LLZRcn/7HtaHDBYg5qiROsBqr 7thwo9rCa8ZKKZmu2ZcvTItYcMbmXA54bQVgKexP3sfLvIsYy7vwHcwCuKErIHNY vnftQVFvDWouxe2/AAzYPI5Oo5w6DaTKPJaRgnmoy7be3XxcjXpbKgb+C85CLHPE otuLe4mIuhfNcgR1Asnu5IjY80S9ENcD2uvAvDUbGoNut1gBl8kZVVolgJNT2ln6 ZKCgOg== 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 45p935vdpq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:22:10 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5bb68b386so302462185a.3 for ; Mon, 31 Mar 2025 05:22:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423729; x=1744028529; 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=9M61xgBYqj0QHLZSKbmb6VqVeAh6FqTkUl2T1HECbIA=; b=U7WiUQtggsGVMsDkrPXG0fWXUWKhm7hzjIve7hAHge07odDzM4SytwWzQCEhaRADvf 7lrKe7fxYqiHyuDBBSFlzAac2mCCIHexvBnfmgLfbEJ1wzcDFKhbu3hGp86526W0uTJq ZeXrFlXtIsNGg81W7FiKZgS72vd9ocvPqCAJkCNH2mDxcb4aGJ86JCxZG/xPUPIEk8pE ibUrFu/MxIwzP3zMIwCoUPvvBpn1WkkKyjyCofnOZj7M2T00iLrKCvngyWpveCkVRfyP 5F2H7cE6qjUoPpVFUB8SQZ5r1RgJlX1OSwKC9WvvRgmZVCehRS5fKIDWADYtQaO+fdAV ZpXA== X-Gm-Message-State: AOJu0YyVMIM0nit32m5dWSy6yfbVk7VuxiftGsb4eClQHPDCNSIxcL25 gGpTQJHuRPRTmTsyDY2H4udflZ/3MbnxDorqtilGOxmDMx86RS/Z1KHEWK2ciNMTopsASVu34nX 6MEJZBafkOevwTCLZsPGU+TSxLFoLX06c6SCWPfDfQMrDUt6TUnYN/LP99okXq9wBOTOgJOxoeg yyZ4HHQqINNJJH2Oar X-Gm-Gg: ASbGnctuCvePma5n+FnS6OUCKhgztLS2s+L3FFyZLe+3bnwxqjyBZxx011FXdQzQT5N SYLCCH+trpJx4byQOsZ8Btacgm02U7iqCQvXYboXeVUonr26e4NscDKxqTA4x6XElZVq2Ho+JTQ Gzn2t6+A24evQ99R0ql4872EPIGTApO2YJOvbjW3KLQoedZo5MkOCcFp5Dl4bu9PLq18nCMclGd PteYisFKah0F3N2cgetGT59mOX6iqrKEMGb5oIULrBtlV90025lW9lPGoLqQWJCMNQsjmDseqq8 xbAZjsAVa6+dKTtaszycjoPyyKqb/wVwVBbSl+dAK0/wLrwYiiu9Mz1OtmgqlsWR8qDxjsgrikE pLXDiwFPLo4qDBcse1ijxwcUk+ztO X-Received: by 2002:a05:620a:29ca:b0:7c5:4cb7:ac97 with SMTP id af79cd13be357-7c6862ec118mr1278957385a.1.1743423728800; Mon, 31 Mar 2025 05:22:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHF73FKbdjAglg33FyhVJzvKhad/OXZsMGtaclau/E2z1t3PAfcvGPsUlYniiOYfNgwSZqVKQ== X-Received: by 2002:a05:620a:29ca:b0:7c5:4cb7:ac97 with SMTP id af79cd13be357-7c6862ec118mr1278952285a.1.1743423728213; Mon, 31 Mar 2025 05:22:08 -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-54b094c198bsm1107200e87.88.2025.03.31.05.22.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:22:06 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:40 +0300 Subject: [PATCH v4 7/9] mesa: upgrade 24.0.7 -> 25.0.2 MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-7-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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=24620; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=E3Q8oM3IkZOk1/9IkYkg8bDoynU2LbS9R9vC4qtrTZk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6ojXwPhAi9Rw1itOuEoaSEv0zIOxjn9GKsGUT 45aKPzs8IuJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+qI1wAKCRCLPIo+Aiko 1WV2B/9ZBldwC2wVuyLt83ryUHDIgDttKlv5Ix6fijlBA+Ah4606CwP04MvsxrwE5IVBDxCecPS WiMHbU7wt5zjsDM3OGuLzRxgpx5bljIP8LC+hrRfjwxOP1mBGJT5MMKxuo4BYuUS/4radQqssSs udsDkrX9EnHjikQCui467hwMS1CVyeGeOWpPpOw7+3qVR9P0SHE/G1MbkkJ2oeT0NgoQyVFCjSA iVVbiIAA57+hRd3zCzsje6F5l2pVr5aKWERFoW2z0GpjH4wgQTOqm9y7CZygeovCQAYZBv+3+tt eHuFJh+XmQJh3B8It92AVVHrRMZLUw/MPLK7UjR85ABngVom X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: MsZISSbHsAPELNIOy4jlXXupooxMLhG4 X-Authority-Analysis: v=2.4 cv=KOFaDEFo c=1 sm=1 tr=0 ts=67ea88f3 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=e5mUnYsNAAAA:8 a=ZpVaWaFtAAAA:8 a=EUspDBNiAAAA:8 a=pGLkceISAAAA:8 a=r8WE6jLVMfowQimfk8gA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=Vxmtnl_E_bksehYqCbjh:22 a=5tn4MO8azEBWFjlAA-rn:22 X-Proofpoint-ORIG-GUID: MsZISSbHsAPELNIOy4jlXXupooxMLhG4 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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 adultscore=0 spamscore=0 phishscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503310088 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 52V6kj1g003696 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 ; Mon, 31 Mar 2025 12:22:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213976 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. 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..3518ac488d46012652b62094b913e5ae8ce9b111 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:${PN}-megadriver += "dev-so" + # Fix upgrade path from mesa to mesa-megadriver RREPLACES:mesa-megadriver = "mesa" RCONFLICTS:mesa-megadriver = "mesa" From patchwork Mon Mar 31 12:21:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60331 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 1EE6DC3600B for ; Mon, 31 Mar 2025 12:22:22 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.50468.1743423735031209750 for ; Mon, 31 Mar 2025 05:22:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=VRa7ubP9; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6ka5U018068 for ; Mon, 31 Mar 2025 12:22:14 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=VRa7ubP946X2GNBn mIdQC9IaapLceY3c8U+TQtvOCY4IcUwtLcHyYd95XjWc/jvbhJKTiA4PwddkBb7S 63r4m2W5OkGsD1NgOhrvXNb/YzJjYn/qGuUxSrVLHXI4NxMZ1/30Ue//9Y2Bb8EZ z5rEUfa8aplErkabE0KLGwt9JZjHnw/K7ptutxt+EXQ4Ig+5amUU9TBIfvxcUwmP 7SzjZmu0oYBGqlHcnWkUQ0uaUqFHpSgv+RriMhqIMzWsNa20rqpOFqIsG37igaVy PCsa6VW0LhXDTOwZFkLNjkPQ+y+wfz3Xvldp6ekyqvR6iSwguUD2cgngHFJCEkQN WXuIDw== 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 45p7tvchbb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:22:14 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5f7210995so319289685a.1 for ; Mon, 31 Mar 2025 05:22:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423733; x=1744028533; 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=j5h4Q832eAqfZr3z4R0wwKundlfeV4JrTMRLZsFeyqxOK19cQK/RdBb17vy+TQ5u43 2TQVjsZPU977O3jiOgjBsN8TEH50xqbPle3x0kGe766UxCAY3315ArI9vD957F0SgK5P fE/TU9WT6sjb70z8J8okw/Kg+V3ADsxHyNIQ9eXf+h7rf7BM7hc+gfLLS2Vld1rJ0hOA 1VocZ2v1+VV6LiZP641fr+Na3hU8fAmNKUpRBvsS2tbh/SH5WJFDXC4QWeB0VIXPQJPZ zWu6JxNbUiIDxWMYIe40hPq37HHUOhp1e2RwFLS13aOP1PjtYD8/rvx/ckBLBW9kJyHX aEpQ== X-Gm-Message-State: AOJu0YwfcsqRxfHi1yK66+rVJjyQtuxchFm79zu9x3gKYYhoKXdhxyJk THcZ93FQtEz+kNi0HoF+pdEOFFupm/TXBjTl0dI3SpdxnoB1bBdfdCGiRj6cO1ujUS3bUUdClYy jl5F0faRIyQMI78d+fXilalw1LYIhIP4c37D0ji74l29TOy8hLH5LrqPjPHHoHC+xp8O9DjlMW5 54Ayt17uwH36KfSXzW X-Gm-Gg: ASbGncvL/O2QNnMeF3BL4n+1CGS4nzYW4t4RcvyCp5Mgek9027z57/cIW++cU/DHEAi Htty8aUOrCDQdqvDvNQNhqVe3xucl5VVgxq7JDBnq4ixYgPbna5c3nUHOKOHNMu3HJ33sG2VqJV bhxkmhxDis+q5T0+kezpb4t2bbdY8dnVPQeT+0KzSDPemUxHdCrQwEI8iVgJDrfas8feRV5TgGy 5TLtMUEnWBqI4/iu/wetsmCYgHvmQXHQo5udtYP3ThlX5ym5SFWHF6DyUV+RJkw4pKuqXKxeJQl eCm6Qjt17SKzE92X1MWekCn3bWUmqdTbo6++AyX5zpHptsMH0QiiMFQ2E9Sr/Ifi5kXa/DgP9u6 pZ4UucMR4YCoo52fCk4tjV1tzX+JH X-Received: by 2002:a05:620a:28d3:b0:7c5:a20f:a091 with SMTP id af79cd13be357-7c5f9b620efmr1839569885a.2.1743423732466; Mon, 31 Mar 2025 05:22:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG5OxQDDCNisLSyb4iZGugCMTwz44mmviAfq7K5SrKwnAV94yCG6tLMjHUd7/vFMUf1CwFtIw== X-Received: by 2002:a05:620a:28d3:b0:7c5:a20f:a091 with SMTP id af79cd13be357-7c5f9b620efmr1839566285a.2.1743423731931; Mon, 31 Mar 2025 05:22:11 -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-54b094c198bsm1107200e87.88.2025.03.31.05.22.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:22:09 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:41 +0300 Subject: [PATCH v4 8/9] bindgen-cli: a tool to generate Rust bindings MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-8-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ/qrjuuSWbmsExNYTv8JSWpdxhoQFMls8HlT1zT+Yww7O Pb7fvXqZDRmYWDkYpAVU2TxKWiZGrMpOezDjqn1MINYmUCmMHBxCsBE3r5n/1+7XNafQ3n5EsZI 37A6qdvXFJ42H3u43CXSRe/wYRH269NPLFMxb5QMYz1tbXSyIOF1i2ukQutxxwdvAq4lsfl+d9x /qDLati/HzJTTJuB5LdsOe9FcbUGP309X/IrnE8pZ+SfmlsW+Y9yKiYGlYaUCf7n6xVcp7/kkuW PtSWadJyX3y7oWT9eYuK3jyG5hMd67bo491y853T58Xz3SoLhyl+oek/Ce2Vqt9rk2N+5WnNDf1 jVryT5Br6r/x3KkHjDH6c5yUl3Bs8Pj54oFly99rpkfYDNH9dDmeOUjT8tPy4c//ja7696tWax7 nCVZZLwcHXI9vm+Id54vbSK0y0qQO+1RA9+m8wUGCnuSAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=OIon3TaB c=1 sm=1 tr=0 ts=67ea88f6 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==: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=PEH46H7Ffwr30OY-TuGO:22 a=71pCXManv-pOE82v44e3:22 a=FdTzh2GWekK77mhwV6Dw:22 a=nM-MV4yxpKKO9kiQg6Ot:22 X-Proofpoint-ORIG-GUID: JAg0PIMM1oCUG8VbJmKPRiGvu_fb50Cz X-Proofpoint-GUID: JAg0PIMM1oCUG8VbJmKPRiGvu_fb50Cz 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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxlogscore=999 lowpriorityscore=0 malwarescore=0 mlxscore=0 clxscore=1015 adultscore=0 bulkscore=0 phishscore=0 suspectscore=0 impostorscore=0 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503310088 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 ; Mon, 31 Mar 2025 12:22:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213977 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 Mon Mar 31 12:21:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60330 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 2447AC3600C for ; Mon, 31 Mar 2025 12:22:22 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.50728.1743423737042365665 for ; Mon, 31 Mar 2025 05:22:17 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=owx3V0It; 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.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52V6l5Ao014789 for ; Mon, 31 Mar 2025 12:22:16 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= 3BSexOko/5StJuFC2m9cvS9JrIelUROENlLEunw+ajo=; b=owx3V0Itgsj//qPP HLUdf99ofcyTcOnVjFZ1Fwr2Hjg2i3wy1gZzwKY34YrlB0TpRQIUffFKjEL/+M4d Kh0nWA2GOCpUW5P7j2z4egFscw8bb2OxzqWI7kSn+B/oZ2rErFrDbp5oorjeDz4q crpQ5JmSdMSK2kgNp1VtW4KrlFmWch96pELXMXPWR3+NGntsRdRak5Ia3+mn6Gix 5PCy1R5Y82r5ohK5AP0fFDiKmE5ttuvzhyF+we7wjzIbZp3zHbbPMh6fGXjVNXNE 8Ul6ljCPAoLiLkhyNi82L7SQkJdD/1nbhTdR1bIyGXq7vDEttgoCNlhtmM+SDZtb WzvAOw== 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 45pa1nvbxr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 31 Mar 2025 12:22:16 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c0b0cf53f3so677710685a.2 for ; Mon, 31 Mar 2025 05:22:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743423735; x=1744028535; 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=3BSexOko/5StJuFC2m9cvS9JrIelUROENlLEunw+ajo=; b=DQ0za3Z4jGcv57Z3mEQl6l5aYBOhBR/PVcWqeslGaXfRACL4Y20kbLsvmsHX4ELgax 0Y9BUaMaKxsltSCWJHZTSBhlE6NIWQcWXByOqIzBz4PacDfpuFuDGkHcl4oQjo58Y99P BjHVinc9me6VQNOhnTvQlquBO0nwmuMgeglsE8ZjJNfvWifKHswcUrPWN3iZVK4BNPVJ 0kP9BrsaVeiB1RBfiOToSA75eyM9tnFVgdceQ6xWD6VMvpoCd57HL4lf+O8wksfLp/0p nkTj6urc4IYwr/sEnCtWhcOhpAyn32CuOKR4RCHqgDoz/eeeWhjF3zhxqeUTrhbVcJrg I7XA== X-Gm-Message-State: AOJu0YymwVv2RL/zRUQj7h+NX7/dUcnwLGDfwhU/+dE1oK+ZggtVRW4r ZCI/lXBd963CWjgtdZZyGMEm5EleKYNSYbpeUwRu8mL0P9vAyM82rmyY3k81qmI5u9LIqKKK5OS ism7t2gKErGxYcLxXM7ZiWEkXDNXrFY8S88PmauTpsJEUFManXJFMIvrKi8sidnZMVc7gKeyxrM DNW7u72u963hXSGGWb X-Gm-Gg: ASbGnctvEv+8QkU6pUUzhKswNjxAuNFHKGYGZdTqQXqGzz87+2dYO5+Z8ZWT8XbYaI7 qe92gcp/Ld1yMYturaB/BvK3QYjvUe8oMt6uDnTPOUeWpfZb2/3c2yV8a0t7tTGaRusKRMg2vsf LNjUhXcIqajZ8I6BBwM91nWxL1aB1sQsiBoLDJsbr0DBsrz6tNoJnLObjXUdoAw1PuXuaSHUnJ2 WZ/RTUxN9cs2lSySZAuWrQ+7xYkY+Md4Gv3QtQWe4/ZNO0ZCEvGGxhfBTZL2KJgIhQJNJqY4jXe zhSgTVNSpzgABDc5vMEQqE0Q4MJjfmrFVqA6+02wA1/7Z3lfQMs2rS4p1JecDjlW9yHq5DjFob9 GlnkmWSgd0j6VltdXV9Be2cCH2AXC X-Received: by 2002:a05:620a:40d4:b0:7c5:cd94:adc with SMTP id af79cd13be357-7c68e988f11mr1297253785a.21.1743423734828; Mon, 31 Mar 2025 05:22:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGIoPhXA4f0LA/RO5Wzuvsd6LE6xSs7SkGKVDd3uVAprQDlmGbb4rGCAzJhLHFb+EEcojdUYw== X-Received: by 2002:a05:620a:40d4:b0:7c5:cd94:adc with SMTP id af79cd13be357-7c68e988f11mr1297249585a.21.1743423734390; Mon, 31 Mar 2025 05:22:14 -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-54b094c198bsm1107200e87.88.2025.03.31.05.22.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 05:22:13 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 31 Mar 2025 15:21:42 +0300 Subject: [PATCH v4 9/9] mesa: add support for RustiCL under PACKAGECONFIG "opencl" MIME-Version: 1.0 Message-Id: <20250331-mesa-25-v4-9-e62fc54a6efc@oss.qualcomm.com> References: <20250331-mesa-25-v4-0-e62fc54a6efc@oss.qualcomm.com> In-Reply-To: <20250331-mesa-25-v4-0-e62fc54a6efc@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=7665; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=gZzUi2ZKE0ttzGjoSROzlRIsSxV878nok71c1sxPp/k=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn6ojXfQQCAocXo9/qkYrpJjuXiDjh/m8ky+fCc +klRr9QCy6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+qI1wAKCRCLPIo+Aiko 1SDmCACpUZBqt/FhjlyhooD9WddnlbJBVMuOT0LRgaYwS3VXw1iWFxl7Wapa8NrBaHLT75oAftb WAMqlShavF2eHhDm5VrDGHef6RKL4pnGHgagmPo4T62h18uy72r3C9CFR7KVBH7UzS58ajLnRFC qe3k4lREQR9a8j8QQt8kJ6OD5ONqeMmAFC6Han3+v8cvIZd5f5/SpFce5KqIsdX/VZX0dysYaPT R8AH7nTmem9NBh9IuCCR5+DLWqeZjLkOf1zPqrsCnXcweCJLdnRdmwqp0RPKv3fCNaroCZ+NX/e plIMn4hs01JmGpJYgcHIHLVwRSj2b8DdKdITDlTXEUXXQxO5 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: IaIabJROFkXdnncy5tCY_uMzfWKc1yLM X-Proofpoint-GUID: IaIabJROFkXdnncy5tCY_uMzfWKc1yLM X-Authority-Analysis: v=2.4 cv=MPlgmNZl c=1 sm=1 tr=0 ts=67ea88f8 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=NEAV23lmAAAA:8 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-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-31_05,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 phishscore=0 spamscore=0 clxscore=1015 bulkscore=0 mlxlogscore=999 impostorscore=0 mlxscore=0 adultscore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503310088 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 52V6l5Ao014789 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 ; Mon, 31 Mar 2025 12:22:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213978 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 | 67 ++++++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 20 +++++-- 2 files changed, 82 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..9506a43376857afdf271aed3e08b8f0e3b54081b --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch @@ -0,0 +1,67 @@ +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] +Link: https://github.com/mesonbuild/meson/issues/13591 +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 3518ac488d46012652b62094b913e5ae8ce9b111..4db08530bac9fd27a62ad9b8a336cfe072b0c20f 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 \