From patchwork Mon Apr 7 09:48:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60854 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 D5322C369A3 for ; Mon, 7 Apr 2025 09:48:19 +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.43384.1744019294671543600 for ; Mon, 07 Apr 2025 02:48:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=T0lT4X3l; 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 5378dooT009987 for ; Mon, 7 Apr 2025 09:48: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= EnlX3QWUCYrIsL2ngorW5rdEdpjwxn2t0gbHgboQkRY=; b=T0lT4X3l4m25s90M 8EmiacUpunO7ncIhSjAZwX6na+2apJwot2V9VXTknuAWcK0mA2uJUmc8FTe95XKw wucXla0X4RrCZaOvKahCyxMkr/zZXSrZhGaoqjzDedob2EVIPurymTzJku0YRbrj awpk4xuOMOmzheVWEeisolisn7u8ummsAHd81djNojfsPxnJRDfrNnq6EUptgsaj roz6dYcCCSsNnd3L4ABRecLHMS6TqnHz3YRZH/+HzXvn7XkLwkQub+DabL91A09o j1ihlimuVm5aoewGtwYKxuZAQ0cilRx7Zks7KFrZXDBo5e+o3I65w3u4mLgsQlYe mDWK3g== 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 45twpm3rga-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:14 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5c77aff55so1056071385a.3 for ; Mon, 07 Apr 2025 02:48:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019292; x=1744624092; 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=EnlX3QWUCYrIsL2ngorW5rdEdpjwxn2t0gbHgboQkRY=; b=VL0c9tdUWGuQS2TN+//usb9nNY/7UHSmRd/brbi0fq+sQhnZ+EpGjymERBMUBT3Hyg pZM0Nt9yOcFJaybYjKIN9TsiSc89FdBs53RoDCiWmO8iMY8IXB7QPHZT5a96+9jFZIE3 STPOMnfNKzrBcNrLh9I1djy+7M2uGc6G6zWPPy4m5D2f1Ka4+aMwsjYBjw5D6YNlw7QR Tpd58mfdNxn9r1y8ZbSnQf3LKnX+WU56c/NfwEbJYYDDDXkQpq+H+7I3B6hcmyWn6fLV um343Vi6rj4X/g59nw1yLDJL14U2r+zFkan+qGnfq9DuFaelqaC/HdEfuJEQZu1EnU+r xHog== X-Gm-Message-State: AOJu0YzVd3+aFD5oMCfBTrfTI07ZquSecb2vMwjwjKOvI66WKqxRv0Pl OaTzANGtmj+oPdpU8LXg/kkGSfFTeilBOCLlFGJ5yeEBM7r+uE9vM5u+CA3uEpTNysD3hItguYt lgMMaZPFvXnCDVdjMvQ71tnaP33QMjO6qOi5nquTfDtjEwfu441VJKg+SS02Wa73Hs6oEMSUe/T XluJiVPaIgQ0Y= X-Gm-Gg: ASbGncsJEtFGKMVN9SnpRDSAYsK2amAwgUQkDTGr5oyNEN9Y64eGroyk4mU0LPuhCDe 6yL/FTENbbKY+MeYM66QAR4jrnfIXx1r1mX9sfVREAHHOa5DpguQK2go3nZKcvqxHzOKRaILLz1 FlQ48xtU4xCG5PZNIATywzZBGmR6qAbo0F5JkLtCKt1SSlujsyMiS7kyls7GVO/HHgLEyrgmOFV KLJclh/wO8xeY6hO9piYcsDw3f6q2ZCfsWDtgHpzK9e6cDmOQb4MtxiYuvFjnYji35sqJ+Yz0Xt b8M+mKRi1TQ+tcHrp0Ul5meHUToAR9zj3L8f1RQWHKHfHVOVaYFdgMjE1qFyn5tZDFmFH4/Ye7G ovpdKJ/rq2/Pj6+RY0ppX+ObGmRdA X-Received: by 2002:a05:620a:258e:b0:7c5:4b91:6a39 with SMTP id af79cd13be357-7c774d71801mr1550131285a.33.1744019292312; Mon, 07 Apr 2025 02:48:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGG/Q2tFdz2hHxdiooGR2gPvOv8EDGr3JHtna45zexTwWPK+StU2jWs7XESoCkQDFAZZNqH5Q== X-Received: by 2002:a05:620a:258e:b0:7c5:4b91:6a39 with SMTP id af79cd13be357-7c774d71801mr1550129085a.33.1744019291971; Mon, 07 Apr 2025 02:48: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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:10 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:06 +0300 Subject: [PATCH v6 01/13] runqemu: also set GBM_BACKENDS_PATH MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-1-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=2660; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=tmoZR/PXF7m507OV2TN8Rfngn0pELOvLeNUojKEA+3w=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859WWwh++hn7cwqypsJgLRSQIJJNEva/HT6TB JQqoQUXTUmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfVgAKCRCLPIo+Aiko 1aXLB/9uE2X5o3LNk8QpacSIDgMWVD6TCHoseIlOA04aNFjsfCqoCVqVz7nwYo/LmCMM7EnuQCr Qc5r7YIIAF9lCYh879erYaxU+Ls3aAWgNcaPhZ50a7xS8Fya0+2KDf10Td07r/RSIC1i6Roi5Oq X6av4osmyVTATUepTjkw4D8OabC/ytdK5DJEKi/OAtjCd8S3N/W1jm/xfE1/C6HZWQ4FnJyJ02l yniYAYqqjpMJN7vQOfp7fYVtnHp0YuJjw/gRzGi0YFzw0E9jsQe7Yod4GSU8bbJdl/w4Juuy4AF H52DF6t1pEsCNJ6GQxVAaJdP3wZ7sJoVFNqYHiR4XW8ogPzG X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: blQPdxOobpZfpsefbC0KXs_bS8vqgnzp X-Proofpoint-ORIG-GUID: blQPdxOobpZfpsefbC0KXs_bS8vqgnzp X-Authority-Analysis: v=2.4 cv=MpRS63ae c=1 sm=1 tr=0 ts=67f39f5e cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=5p7H2duF2IrNtC3iPlkA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB: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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=752 clxscore=1015 priorityscore=1501 impostorscore=0 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504070070 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, 07 Apr 2025 09:48:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214430 Newer Mesa dynamically loads GBM backends from the libdir. This is going to cause issues with running native QEMU as the libdir (mesa-native/recipes-sysroot-native) will not exist when it's executed. Follow the LIBGL_DRIVERS_PATH approach and specify a path to GBM backends via GBM_BACKENDS_PATH environment variable. Signed-off-by: Dmitry Baryshkov --- scripts/runqemu | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index 86124a4a6a327e8c522944fd2ff9fe645c200722..3d7704697285ff9a5da45644eef4b7b3fce93dbf 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -468,9 +468,11 @@ class BaseConfig(object): self.set("IMAGE_LINK_NAME", image_link_name) logger.debug('Using IMAGE_LINK_NAME = "%s"' % image_link_name) - def set_dri_path(self): + def set_mesa_paths(self): drivers_path = os.path.join(self.bindir_native, '../lib/dri') - if not os.path.exists(drivers_path) or not os.listdir(drivers_path): + gbm_path = os.path.join(self.bindir_native, '../lib/gbm') + if not os.path.exists(drivers_path) or not os.listdir(drivers_path) \ + or not os.path.exists(gbm_path) or not os.listdir(gbm_path): raise RunQemuError(""" qemu has been built without opengl support and accelerated graphics support is not available. To enable it, add: @@ -479,6 +481,7 @@ DISTRO_FEATURES_NATIVESDK:append = " opengl" to your build configuration. """) self.qemu_environ['LIBGL_DRIVERS_PATH'] = drivers_path + self.qemu_environ['GBM_BACKENDS_PATH'] = gbm_path def check_args(self): for debug in ("-d", "--debug"): @@ -1461,7 +1464,7 @@ to your build configuration. self.qemu_opt += ' -display ' if self.egl_headless == True: self.check_render_nodes() - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'egl-headless,' else: if self.sdl == True: @@ -1471,10 +1474,10 @@ to your build configuration. self.qemu_opt += 'gtk,' if self.gl == True: - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'gl=on,' elif self.gl_es == True: - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'gl=es,' self.qemu_opt += 'show-cursor=on' From patchwork Mon Apr 7 09:48:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60855 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 CF47FC3601A for ; Mon, 7 Apr 2025 09:48:19 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.42849.1744019296032210647 for ; Mon, 07 Apr 2025 02:48:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=P5INITb7; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378dqGl001341 for ; Mon, 7 Apr 2025 09:48:15 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= 1d0cE5Am2Y6/pwqtB7RLaFoA0POG5JwuJqFgpJvFuQs=; b=P5INITb7LoeLL9ke 5u0YBE4rAEZOrXwPqUPVeE22Qi7jASY5HtPkmMUhBK+yLRQgQyLy823f6iv340qm 7KymyZEw8igCLYAVz1SKx0VJix+aETdt0gzPg9Ggq6zkQ0nE366PMdKZn5H8rdpf OSn23p1ARsr9wBPo2bzJi8aQZvAqcmyCa09I8N3mEM8U+cKEBQmTMhf88UZvs3R/ /GIw88Q/aqP43aVIbbTIoogBvzHTv33IzPVrUfRCXG4B0bSxVFO4rFH0/fpSTc9T vBNerPwXoT7lcl4Cj76VK6gpVPMHtZzSWF8dVmL7TK9Kc9qrmxt18bwvEUeU9fod mg1B6Q== 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 45twfkbrdc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:15 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c3c5e92d41so690073785a.1 for ; Mon, 07 Apr 2025 02:48:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019294; x=1744624094; 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=1d0cE5Am2Y6/pwqtB7RLaFoA0POG5JwuJqFgpJvFuQs=; b=JPoKYris+6sxTb5Wp/cZVw7+ejnzQPCFQghydzJsfhyAtNKKuAeiwf32kQLPNAxCrA yFrZfagb52TvhTOX56O6chJsM11BRdHqZgOUZyMqwR9CvI2/7VXOc5YB0b2iseddecKB 1Hs5vf7qqNW/7P6sJXYLbEf5coTqvek/Di+pXQ7yXR6oaDTy/UwMOlWd8tNLWuE2Wuk1 rO/p3EPksVZINpc2R6ehnP7d0TVTxIM1cabrazlbf3ISAkNq2ReN8fl+GFOCHwNElaLU DNkAThB/QOZhQw9Jp3XGoX4w6XX/8Uh5z0RKoFG/pFT3WpavgPMQRFNlgCiB9484VK5t OuCw== X-Gm-Message-State: AOJu0YxgFiJ3pwOjrVvRM8+sYcg8fd4aW0KkDnGljsb6o0A0iqb5cAVA YyARhB2Lh9wr1Tjba9bpSNwhszBATvV3WHv4gVTnTzUfk8q17UAsH/TjAALzmXH4+vAyJ5rOJQV TZBiakKCNfL7DIs53cpB9JBo7vR15cT0Ez3rO5Vm3sUhHqYHovt5XBRuKdeSUk0ynJ21GxBmC0Q qFOrYHHXVPnqY= X-Gm-Gg: ASbGnct92bYR9R2g866cuS10jeHklRAk2vlYhrZKagASHE2otI20KMqqBSOHHw5ext1 cj3oba0Q9WYvRChguse8g8bC5rkY8fWWUiFWXTmLPm+VWchraR1Ox3qk+4HJunnLXzeFPrgoU4V /6npqMxTiwSLAaQY9p2QBd98MT2WNbU7eeQfhneboYgIl+8W2kcdsO+NkJjMImnIjPjOG9+FxGs 0WTW9z9XkHhl0t8z4+Tlw7l2I/4GbiwgS2Ek93mD867IMXHVrMmUjbJwlxDb64NOmQlwpkj/z6g SbFozqh8ZwEDihMDwMepJwnb3YbeU+58tlIwT6iDb///LFL3lPGMPLgrzB4K10tvL8uVamAVu9T 0FA/s4s4FtPsDqoaVFb4EU5H5zor6 X-Received: by 2002:a05:620a:40d0:b0:7c5:57d6:ce3c with SMTP id af79cd13be357-7c77dd61f0bmr1138451985a.22.1744019293799; Mon, 07 Apr 2025 02:48:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG0VytXbWM+C11J5DuBtRYyengLWHmBq5iJy1rh/oIOAma54KF0yCHOObZNOT7bzC/Q8MX+dA== X-Received: by 2002:a05:620a:40d0:b0:7c5:57d6:ce3c with SMTP id af79cd13be357-7c77dd61f0bmr1138450785a.22.1744019293488; Mon, 07 Apr 2025 02:48:13 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:12 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:07 +0300 Subject: [PATCH v6 02/13] llvm: move libLLVM.so.N.M to llvm-libllvm package MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-2-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=cw48dZ0EB/mqrjyTkxQ6kJ8lX3vxhmwkpNaF3KTcj8U=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859Wk0UT/ICe/1Y6N3fguigTTjDDM9u+6IVTA ZtD6VpDcqiJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfVgAKCRCLPIo+Aiko 1REVCACcl6Fx1EzsHjNMIrbv8pzsxiqI15VO+3GzF4xxHdjO8g/FNjnPa5D4pi0TGjydz3Zvysp Wj5hUNwj3S5ppyn66IXKk+CIqAqvKX9hXvanEdPmA8X+48zLj7ZZBb7CgPCWdIBzfJJhaqenHgV 9P+w2aevd3XyLpAbNdSoYUU3S4DfPcBlRBifonhhfTG/mqPcB3/gHLOASnwfrlqytH6xdbv2kDl MnRU+Cf1kzJfzXJxCLV3AzJ7SC6o1I+DSRD4PV4r3dCXdHQjFjcCW1ecw9Yat27p+NG6rDDMEPA 00xC/9WvE1hOxBDl0LpozmKPtH1dZ0mBxIlaTpTnMloLCYGH X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: THX6w5eunRZRAPI0IZB-KI3hjpLqmnSw X-Proofpoint-ORIG-GUID: THX6w5eunRZRAPI0IZB-KI3hjpLqmnSw X-Authority-Analysis: v=2.4 cv=b7Oy4sGx c=1 sm=1 tr=0 ts=67f39f5f cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=UXYEonSiWARR60OBTlUA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB: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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 mlxscore=0 impostorscore=0 phishscore=0 clxscore=1015 spamscore=0 mlxlogscore=753 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-2504070070 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, 07 Apr 2025 09:48:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214431 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.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 5c6c5a2ffd19fbd8ee5e139179c23c447253919e..194660fdad1f8837eedce3293d56e7251e5030b7 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.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 Apr 7 09:48:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60852 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 BDFA3C36010 for ; Mon, 7 Apr 2025 09:48:19 +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.43385.1744019298187407993 for ; Mon, 07 Apr 2025 02:48:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=F4aZv2tJ; 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 5378dvKW010542 for ; Mon, 7 Apr 2025 09:48:17 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= mxVIQywhiZ9YOuUBkpl3wuYcNsg05g4TxVdzCoz5Ol0=; b=F4aZv2tJWEykIFQC THfkspZsQ/iYONwf7gFEhglxB1DjXXodIWhy/Z0m7MEGEkSumPq7u8uobUF9MyPk PeA67XQ9nPCuFmeQsArznrjI1Kr4qmDieLqnDa/lWptJ7jKYo860QxKTUVKs74ka rSwsiTO0ftlDseTkk3W3xQly4EmrMjkEEurJmgXEi3o+xa+ZRyLlz8kFyfERqK07 z8EDexdSTdTI++JJwWeNJpxAff38F3Gkw48U7fSdmhoe+jSS2IvMHCkleXVxSuL2 964Se4Go8HkCqtLAtXXz/rCnc2l0hCp9nfb97bxgpeMjcG6BkJ3G8si8kJcEzInE UJ6xxg== 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 45twpm3rgd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:17 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5ac559cbaso813065385a.1 for ; Mon, 07 Apr 2025 02:48:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019296; x=1744624096; 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=mxVIQywhiZ9YOuUBkpl3wuYcNsg05g4TxVdzCoz5Ol0=; b=dEaMoasx7JN+1agJ0LvaZ3uN/sn4JP2Ai3vsOw21gFn61ivf93vTYkxjm8YjSla/UY FQdRSYQTa0wAJ1H7FXWMrrwVttZ+2GLc8OvA97+XmcwDN0cJ5ck+3R5ZEXBjGDm++7sN Q/sFjK4Nsz6j4rem3eiM+H5Si+ryJHxhzeY1tgnUvKu/8VwHZYxECcySbHOBzatMLX6j R3TTlAJCo2js+T0K4PmHRc4RdiOynv4YEzrJrF3WSrREd6I/F0WKh6pEgT8gS4ipUywE +TtVv5WaNuYPsE6wrUFEwlz6HtygV3MOLe21/9QYfOXz6Uif0vvSmBVc+0gy2leHQeKU Yrkg== X-Gm-Message-State: AOJu0YxZt08epTkibUPId73nzVJCCw41+yqNnjEELo1w/AxPBv5UgHme sR9M7P1UDUOzbJgJKHYm2xEByQ1lqx9QerBv132HGqvuIYfi8L+Mc9Dilt5H6AAkZDzS8YIRmkb a87IRgKzldmaNvhN7LcVa4JQxKfQklsrYDhRsLBrLabCpAcPp3E35WgzHzNlP8X9P98pCjszaRs 2+qxY= X-Gm-Gg: ASbGnctxaLYKlJTMgowVAdOHS+ehsq0Ka6LZaqbCjO8ntDz2rbmEEl7WWD3/TtkKxeL T+MxZCvNjW5vPTYVYUgKOYD/IUtKiOeO056Z3kXnb3qjxxYxw0GE3gXnV4Bx0taW8YI0DRTVC+T I1iIWpAJtU9YqdlmD/aE6DNAg5hAp+QwHEZ6hQC+5WhmgLPKrrflox7Ub/K5b69FzXHyZERe8Cw ZWoNcaAMUepr15Gdr60nIzZHceciJnm6OUle7IUvBGhk6jwMObhaQJSRoutLOEzNotFUxMl04d0 9rI7vL7o10YVQ74P3FemNCMKg6CTtUFiOj0GSlF7z5A9Fj5mdan/o5Iws1kez0sLcZ2rNlTNe+T k1DNUC3g9GowVeQ6FRx0I0tJlqdYw X-Received: by 2002:a05:620a:4711:b0:7c5:46e4:480b with SMTP id af79cd13be357-7c77dd878ffmr1117557285a.22.1744019296271; Mon, 07 Apr 2025 02:48:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH86Jpxexv5fH6CQC4iyfWhSLGmBA+Ou3NYTid3bP6Jbwnw+R7Z8reSL4NxSXhZgzHD01n6wg== X-Received: by 2002:a05:620a:4711:b0:7c5:46e4:480b with SMTP id af79cd13be357-7c77dd878ffmr1117555285a.22.1744019295932; Mon, 07 Apr 2025 02:48:15 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:13 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:08 +0300 Subject: [PATCH v6 03/13] llvm: use OECMAKE_SOURCEPATH to specify cmake dir MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-3-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=msY/GiaQPn1I+mVA/wJknsgTpKRthaqaRkWh46fJtgQ=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ/rn+WG3rUKSTJK8ol0vcVzO653dxdqz8qAor5XVodWzu LfGmhd1MhqzMDByMciKKbL4FLRMjdmUHPZhx9R6mEGsTCBTGLg4BWAiwgLs/31eL/zAzKfm9Uf7 tOY/R6vpu5P33zFNCypWe21pnqzo+N3kOp/HtFbtzeJPLHa6iHtwGp+uL7epSHh3dtutJ+daWF+ YiLhd0BR/KBh5p19AIajgwcfjYok+d/lmze/q31A0y+QC64xo9vW7D7WvXH35TNd65uCXezu4GR 8I179beq7Uz5jpxubVIWt7xXR2lUx3LewIdZjyNG7WXWbmvV92/CnrmyR/pcLWiyd2Hm8pE9vR0 hDlsD8qWa0vyq50WTn3H3iQlrRQ/ZnynLmlKxUOZDu/5In3ePPeoK9qvcYq5Q181rHTzkzWnPC8 SmiZIp/B0RWCPsxNvZzsT08lC/kYrzu2pG9n5NU9tWe8AQ== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: oqZyO1naLXesxkROKhPhJWuO4Jf3CYjH X-Proofpoint-ORIG-GUID: oqZyO1naLXesxkROKhPhJWuO4Jf3CYjH X-Authority-Analysis: v=2.4 cv=MpRS63ae c=1 sm=1 tr=0 ts=67f39f61 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=DXol61RQ6zBorhFbQVEA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O: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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=796 clxscore=1015 priorityscore=1501 impostorscore=0 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504070070 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, 07 Apr 2025 09:48:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214432 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.1.bb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 194660fdad1f8837eedce3293d56e7251e5030b7..8719faebe38b96d161b557a469c92490fe44f370 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.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] = "4d5ebbd40ce1e984a650818a4bb5ae86fc70644dec2e6d54e78b4176db3332e0" 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 Apr 7 09:48:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60853 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 C53D5C369A1 for ; Mon, 7 Apr 2025 09:48:19 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.42851.1744019299335476118 for ; Mon, 07 Apr 2025 02:48:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=G+XYQVTM; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378doTP001298 for ; Mon, 7 Apr 2025 09:48:18 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=G+XYQVTMQ5iYho87 8Qy3UGgtrlZYu+BTYJ14W8HEwnSdRJQ73BSjN00QlTZMjMnca5+zCo1LEIvGokKD YjHtZnZWPCkTBzZ38hKgwc/CmrnckyT/TFPwujkN5qw9IAzpNBzGqfJ1V3Pncdtw 7ppro+prBW61rnfC6a70AQ6+FbI8SC9J2V+dzVB+ce5KyZAvT1aWZ1xFijDz/QcC Fw6iiHryZ6IFND2zSgXVXU05pvJVoSnDRXjOZGBIiiNESCx41m/Hi5U6kN/jbFov vHvNc7YH2HFu4vmbL8cpiZ0s9XlFF2nvnuAnwZZ7uxPvcLapGQqGggjsYWjFRvpJ badMBw== 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 45twfkbrdk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:18 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c5e2872e57so793635985a.0 for ; Mon, 07 Apr 2025 02:48:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019298; x=1744624098; 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=OVp8LosxyptQ/SppmUbw8XEb2h4sTGwbX3tXjmt+J6acXBt2CuqoxwY9uJsLVdyLzh fpQkwrLTEfJMNqMYZZlSYE5Ex1ikzaZQ4HDEtfhl+QJPf9N3g2qX8yRid3Xs8L2mimv3 ykhidADU3QGlUGHBuBPdMAcpmJfunGYX4DbOtTVPfKROjgT3nNQ0Zk66kzcjXu9lpsOo J1inodtrclE7wbDVGeaE3bL2e8ertMhp2C/TI6GPDwpfBQo48e+W7QHyrZPOclbEvS7H viuHUdilvaIt/um7a7EA73fUR1tovAXHhpHSpDwLa8siHd1sQZqV9VnYqdsOpizFWOVi yQiw== X-Gm-Message-State: AOJu0YxIEQOOATsytn03jVsXD/ytoTyCAIj3dyFZQ4EUCqL9RDx0n2tX ZO5DyL1UF7qDM1JGI+DgCknMFKlv7poszW6kMyUiKpdhehxt+cilgW/iUJoA5HHZJh/eHIkNGnG sZif9oMV2M4TYLbeHPO+1HVQ9X8wDPXroLKBOiCDgNq8MpIlSiTwFWrW5NSejj2e1bQqXY/jH+8 jeLSQ= X-Gm-Gg: ASbGncuwsBUtvV8NoKRJcQWsKSGBB8Vc39xPtM55G7RG2Ze+2/f13FAdQ75akPUW1TC 3wzglHwIQK+BuGft96SwAwAXRZlzwEhDLPLoIZvgAcEKp8MAZjR6NEyZhEanyAvm6P9P7IXVyFQ /A51WNGpKMxt/pA0nGVKIyArjvz550qvS0OlRMKD68IV8F2fQGkFZ+cszX2hRJE5QA8KPLXI1hC yH/NF0+gvt9XxJGlo/LinPS56XpfmymOKG2ckhM6KljnQt9/EQHpOpm6amJliC3R6P684IWpEl2 jWO9Vs61KXGmpRfpbwuiYytVXrsu+Ab9rbc89y5ytdg0dt/exlZZ9xKcYz8NdwVLBPFxdACC6VL JHtVEZQRXeO2N7K0hhz+wyo6hQEz+ X-Received: by 2002:a05:620a:bc7:b0:7c5:f6d9:86ec with SMTP id af79cd13be357-7c775ad8d4emr1690760485a.35.1744019297660; Mon, 07 Apr 2025 02:48:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFfnQek2N+zzTBzxXXTDTHLuyig/EFpybN0FGF5PtF7HUvjeX74kehpGilVNjqH+EBKB1fszQ== X-Received: by 2002:a05:620a:bc7:b0:7c5:f6d9:86ec with SMTP id af79cd13be357-7c775ad8d4emr1690758985a.35.1744019297333; Mon, 07 Apr 2025 02:48:17 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:16 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:09 +0300 Subject: [PATCH v6 04/13] llvm: handle libdir in llvm-config MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-4-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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/pANAwAKAYs8ij4CKSjVAcsmYgBn859XjLq6GgGGzrSsTnz62hWabhZC4rCs0QuN/ vTMgPqjOteJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfVwAKCRCLPIo+Aiko 1a/qB/sH+3OsKrcynbSfxRo/o6mQkSzdSRioSqkjWRcTmYHmi7AfoQJ4B/2VHzQyRxd49lMDilD ldDCEdK8jW08bWArL5xvL9btgt6ryB43RSZRq0SkDg3+rOmsIMWbiDlE+O2kHk/cyShEZe2pV0F dOnFRYrQrhtE4B29N3HkBW6sMjZ2MeY8TfvoqzPIrI1lxD6izLsgsB80Ateh77CepLwbeER9TPF kAz9Ji9jxyHSvAZTN8ZQGQRnaPe+PXhYO8yXN+ibTPhyUFvw6+ufd80dhStQgePfBpwuLKjAj14 49F/tPf20QHMCbLfgusiP/fZa4VzcJeJnDWnK+EL8F8IwW6k X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: _SPb84JdHVAqmwOkB0ID5DmVGweRNlVj X-Proofpoint-ORIG-GUID: _SPb84JdHVAqmwOkB0ID5DmVGweRNlVj X-Authority-Analysis: v=2.4 cv=b7Oy4sGx c=1 sm=1 tr=0 ts=67f39f62 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=DFIL5-tCekSmT_aHp3cA: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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 mlxscore=0 impostorscore=0 phishscore=0 clxscore=1015 spamscore=0 mlxlogscore=719 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-2504070070 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, 07 Apr 2025 09:48:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214433 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 Apr 7 09:48:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60856 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 D5584C3601A for ; Mon, 7 Apr 2025 09:48:29 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.43386.1744019301035921265 for ; Mon, 07 Apr 2025 02:48:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=l9V1YaEJ; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378dxqW017537 for ; Mon, 7 Apr 2025 09:48:20 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= zt7selowXioo6Gi5XyyneJokuRQ5jdUvxtb+yM5J/aw=; b=l9V1YaEJ87LHUaVT 4YvD1U8cxPjhFaSqh2xQHHkaJc1fvSOFA6w7+H0p7067C5CjnjB7o2jjj+91iq3d SZEH5GTJZScpT4a5i/40uYKcFEuAsQxPeLekepCQS9uXAv/ZWO+9XELUMtjIwGPN mKWrsED5AMCOyQAyMPW/JKiIwpBFFG4SCzECT9vCI7lCSm2u/eMZzL5jeQ1Xnv57 YFNQHv2cJoVq0gXxu+Mx93VQ+MSqSgB+/gWdNqBf9YYi0kRdenD2p/9TPkYbR8Mf eBLh50/J8fVD46Ie1jzkeJlEZGutiv6nE45VzvwaoxNVvc5hb1oCjyI+InyblqTY qwdzDQ== 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 45twg3brr9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:20 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5c77aff78so1251104685a.0 for ; Mon, 07 Apr 2025 02:48:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019299; x=1744624099; 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=zt7selowXioo6Gi5XyyneJokuRQ5jdUvxtb+yM5J/aw=; b=i32HvGA0HJMFnE0aBVjn6pNa2ouhbEfj1vJcn+nopccmqONNAkgyvSas7hPHwbr9wZ rNcu57U62GGLefuk3alT4OEhhgLaBGtvrG5PzHeRn22l91UzHIeUMlFTZ9M5nuaz4sJx jgPlk3+2fBaEmOaOFj4yxXdqV1q+nhgK4rw9gyNbm8mKl7ksf6lXAo+RKFfCIK8QwWzB r9d/y2vuN13r1yyvKw9bbzysEHBkv2J55h9KHgI1Ky6D1+pMrfzWWRrwaJqiMmGTEph5 uUtRyw4aywS5IF88zN8YU4O0FA0c+uUbfN0E+cMHu3DH1dPhlSzGP8dHZ0KOiY+iyngd pN+g== X-Gm-Message-State: AOJu0YzRvJ1ytPAsv433qZEWqv9czypckMnT7kQnLyIFHSsCvxvPeqqU GjUVhsgJDDh9xQtOFKZJ+gNObmCNB8eHWJunU5T8p19StZBlJDCt5EPogGrmUeclwGPWjPO+Cy1 /wdcuxweq1aHn0B3GY2QazBGI6YtLLbCX3hswvtEHpWNLrh4PSSOA/cFrUZKpK9HzmgrnYi6PHP B6Rt86v93aggc= X-Gm-Gg: ASbGncvS88nnUuKkwLyPZg6sN4PHmpT3wh1QFHkwaCXNEpcG2WzYX33JkbtVIRpbx4N Qq+PJPsOIAfDmPhgGZSTkMvDglqdZaA52aSxdW5bRBhKs59OsbC+xw/knC0InkipGoQCVyUoyI8 HwS0pBbptRYdj/8ahY+nhcHMUulUVvRkgNU4yTXtlAzG4ZyjiuXqvqAmDfHP2o5kWLvmJHceCSU w/LCYTl3f5svpzc3bIOhX7RpJPzMdw2k6p/dlp1Gt8WHxFWQ4xMRyHeJaIK/HmCkyVLnZSsWLW7 jvvNp/gQb50KoupuA0C8tiSBDZzarxqW6gOfelEv+PQXe1CFf6awYnz4Fn3TfbbNCpNMUw/Jyai gkzbTzBp6bU3rWH/DhW1bsaAK7Qnk X-Received: by 2002:a05:620a:43a2:b0:7c3:cde7:a685 with SMTP id af79cd13be357-7c774d2c989mr2067400285a.13.1744019298967; Mon, 07 Apr 2025 02:48:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGXXr933x9L677vWmY61G9uYs3iC2qrk+9ECHivtxq2pULJpshsDEarLbirj1nP544/2RRSMQ== X-Received: by 2002:a05:620a:43a2:b0:7c3:cde7:a685 with SMTP id af79cd13be357-7c774d2c989mr2067398885a.13.1744019298696; Mon, 07 Apr 2025 02:48:18 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:17 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:10 +0300 Subject: [PATCH v6 05/13] llvm: also use llvm-config wrapper for nativesdk recipes MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-5-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=4cayM6tuJjZmEh9NCkIWzIAK74OirFasFDapnDJu3oQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859XrJt+H7fuX+KYyYbLtkHl102Hz5GlQM58K oKfchDtPeuJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfVwAKCRCLPIo+Aiko 1aL0B/9HfXKuRO2SNXFTQ3/qku3d8RJPWRBRnlkeMVnGjPutdM+2g22Es2S0ZiiNZfijlHNxyX9 vd3a85V8A57/DYvqU8Acu4lNL7k0ptTw5Kju2gBvEXLuCGeee85kJ8khHsLM3enaUtY0QUXmWEC OJJBjUS4TUuL3zIvxqN1DgQnHfUTdCt/Gdgjr/FL7Z4EAzJqUl4DIGcJLhglcELHKJpDr718hmf cGU43BrXGOtKLlBXAtuG5y74qSUCZRQehZ+T26ZQYzEn/H3ZKxORxJKrKf3wNlJ1S8QDrI+lrCT RHX+ZDVqUVe/amwHPpwO3jS150gbuQC5NeK0BcP7XEOypYWh X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: p1-DSuu57Hn0OuTeeqLxev6vfdaPoftx X-Proofpoint-ORIG-GUID: p1-DSuu57Hn0OuTeeqLxev6vfdaPoftx X-Authority-Analysis: v=2.4 cv=I/9lRMgg c=1 sm=1 tr=0 ts=67f39f64 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=gB5LcxD2NF1HxfupLLgA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O: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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=684 lowpriorityscore=0 spamscore=0 clxscore=1015 malwarescore=0 adultscore=0 priorityscore=1501 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504070069 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, 07 Apr 2025 09:48:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214434 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.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 8719faebe38b96d161b557a469c92490fe44f370..1ea94327161a8002453ac1aa79d7661d4da72499 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.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 Apr 7 09:48:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60858 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 F3470C369A5 for ; Mon, 7 Apr 2025 09:48:29 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.42853.1744019302780698915 for ; Mon, 07 Apr 2025 02:48:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=FKmBp6Ts; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378drdW013467 for ; Mon, 7 Apr 2025 09:48:22 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= 5HJcaMFJSwT4eIdh9u5ZiT7/jhxEj2oPM6ltbxl5x44=; b=FKmBp6TsArnOJmK2 +QTCoK+5HtRjFDh+n4vCWXSonXXoQxg9ZFMAXIYd0cWwEyKgSKRQz2mHTGfhcuP4 JkNeZ7TQ9XEYd1dDxQZ7jxcsDfzKrwEj80UzEW9vyd/55RX3t7IFUydOslYy6yxd si7EWNEDNoyfqkwQX5atx6XTK6OBKDc9rYfvzvmmy8CXYeHHOxgTY3ebMdcRZrTn wc2gUsaSQ8X3SnKDi276h4lnKcC/hYj8VUzZi7NNmZ5CPhe+vk5vl2Q/yliVsdHE 132mf1016imPJRDCCN37dPA8pRWLXiiqTWUOf1QLqyTeXPLj6i4X5RNWWEkuomKv njbN7w== 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 45twc1br3m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:21 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c54767e507so710675585a.1 for ; Mon, 07 Apr 2025 02:48:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019301; x=1744624101; 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=5HJcaMFJSwT4eIdh9u5ZiT7/jhxEj2oPM6ltbxl5x44=; b=g4DLm+IYaAxxh00eBW1jhZNPWZgL+jUwjRgsvD1kxDGbQFqJa2Fwo538Ltw+L/Vmxk ldGbYH4JZcC9Qq4UuI4Ml5hsBaBhrcdB1VJWnYIosrcbTlsB8gf0wibMRem4EL+sm6Ed 8SQuNVeHS23ZEQZFceQCAha5GBK1P0D5LmUQF+tVFtnYVaEK4z/BDTcvTz4KXhthPA0f IdEE2ax3RQBTgTxSBdBjKSKG2dejsDQFYAliZbwmVCxLD5QhDcaj/65FVFjObUxhHwjE kPwoPDPL9JFf8IDjyc23CzyxHm87IE3YwMislqrubAQT5x4eCF+xa7eh6a6vsb8j3LTh Vx+Q== X-Gm-Message-State: AOJu0YyRoBGsonqGUb5rq8TTi9ys84uxeASWRNnUpj6AM6tzwNvI7d3Z Dt6GmVWhDPILKvOyumATaOyi+/3bADJqJMca3cv6KYO7UV4QaR2uvTGr9WPV64+d/sP0IBVMwVn kDcKbOwWa27jcFQSWrqZKHN5OilXxJhoiOHNT3Kpc65nRMvZaNI/kwwDBwUWH3dAwov17qH/G5S XvTPs= X-Gm-Gg: ASbGnctmuUzZb5/FGOUMorJnVguqoj4stWGCo8BDRBGj7KLVW3SLm31sDSvVGeWDVPC FCOdvrEm0tT7qtVZDxGuFIRn0jim+OKeH1cRTFAWFf2k1lzXPLRIl9/A1+92M9tkWol56Hvodxs ep/8BpM2QyT6YQ4Ym95lf5rkzFG+xp3rbOvUTST9viRg7K3YkbKh8zFXfbNzbzO9AlS9tKlc73s vDsAeCz4ffwI3DiTMTnrMg2n2aUDAw0z7PFBfUArp0CIgEM7+bwT8OOOYR/1CofjPLAsZt2Dtnh p4gCTjpcTT+JYUnEf31NfemBGnE2dNzWG1uxGLAzEScNEO0AXEqZ/w5FZ6jYzx1W6xjY1a7nDtL 4Q7EIMkSEfRSUnYXvz+VQCKH+T/Q8 X-Received: by 2002:a05:620a:2551:b0:7c5:b0b4:2cea with SMTP id af79cd13be357-7c775ad8937mr1442691085a.38.1744019300803; Mon, 07 Apr 2025 02:48:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHecaf4zgzaba8KL9Z5jbrsBYVZ4hHid4fpPLAPCJW1yVqaEiskj7iS13cgUN7rPpNKNU1xGA== X-Received: by 2002:a05:620a:2551:b0:7c5:b0b4:2cea with SMTP id af79cd13be357-7c775ad8937mr1442689285a.38.1744019300417; Mon, 07 Apr 2025 02:48:20 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:19 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:11 +0300 Subject: [PATCH v6 06/13] llvm: remove LLVM_LDFLAGS from llvm-config --ldflags output MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-6-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=3323; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=+gxJKfRSnv3UH2cvcNI+hzuaDpPxkXATCwLaG9OR8K0=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859XHsWi15VN9F0MCxnRuDsSY+gQxYRbC/x5b yDD9Vy7pYaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfVwAKCRCLPIo+Aiko 1RxsCAChOzvQOYhKrxvoO1RobTdeQn0UfAnmvwdbUgAaz6SGGMtE0QfHxx65tdJmPx2yiyIEVZ+ i+UMyosHEouhXQXodcJpuYVYkHWIziXIanzQT2SfkYWrsJbzXYvsT9a0V1s3o8OUXnTH4R8xJ5O Cyx9medwHHoSCsuIFMB8fKB9dpA2DceQHNSckVg3a+IpxN5FKI0LivF7WaNgJ9LAEqkoyKISTqW CsoTpeJIhD/jKKFw7os+iroXL8ijL10WpAVFzdGiwu5q1mriyhqGr6FXPrxlmG8pYqyQyS92f2n xr6Y4A1dyQhp7l6MgOc1jk4MBY1cvVIQWXagHDVSkF7LJG0T X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: KZAA4UNAXdRLbLJk6hbuMQ-Ka5eGnYjO X-Authority-Analysis: v=2.4 cv=KtdN2XWN c=1 sm=1 tr=0 ts=67f39f65 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=WIpSu2wNbg6c4CAHoA0A:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: KZAA4UNAXdRLbLJk6hbuMQ-Ka5eGnYjO 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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 priorityscore=1501 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 mlxscore=0 impostorscore=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-2504070070 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, 07 Apr 2025 09:48:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214435 On native OE builds the LLVM_LDFLAGS gets a lot of extra flags which may depend on exact build dir and as such be inappropriate to binaries shared through sstate-cache. It is not possible to override this behaviour in llvm-config since crossscripts are not being used for native builds. Ignore LLVM_LDFLAGS for native builds. Signed-off-by: Dmitry Baryshkov --- ...g-remove-LLVM_LDFLAGS-from-ldflags-output.patch | 34 ++++++++++++++++++++++ meta/recipes-devtools/llvm/llvm_20.1.1.bb | 2 ++ 2 files changed, 36 insertions(+) diff --git a/meta/recipes-devtools/llvm/llvm/0001-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch b/meta/recipes-devtools/llvm/llvm/0001-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch new file mode 100644 index 0000000000000000000000000000000000000000..2320399d5f7de44cf9cc4269d180c097c1b4a616 --- /dev/null +++ b/meta/recipes-devtools/llvm/llvm/0001-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch @@ -0,0 +1,34 @@ +From caff2482f786dd7fd5f1f46f2667f7ed847cb8f8 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 2 Apr 2025 17:05:17 +0300 +Subject: [PATCH] llvm-config: remove LLVM_LDFLAGS from --ldflags output + +On native OE builds the LLVM_LDFLAGS gets a lot of extra flags which may +depend on exact build dir and as such be inappropriate to binaries +shared through sstate-cache. It is not possible to override this +behaviour in llvm-config since crossscripts are not being used for +native builds. As a OE-specific modification ignore LLVM_LDFLAGS for +native builds. + +Signed-off-by: Dmitry Baryshkov +Upstream-Status: Inappropriate [OE-Specific] +--- + llvm/tools/llvm-config/llvm-config.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp +index d5b76b1bb6c1..29f7c2eaa419 100644 +--- a/llvm/tools/llvm-config/llvm-config.cpp ++++ b/llvm/tools/llvm-config/llvm-config.cpp +@@ -529,7 +529,7 @@ int main(int argc, char **argv) { + OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n'; + } else if (Arg == "--ldflags") { + OS << ((HostTriple.isWindowsMSVCEnvironment()) ? "-LIBPATH:" : "-L") +- << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n'; ++ << ActiveLibDir << '\n'; + } else if (Arg == "--system-libs") { + PrintSystemLibs = true; + } else if (Arg == "--libs") { +-- +2.39.5 + diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 1ea94327161a8002453ac1aa79d7661d4da72499..b95473c88b64961cb6ae2f4ace14aac4600cf98e 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -32,6 +32,8 @@ SRC_URI[sha256sum] = "4d5ebbd40ce1e984a650818a4bb5ae86fc70644dec2e6d54e78b4176db UPSTREAM_CHECK_URI = "https://github.com/llvm/llvm-project" UPSTREAM_CHECK_REGEX = "llvmorg-(?P\d+(\.\d+)+)" +SRC_URI:append:class-native = " file://0001-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch" + S = "${WORKDIR}/llvm-project-${PV}.src" OECMAKE_SOURCEPATH = "${S}/llvm" From patchwork Mon Apr 7 09:48:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60861 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 F23FEC369A1 for ; Mon, 7 Apr 2025 09:48:29 +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.43388.1744019304481931018 for ; Mon, 07 Apr 2025 02:48:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=MRQQMrnv; 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 5378dn4g003209 for ; Mon, 7 Apr 2025 09:48:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= wXA9MOQ5JJrnt3ym7vy+gGNtTfZlDLEeNmw9+KkYJAk=; b=MRQQMrnvJ9KyptDN O99T9AZQPhT2It8jLIkl5GfsVt2pkfk3s+51xPcEPF0o74S9XzKoa6LDcVg4C0Je VDpkbRcoUULscwEwxFqSJHf+0ReqP3aWlfAwpKCstZggrWMwOaA441Monn0lElcC kUx/aIA/s0RBVN2f1pJAqIHAVOPkPNO5G3T9CoWG7Mt06zHiFvJ4+wj8m9vgHcBa SwaBBr/AhwL45FUTe4JvXVW6G2vyLdHke7zbM7FzkwSUC17BpIoPSFXZWUQcwv+r OI3RFU4y72fqwJVLJUuFS4vYoTzqQT8jSr2RuM0R01veMNYm4c2EdSiyfR4UZJZZ 4lvFyw== 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 45twftbrsp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:23 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5f7210995so742793585a.1 for ; Mon, 07 Apr 2025 02:48:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019302; x=1744624102; 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=wXA9MOQ5JJrnt3ym7vy+gGNtTfZlDLEeNmw9+KkYJAk=; b=bDxnvg9ayAgFyishCbdm0zFrP0cKNlElfutZEs6J3I9xBfrwD6ZzFcha8AhO8AtsNG /GZlsBeU81P01N+uYFAmdvLt4SezDwD/NB9D+pDDgdPX7o+XgPg+X8faf0X/GxpDEjBK hmQja6v/4hFDw1mM+6/vvtDYTLPyBv1CJ2NgiZGKOIyCB1a1ET9fPIxkYA3Rvb4clhFO YUWKOZ2H8lbXn9lSaBTLgCdcZ2KrGrdXmx+yE48m6h7qHdZ7U65ady8jWvHAKnjPgRT8 D5qISpieCZ0r+BP1NqMPLInQ9c18mmembn5xh6DPTOKSTP8nHKZ1BrBs/JT9REn2bTp0 glUA== X-Gm-Message-State: AOJu0Yy5sZVNq6TPX+lS6nr0EqO+o9SBDFpXrOGSZRI9X0TR3yujDlOc d55MDM0X5yIK/mazvCEr+RkJYiaWcCBESwYA/7ALJg06blA0dV39rIN9XApMHVxkbxjIN1nb1IC HzfCYIFp+tcaIwp3VfJ/ID5M7M0uCgtazp5HQMa/9RCUNfIRZmiJ7zg28cHVKaEcTkHI2itrfo/ BK5dO5FjdF22E= X-Gm-Gg: ASbGnctf42ufricewbJ+DZIV+Fv6CIn6tn+7Yf8CSpisErNeFFAkGwuMmhKdIMthNVN h02tjLaTVpOmk/SQOwl8McnhtcM56B2TzAnc/waK9u5RMOdfEXuc6NntnFjYLA5lninQ1mXxak7 X2s18XJIOOGeevDOfEWIWWcAsRSPf5Xi/5XkrVaw6O4dJQ1MDFX9FugCFMu+8Ji0bkwA91QZQuy B/b8UpYdtGhs0wGCFKG0rdRyaIQCRUDnOygVtgmi0kHi1z0UHyIvwK0pHPYQtOftNmx/ICJQY98 5AFFgNsEEG6JKTf5otgbWDfcb1jYVImQVaj2gYoFZyli4nflDrqwgjbZ82k0qMrpSMngowFicgB XlPVI9Piv1cbCXqdjrENMEsS6pIn5 X-Received: by 2002:a05:620a:44c5:b0:7ac:bc66:5efb with SMTP id af79cd13be357-7c76c9d7073mr2383380385a.27.1744019302238; Mon, 07 Apr 2025 02:48:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEN7yUjBxkDgbIPp+otE+iFtX8dexPo/wO9tfk+PrGlzknXXGxwloGUKPE5GXjNdHNYP6s6Vw== X-Received: by 2002:a05:620a:44c5:b0:7ac:bc66:5efb with SMTP id af79cd13be357-7c76c9d7073mr2383378785a.27.1744019301922; Mon, 07 Apr 2025 02:48:21 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:20 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:12 +0300 Subject: [PATCH v6 07/13] llvm: forcibly disable __isoc23_strtol usage MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-7-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=2330; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=1RoeDgrXWbl0DWU+ZsZnz55B4wR12rhBupFa3dHD2qU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859XP4zyvyTM11IhaTAzJYbxIC2OmoBHeazVK 4lX48cVC6SJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfVwAKCRCLPIo+Aiko 1V9KB/9bDazRoKilKRQzKMr/2XJ9c4sSJb8MiJ1SLk7i1hBcMDY2KjmGtgfnjrBfipxopCCPTGS P7UnY2QZsuPX/NAuXabKbq6rieHdPE0VZGAEFha1oUAVpgcPq9LCfaxrAYQjiSvDfx57ozIPkSx ZJfPHJtXnbtbkOE/TVGjZoxGsg9hgIMHQHgDGXJCRfzcc1R+/4x4xyW//QU89fUla00muPxIpzT 3vFoDidrcGVFOz2fx7JSr1UECNKOwdHuW1eTeLyCo69eiO1YgjSvm5+rXJO0KuRFLrHCfwYqCxX Oujg8nImkKUEqU49s3481tHBocby5o+tOaeDEyykT8ZKWXfk X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=B5+50PtM c=1 sm=1 tr=0 ts=67f39f67 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=veAX93dYt0YcDQAWncMA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: Qiz2l_711ltAvJjld9dZD8Q62EQSD6q6 X-Proofpoint-ORIG-GUID: Qiz2l_711ltAvJjld9dZD8Q62EQSD6q6 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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=569 suspectscore=0 malwarescore=0 bulkscore=0 phishscore=0 spamscore=0 priorityscore=1501 adultscore=0 impostorscore=0 lowpriorityscore=0 mlxscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504070069 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, 07 Apr 2025 09:48:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214436 In the multiconfig builds the llvm-native build can get reused from the sstate cache with uninative being bypassed. This can result in the undefined __isoc23_strtol symbols (which are supported by the uninative, but not by the host library). In order to prevent such link issues, forcibly disable usage of C23 strtol functions inside the native LLVM build. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm/isoc23.h | 11 +++++++++++ meta/recipes-devtools/llvm/llvm_20.1.1.bb | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/meta/recipes-devtools/llvm/llvm/isoc23.h b/meta/recipes-devtools/llvm/llvm/isoc23.h new file mode 100644 index 0000000000000000000000000000000000000000..b6738b6aaeb4e140aebad37ba0efb48a29cfac9b --- /dev/null +++ b/meta/recipes-devtools/llvm/llvm/isoc23.h @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2024 Qualcomm Technologies, Inc. + * SPDX-License-Identifier: Apache-2.0-with-LLVM-exception + */ +#include + +#undef __GLIBC_USE_C23_STRTOL +#define __GLIBC_USE_C23_STRTOL 0 + +#undef __GLIBC_USE_C2X_STRTOL +#define __GLIBC_USE_C2X_STRTOL 0 diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index b95473c88b64961cb6ae2f4ace14aac4600cf98e..69f19aee59388f92c254c1f049622845713f4e94 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -27,6 +27,7 @@ SRC_URI = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/ file://0007-llvm-allow-env-override-of-exe-path.patch \ file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ file://llvm-config \ + file://isoc23.h \ " SRC_URI[sha256sum] = "4d5ebbd40ce1e984a650818a4bb5ae86fc70644dec2e6d54e78b4176db3332e0" UPSTREAM_CHECK_URI = "https://github.com/llvm/llvm-project" @@ -71,6 +72,9 @@ LLVM_TARGETS ?= "AMDGPU;${@get_llvm_host_arch(bb, d)}" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" + +BUILD_CPPFLAGS += "-include ${UNPACKDIR}/isoc23.h" + EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ -DLLVM_ENABLE_PIC=ON \ From patchwork Mon Apr 7 09:48:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60860 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 E61D2C369A3 for ; Mon, 7 Apr 2025 09:48:29 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.43389.1744019305988040880 for ; Mon, 07 Apr 2025 02:48:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=gAncL33f; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378dxoN023157 for ; Mon, 7 Apr 2025 09:48:25 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= Q/mBzi19BN+c5jcYziOzqphZqKrEVDSAu/GiQcEW7A8=; b=gAncL33fZxqu+ck2 yUL5hEJL386XNUHDY2tgyXjmrWT5j0nqgbUi9Xzm0bjNmobsuXC7jjGGBwdbPtGZ DucjY0oMWg5hkHLnmh+uuGGd3eUp1myGzbbH49/0d4txMGWXGzxYsy9uKSrEDwjA qF6FdNVkQGIxqmcYeC4ez6ArfNIpJTnnJxPIROoM4O5BjnabDR95tu3zIxSp6PuB QeK/Ei0m+0EwnBBs8bodXX+wmpklhanM3FXUhPpPhLY/ni4W+96vnssgdXXvUxIw ai02pko4JYmdHXNq+533SNHbN4aKHnNBpig5TjKgDk+xe9uXns/gY36HLYVq2kL+ PCoKpw== 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 45twcrbtbp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:24 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5d608e703so747510485a.3 for ; Mon, 07 Apr 2025 02:48:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019304; x=1744624104; 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=Q/mBzi19BN+c5jcYziOzqphZqKrEVDSAu/GiQcEW7A8=; b=rsk/WKyTfaJCE3qm52mLMIkjieZR3/7stnq/orBYwF8WyY/jGbRCwDlBcHu3Hu5F+y CjzHl42tLI5Pr/LEfrTLJTeNkkolFFJGoj+WTDeMMac5gBcqGp9zpdaVQxLSSSU3vKaX kizGgxuQYL+KLlw6tnxAc6cnelOhtx2pb4BLzRfYkqnI2Kf+psjjvTnfl2hcoAkg0c+5 G0smi6VeqJa5lYnEblGFG+pGb3cTTfriNfpOABugj4L4K999HqoD6fpq+EETEczCDTE9 UmCzZJ71OwEtaG17DlWNtXmvYv0fgdivG0ESk0RhbdRzq44D40iJLxkuxcHTrlb+omP4 F32Q== X-Gm-Message-State: AOJu0Ywn5IfetkdmkysLBwnUyYWhbDMiJOsXcYZe5Cjk+yJK5NLFZFMr /7uWTCWPJ+ceWwiWooLmw1sbOHW+KT6/Bk+AKpyGS8vhLGdhiZC8MQGs8gYDR8u81LNcot6xgLN HjYJcW6gjKm4h1yu7vXYsSD3WUD5dRV5V5Nmi/5rL8mEj66Fn5rbgAFJ0nhG1ZCS/4OfURpPU8N 4PSl+tmk1f2kA= X-Gm-Gg: ASbGncvrLarmK8l/2UfoFxh2XSNahb9QiV4srp6DzgP3wDNadOKKfDC2wPu1FA9x4aK ewyAtHFIfi0hvRUiMLNwaRoZJlRMIcakqCbm1qMW/pxK6xccLLwCegBs7EZmt2EWTfUFS5IBzIT znnflbs7J1rvLfdxFTGY3M19rNzMP5C/VDdhnp3AqlPvoSHs3jGs62i8TSbptssPbnvxz6cDv1d 5y6URGlYadSaCSELgcA/fcbJDlvZ5372FMhtVksNSDwxeMBid9Tty9r04ssExKg4pDfmEaFCfz/ iZM5WkPkublWqXl5PX2xYYeya+8M2spPrRHFEkC1Sgi0zt1fT4MMLgn9UvYKkItjEhDYwp8o+yP CeP7zHTNEiaD7uGZl/KQyBpcTXnUV X-Received: by 2002:a05:620a:24d6:b0:7c5:4454:6b05 with SMTP id af79cd13be357-7c774dfae16mr1437973685a.57.1744019303993; Mon, 07 Apr 2025 02:48:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGSTFQ31YBtQ1L6ZgqhR2Sh+ZMSUhNNx+xDotyS7npxx1ZB89rK0ZbiahdYilS9OGiujxysoA== X-Received: by 2002:a05:620a:24d6:b0:7c5:4454:6b05 with SMTP id af79cd13be357-7c774dfae16mr1437971985a.57.1744019303617; Mon, 07 Apr 2025 02:48:23 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:22 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:13 +0300 Subject: [PATCH v6 08/13] llvm: support building libclc MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-8-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=6305; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=AydZ/Mu4jxW+KFGGPRugE4TFjjxfMXOu/xoP29QLlK8=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859X2+tteS7YBSV0Uu1t42zCcL9alEhF9Zxe5 6Y0YVso6fqJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfVwAKCRCLPIo+Aiko 1ToqB/4mYq7Oqk8YzaOXC7EkqClYqyKplGStMU18RsoRMCI3rUHrMeyJ2KvD1g9PfKn6bBMyT1x NMJFzriFeePvCtoPIi2KhxKhthsN0kRdBAZLbANiPvqAARov1B/WwPcXmCDfLTnyA3F+T8k2Bjl k8ml3N/tqnKJ0pCmKRTfco8pGlH1M2vQcAX+adKafPKc/8zwJR8X0C11DUpbxblPP82faAlA4ha nn8kWsijPFf99psFGhOu4/ybr7kdZAIsFEqg24bx/1uuYsKlEkwKUXAOS21KfX8HVDkJaBGcYF/ MAVRSBdKzTV6nY7vMAHX85ffziOwoTeGkcxcJjDyumuoeDEF X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: HDdmcU2DOi_sbN5I1ovCwk_vBwd2dmhe X-Authority-Analysis: v=2.4 cv=QuVe3Uyd c=1 sm=1 tr=0 ts=67f39f69 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=Twlkf-z8AAAA:8 a=EUspDBNiAAAA:8 a=-uxSO3zEkdLPsdym20oA:9 a=QEXdDO2ut3YA:10 a=a97rIl97qucA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=-74SuR6ZdpOK_LpdRCUo:22 X-Proofpoint-GUID: HDdmcU2DOi_sbN5I1ovCwk_vBwd2dmhe 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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 adultscore=0 spamscore=0 malwarescore=0 mlxlogscore=615 bulkscore=25 priorityscore=1501 clxscore=1015 phishscore=0 impostorscore=0 suspectscore=0 lowpriorityscore=25 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504070070 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, 07 Apr 2025 09:48:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214437 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.1.bb | 39 +++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 69f19aee59388f92c254c1f049622845713f4e94..d33284c90180de60d5087b466304a94bd8ae6039 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -59,19 +59,21 @@ 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)}" BUILD_CPPFLAGS += "-include ${UNPACKDIR}/isoc23.h" @@ -88,6 +90,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 = "\ @@ -95,6 +98,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 = "\ @@ -102,6 +106,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 @@ -130,17 +135,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" @@ -152,9 +179,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 = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" FILES:${PN}-bugpointpasses = "\ ${libdir}/BugpointPasses.so \ @@ -187,6 +216,8 @@ FILES:${PN}-staticdev += "\ ${libdir}/*.a \ " +FILES:${PN}-clc += "${datadir}/clc" + INSANE_SKIP:${PN}-libllvm += "dev-so" BBCLASSEXTEND = "native nativesdk" From patchwork Mon Apr 7 09:48:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60857 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 E13E2C3601E for ; Mon, 7 Apr 2025 09:48:29 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.42854.1744019308148104263 for ; Mon, 07 Apr 2025 02:48:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=FNUPdZoM; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378do5S001272 for ; Mon, 7 Apr 2025 09:48:27 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= VtChWNyOaM+dPsI1MwbvsDh0QJuJzZcYwfoqOVK3Rsc=; b=FNUPdZoM53duf/g1 ndp6xO3oG9YP34yxF4wi0A1jwqEgMfi6S4C53rqlNHJp9DjSrbb+Om0PT2ZaWf5s cfjBjAIpJBm3qQX/RZNMsPHNr8xdhOmyDKNoDBX49T56uBk/9AoEumqcRN43VCMG FWoiygAxhh/CyFPMyTH3u4vJ2yNPGCdEF1ee3c3ATTFIcv1YolCNcQyzYuP4gxIZ 478YHnVybeEeC7/B04w39UVet33obltXJ+Kf/zqEabSSKNDnaCoZswU0Nm0Bu8et XEjXW2k4wsrUUK5p64MoT23ybaBl18sncpZea1qFjvnd6ndLeiK1WVh6pdtbakYB 8Dfy0g== 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 45twfkbrdy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:27 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5bb68b386so1275255985a.3 for ; Mon, 07 Apr 2025 02:48:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019306; x=1744624106; 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=VtChWNyOaM+dPsI1MwbvsDh0QJuJzZcYwfoqOVK3Rsc=; b=v4zahYCsJ+qzcM9nosbM1JZxgd3dX32PIXWxBr9vePeFCfCK85tRAmyE0Ior0s4fA9 rnarMXIQ//gRGyEWeoV80Z6rqt4n8Z9GllLQ8hQVmaOelFE0M1rjP/vphx7fl0Lktsnn ZvO55ORIpNAfDiM4JhojVaORo8viZjVm6fcSjJ9Vf6Fvf5XZ6JdTeUkBnVIKfDkDU3fs cJ1cRw0V9omt/FgZgeIWRj01GmjXjktSNnWsVp4jHn8S8Zv1mfzrTdQmDSqC3wPO9ris Vui5RacrCeFG2aBlj9rdPoE/UF+0OpFQFboSw5VgIn/SwgxDoxS3Vchi41xoqY5u5GGy gP8g== X-Gm-Message-State: AOJu0YzreN1KVQ9yKjuiCUKC7swLa/zZP/vCTrctV6cxX1kOz1PHXQPM X084RGrduDbkNaPgmWhdySX7y7AfvLr0em5T4v8ulGOHvpsa35uRlHn9qtnKZOLKcm4rvyqVdJj UE5lNnqqbj/DazOE0B8FcrXMnvqzJeV+ilZfdtwgK+m6ETzXfb2cqybsBLJGDeww8Z6k/e5ovzR pA72Zx5CU+x/o= X-Gm-Gg: ASbGncufj2kM6HACGZ1EH29Ukf/WTWIoPZ8umM5WmXfXwd27H/k7e4FbwbOZ+v0GgpV oTGQbEsupaGwSdr83qoczhBT2ZrUBEnYona/WasnXVuiOHs5Bn5fDkxgZUnJvSg8jjTf686314t VRcQSFJMNlytw1MYdtALbsnyd30FnBougpSlezjVcfPTjayKa7MKceRA/qR+AbacvRENjn8ZeVy p/HIb9BoAgT7oDZIDDw9NmSxPc452lPeVZs/3knCTqGaT2yEwFrXCheTtU9GczSHtd16tlPlgXs abCH7W0LCc8U6LeAViNZZiV1D0+0rKTBp01epxm9iAV86+5ZpVrGpxDEyjTe+xdrSbCEUeficKh MuwUWI+dFfl15FXnv+ovfn5Kh8tbN X-Received: by 2002:a05:620a:2942:b0:7c5:5f58:9158 with SMTP id af79cd13be357-7c774d14899mr1944568185a.9.1744019305749; Mon, 07 Apr 2025 02:48:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFhNz7YL3Ih2PRAsxBjOpD2r6sXshlte0+CW5UxcDRpBUUsnQbr5Kr0VeerjCdMf6CsGLhZWg== X-Received: by 2002:a05:620a:2942:b0:7c5:5f58:9158 with SMTP id af79cd13be357-7c774d14899mr1944565685a.9.1744019305249; Mon, 07 Apr 2025 02:48:25 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:23 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:14 +0300 Subject: [PATCH v6 09/13] llvm: add SPIRV-LLVM-Translator support MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-9-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=7324; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=qUW7WsN2NlT12QGb7KX7tbK078K/1EA7UCIFm3Q1oMY=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859YxPk3kzn3J8peMhekpXGdZc1VdOTeUyZfV tZXbpRafBKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfWAAKCRCLPIo+Aiko 1TmbB/4w171u2BF3LjpzRqe1HpqcweFQjB3qvLyyEQqnXCbKvXy03xetBDzYp/u/jDlUz/qcrdA f7L5IxkQQ32mG7qmisUsblwZ/4cfgqrIm42eZLri4WZKm9ea0AdUqkiYY05vrIPphhLTjCm1cN/ EBgbz+HuPbANrlgA+z0W+pBprttWd3IlwKm+zSJT8u42Ae7ic38J4H68R2lnbMX4D9kSL6Cdc2F 1dXp/Yq2HCGP4UcEBUQ5zI/aLcYTGXR6m2crFUGpid7HVrG5fEXJ6dZXiG1vbPefMmZS5z3vEDv uXrWDajtSAhKk35M0YNJf5RLVqo1QHa7Nj1ucwEO4du0NgNa X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: bssyg6uWMIkLtG2gW9_pcNv7xJfZAmW1 X-Proofpoint-ORIG-GUID: bssyg6uWMIkLtG2gW9_pcNv7xJfZAmW1 X-Authority-Analysis: v=2.4 cv=b7Oy4sGx c=1 sm=1 tr=0 ts=67f39f6b cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=pEjDCETy_axdY1vJs2YA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O: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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 mlxscore=0 impostorscore=0 phishscore=0 clxscore=1015 spamscore=0 mlxlogscore=999 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-2504070070 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, 07 Apr 2025 09:48:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214438 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.1.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.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index d33284c90180de60d5087b466304a94bd8ae6039..027de04bdd6d340792d1a9ca303dcd508a6d87c4 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.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 \ file://isoc23.h \ " @@ -59,11 +69,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). @@ -73,7 +84,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}" BUILD_CPPFLAGS += "-include ${UNPACKDIR}/isoc23.h" @@ -141,7 +154,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 @@ -179,11 +192,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 = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" +RPROVIDES:${PN}-spirv = "${@bb.utils.filter('PACKAGECONFIG', 'spirv-llvm-translator', d)}" FILES:${PN}-bugpointpasses = "\ ${libdir}/BugpointPasses.so \ @@ -218,6 +232,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 Apr 7 09:48:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60859 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 D5553C36010 for ; Mon, 7 Apr 2025 09:48:29 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web11.42855.1744019309328803360 for ; Mon, 07 Apr 2025 02:48:29 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=StGYA2EY; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378drg4016216 for ; Mon, 7 Apr 2025 09:48:28 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= /t3tViSIDVIvvYVCxTFZGLk8Rd+dHOa5r622ZL1d3Bc=; b=StGYA2EY8ZhVLzgm rsMBdNzC9GN/kjhV9OGorGLPctuZbOk+Hzg4/durF0Jos/kVRK95eicoP7re9WlH 5szCdOcH2bRG07PG+USAE5Qhx1fS2WbvX8td6UzUH24xyWGPJhjJwBFFVawwpzRV QXYDIMC3+xhP4rg1A5isV/VaEH4+YFJ9NkWCBRt1m2dwwU7YixqqXpKuXpqOJ7me 0Il4yhnk6LXeR/on+4GwLNmjf1PEZ8HJxt7eMbiNEOZ0I1muCh0WSLVJkjMsgC9D H4pT8QQchDkrNXWdYVVHfIR8/sBY2Wv40eKcj/QN7t4XLLC9x2Lx9ftfCOOKSoVr hRnjKw== 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 45twdgbtmb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:28 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c54e7922a1so928825885a.2 for ; Mon, 07 Apr 2025 02:48:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019307; x=1744624107; 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=/t3tViSIDVIvvYVCxTFZGLk8Rd+dHOa5r622ZL1d3Bc=; b=LlXn+8WILd6nTeEJuCteAlgfuyVxPmQN8SkrYukDKb0yhoARUqe0iZqxvuvePtWIa7 NunYpRadRrcfz+pKgzwUhorlZxCt1thoOsYoKH5zLUBiA1gTFA3CJkfeZoyWwL/k/2FI fMywqwfaPgev0uNCs3yNkQ1WVA/hyZ0SHG8FhdOffPjLEEPg9NuQ2AjfI4/DG2I1ewod Ju9cLmMzIefVq6A7d8qc/osk+CA7k5/ZJuMrSimKWzKqCGYmIF0j9v1em7B6wTdq79f7 fakJq4ycunB4aA6V9nACIeUrSZTqQ7CBMwFZGcpndvuEvzNr41lPsPtwcDepwNfcp4+y 40PQ== X-Gm-Message-State: AOJu0YzCMHGcVwr3CumPq2N1CF1CTgLzvLhcM31RO3Gn7v6psdPD83R0 zAZ7ZDwtLPW0+Ealf1olS3piXufuL1Mcv441ITfmNolGbBdsAu3twau21L5uc1weueIyYh2Yyeu xqk3WR7QY7rBZSUjJhSGxVp48JgCmrS4itFreWN8Rzik5ecmQ19eyOF8tAp9WJyHHeyRblDHdYV xhITz5BtO6azw= X-Gm-Gg: ASbGncsa53PRcANzYISko3yDxEacdvbaGTYcM4sdvieJ4GjyyN2VdrbFJqTC62XJTRS c0VIRpEHaelTgG9VOskgwDmjV+cUVjIwp6alVT/RIKRST0hAjvVuohxiwa/bs7ix/BI0bk5SHHE mtP2FizYuzvtMrWUJOrcL2juVMnglZa9B2PrRoJtzG0div5RpwMxWXoifGwnitqbvSUxYOx/8Qr uefJFNSwc5QrBhIFnDTVmhGIIN7zNxYQA4w9TLxcttIhEavy93xc6M/FT3V4gjqozGZ65ToZ+XR TKJGlJGxV83cOYgNmO31TtKrhPC65m9XLc+RMcBYrPEStow+r2ItQ7+PcoPh6yS9bO1KBlYPJL4 yRohA3RkiOA4oj9xmKw5KemDyEAXI X-Received: by 2002:a05:620a:25cb:b0:7c5:3c0a:ab77 with SMTP id af79cd13be357-7c774d272cemr1479287085a.4.1744019307396; Mon, 07 Apr 2025 02:48:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH4+lGWPmcz5NRtYCCnivNmg1eWtDA5AuSVpN6FNFJghl0ktm/qkvtMQW02BR9SwCF4XDnGaw== X-Received: by 2002:a05:620a:25cb:b0:7c5:3c0a:ab77 with SMTP id af79cd13be357-7c774d272cemr1479285585a.4.1744019306994; Mon, 07 Apr 2025 02:48:26 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:25 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:15 +0300 Subject: [PATCH v6 10/13] llvm: enable more targets to build MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-10-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=2474; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=6AolG7VyDHWhXWxFoG4CMbI9qXas8lK/IvnEgNGGIJA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859YQ7wGVUVz/vI1GU0uwEkjUNz6BmeaOQDHM qoCcu5YXjiJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfWAAKCRCLPIo+Aiko 1Y1IB/9mMIJ8VpJBttFbYXYsCat6GjQ1KpumURbgkDMgdCS5bKs6pdpVl/SxepEqUXHjEkJ8kx4 kdPtoznNZ3pk5q6jMB+ejaLsUg2z138qrKloDnlTK0lTVoa7cEb7T8eBIxAJb/VXnUuMuFMWpzV +yAl4zNmzmAH8EPAp2/4H7IAe5UF1T0oKcQ7mgIiEl55uLJvM9iRmIqP7gEFJXkrFCJAuF0e879 2i/BN6uLVU3iH7uAZQPzReXv0KXPgakWqB/XmQmFyBYNW3X//8t8hJrifymd/b5uFQMvqt5tpbP e5z0FsUFKecizjjQ2EMmrRE1Oqa5eywSmDlZuBvQVWHP5MxO X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=PJgP+eqC c=1 sm=1 tr=0 ts=67f39f6c cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=4hFqx4qmI6RFarhmnyUA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: -F4Co1YsTCaUEInNxXwZVjoG6y3ak8dT X-Proofpoint-GUID: -F4Co1YsTCaUEInNxXwZVjoG6y3ak8dT 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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 malwarescore=0 spamscore=0 impostorscore=0 suspectscore=0 mlxlogscore=856 bulkscore=0 mlxscore=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-2504070069 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, 07 Apr 2025 09:48:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214439 Pull in the list of targets being enabled by meta-clang in order to make the libllvm from OE-Core runtime compatible with the one built by the clang recipe inside meta-clang. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.1.bb | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 027de04bdd6d340792d1a9ca303dcd508a6d87c4..1c6e9bc48fb832fe67c14ca6d8f93410cb268c00 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -51,24 +51,6 @@ OECMAKE_SOURCEPATH = "${S}/llvm" LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" -def get_llvm_arch(bb, d, arch_var): - import re - a = d.getVar(arch_var) - if re.match(r'(i.86|athlon|x86.64)$', a): return 'X86' - elif re.match(r'arm$', a): return 'ARM' - elif re.match(r'armeb$', a): return 'ARM' - elif re.match(r'aarch64$', a): return 'AArch64' - elif re.match(r'aarch64_be$', a): return 'AArch64' - elif re.match(r'loongarch(32|64|)$', a): return 'LoongArch' - elif re.match(r'mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips' - elif re.match(r'riscv(32|64)(eb|)$', a): return 'RISCV' - elif re.match(r'p(pc|owerpc)(|64)', a): return 'PowerPC' - else: - raise bb.parse.SkipRecipe("Cannot map '%s' to a supported LLVM architecture" % a) - -def get_llvm_host_arch(bb, d): - return get_llvm_arch(bb, d, 'HOST_ARCH') - 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" @@ -79,7 +61,7 @@ PACKAGECONFIG[spirv-llvm-translator] = "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR # # Default to build all OE-Core supported target arches (user overridable). # -LLVM_TARGETS ?= "AMDGPU;NVPTX;SPIRV;${@get_llvm_host_arch(bb, d)}" +LLVM_TARGETS ?= "AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86;LoongArch;NVPTX;SPIRV" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" From patchwork Mon Apr 7 09:48:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60863 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 0C1BBC3601A for ; Mon, 7 Apr 2025 09:48:40 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.43392.1744019312033946886 for ; Mon, 07 Apr 2025 02:48:32 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=Ht9UVuiD; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378dlqp028081 for ; Mon, 7 Apr 2025 09:48:31 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= ZO4BF2VrOX3BHk+hnTgszZKPZk4UAF9t8GMp/i+DLdI=; b=Ht9UVuiD+E0t5SO/ fQ3JLesfwkp1+bZ/ULE4QIp9HyOrz9CwFQMcrBa4buK51No368y7RkQWYLu2e5v/ h2nli4BqTRwPJlODoOs6yVSL5smhNZKUGOejJfpkocUQ5wOE1Adk3BadUwibDS5a WFGvqXNDMxgTZXt2/7IdPlY2svhAi6SUBEd/qw1UC5D1CgEYZeVoJ4OvtXrH0Us3 tZt4TzT2CQddlKYptfd79Tx/A/6kr5ZoB2HBlzbkEW1v95L4XAa1xf6XQ/miPKdF /rQe+cbO0uCTlPuKiWFjSP//vi2ImVTTcUoHOmPArU87tvx4oenXR7nSZ2O4Wzr4 OE6+PQ== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twcyutm6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:30 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-6e917965e3eso63858746d6.3 for ; Mon, 07 Apr 2025 02:48:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019310; x=1744624110; 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=ZO4BF2VrOX3BHk+hnTgszZKPZk4UAF9t8GMp/i+DLdI=; b=SVD5KPLCAexXseLmLkkyt2CtttSGtMRTcD/nc3HuLU/4w4TfP81X8Fgf3qAdL1PQ/M waRGw/WobTzUMeODdsD4jWs1XVtTdO7VyL68Hg+idMyH3WqMFT3Vgqh/ldcPiszePji9 LTYD/HapuWqBjBA05BW3cPYvg3gSMnXdZsGSbbNp5saDbnKFWcDrwoec3X8eWpHP6mcH U2q5oJW9ic0NLJvOTQMxQQJmWH+5drCE+3mxyjkLxMva4VeghKU2aE6NcCQmmNqyGrCs uK2OPwchdLpeCRw0OkFy3Kg34CSmng9S0LmOiQ0Omto+4/jECi1WKaXZvXqXt/B7DXnq kW3w== X-Gm-Message-State: AOJu0YyI3cpiRzefd8HFhvQDour53bCtc/pRkzs/EiBBLVT8eN4QLcMF Y2tuCTCKfcYXGflGFypZtwHFpW7sXGmYuZHKk8Lxy1Cy1AVBzLT9F8o3wNHNBiCVDLQzDwkehdK v9jmGt8ZdcdKi/+5FGpcRE83nByigplbrxDcOAWmpHeDEXyR8jph+ZM6Fj0vaNDJjN2n/LNNdFo OaN4Gh/x+ogZE= X-Gm-Gg: ASbGncs0OxT/0+JNNP/FIX1qf6wNmE7Ci3lcXYLXyVVnK69jfbU9izfSxsD0sx2HeZ5 /oNh5BiktM4LpYeyvPwDupRaWXfqgKsv+S5ZvWA5j31sbIPeMP/tcMly7oVtVGiSBgvsaN19x0r kKmh1o25gIAreQ5qJ7FXWDmvHG/76rea64NtOBjY+J3CuFx7Ti46zkdMzgv6irgMpkKasSi3Inl L9JVMKUV18d9E5wGVvUTfcrmguo0z3O3wsZXAtoVvqXwqWC/8jzw+4v1hH+FDojBBYHfOwD0dQJ aTMtK22m1bB9k1uaQNS5TOtNGSfau2Tb2jE1Vwe10B820xxSLfYIZu45/tkGTpJ4cHy70x0+KI1 95fq0+pRYNcI7jb2/fg10AnsHtTco X-Received: by 2002:a05:6214:242e:b0:6e8:9bcd:bba6 with SMTP id 6a1803df08f44-6f00de6a618mr233847126d6.7.1744019309373; Mon, 07 Apr 2025 02:48:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHU9rh+8pHaceDG4WiH/oNf2cIgV3Sw7lfqLW67JUW3GZzjWB0Rp7fRkc8d1AUwLWbWe3ngIg== X-Received: by 2002:a05:6214:242e:b0:6e8:9bcd:bba6 with SMTP id 6a1803df08f44-6f00de6a618mr233846736d6.7.1744019308733; Mon, 07 Apr 2025 02:48:28 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:27 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:16 +0300 Subject: [PATCH v6 11/13] mesa: upgrade 24.0.7 -> 25.0.2 MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-11-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=26879; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=VU9dz+SNP06vwuFnrl8gAMkrNNdjyzw/E6+H/YpKQ0o=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859YoMYrPAzfJuCituK9dMSTd2mbMlI5ihVKH +2b9xjbFmSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfWAAKCRCLPIo+Aiko 1d7rB/9KpNRUwHPi4h4sgtaQ/AWUXpIf2IjhZqlm5b/gJ/g8JSJqmzMdB68L6tT3on7KBd4eHrM cjnNtfiGLL4NqgzoAMCUCbnKA97k/nAh+BXr4LP1cdW2pfbxwj4n7yb3z0Q9hKx5ODKlHDYYaS9 D/KsPJXKdx/Ks/kbTnU13uYF9FMKkOQkN9ie6UxmGd9KH2snuqlCIafeICxMAv9RvtO20pqLVUX VnBCuuEk4sf111GuDK8uS3mdEKG/PGrTd7RB0TaEyAV/k2ufnZQFY0PkikotPlxVE4OzokG1d4l 0jfj5nPdwx+wTGG4qiM3gMaDUjMdMwlnToeCCxIMoKSHVc5V X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: SZGO3mo4PkCVrCFHEaReVQEVoZ9JANRI X-Authority-Analysis: v=2.4 cv=Q4vS452a c=1 sm=1 tr=0 ts=67f39f6f cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=e5mUnYsNAAAA:8 a=ZpVaWaFtAAAA:8 a=EUspDBNiAAAA:8 a=pGLkceISAAAA:8 a=aR16PxjQAAAA:8 a=zUL-4DGhXe84LyRR3DIA:9 a=gJk4xi6hdQGAnkM4:21 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 a=Vxmtnl_E_bksehYqCbjh:22 a=5tn4MO8azEBWFjlAA-rn:22 a=zbFvvTOBjyH4ze5LlUjX:22 X-Proofpoint-GUID: SZGO3mo4PkCVrCFHEaReVQEVoZ9JANRI 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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 suspectscore=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-2504070070 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 5378dlqp028081 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, 07 Apr 2025 09:48:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214440 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 +++++++++-- ...able-SIMD-blake-optimisations-on-x32-host.patch | 28 +++++++ ...ext-don-t-try-zink-if-not-enabled-in-mesa.patch | 42 ---------- meta/recipes-graphics/mesa/mesa.inc | 91 ++++++++++++---------- 7 files changed, 117 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/0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch b/meta/recipes-graphics/mesa/files/0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch new file mode 100644 index 0000000000000000000000000000000000000000..bebe30037abffab676bdd371116c1b9cbd9f9cef --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch @@ -0,0 +1,28 @@ +From f3c34b8da2662643089b33be8b93e56a4da8703d Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 2 Apr 2025 15:30:20 +0300 +Subject: [PATCH] meson: disable SIMD blake optimisations on x32 host + +On X.org startup libgallium crashes on x32 hosts inside +blake3_hash_many_sse41(), most likely because of the different pointer +size. Disable SIMD blake implementation if x32 is detected. + +Signed-off-by: Dmitry Baryshkov +Upstream-Status: Pending [will be submitted upstream after internal clearance] +--- + src/util/blake3/meson.build | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/util/blake3/meson.build b/src/util/blake3/meson.build +index 6b53daab6b32..ce6dd85ac1ea 100644 +--- a/src/util/blake3/meson.build ++++ b/src/util/blake3/meson.build +@@ -24,6 +24,8 @@ if cpu_family == 'x86_64' + else + files_blake3 += ['blake3_sse2_x86-64_windows_gnu.S', 'blake3_sse41_x86-64_windows_gnu.S', 'blake3_avx2_x86-64_windows_gnu.S', 'blake3_avx512_x86-64_windows_gnu.S'] + endif ++ elif meson.get_compiler('c').sizeof('void *') == 4 ++ blake3_defs += blake3_x86_no_simd_defs + else + files_blake3 += ['blake3_sse2_x86-64_unix.S', 'blake3_sse41_x86-64_unix.S', 'blake3_avx2_x86-64_unix.S', 'blake3_avx512_x86-64_unix.S'] + endif 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..9edce6b2281c2e33e6fe20819f0f4998cceba60b 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -10,21 +10,18 @@ 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-meson-disable-SIMD-blake-optimisations-on-x32-host.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 +35,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 +73,47 @@ 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:i686 = " 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_SWRAST = ",swrast" +# Crashes on x32 +VULKAN_DRIVERS_SWRAST:x86-x32 = "" +VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_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 +136,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 +144,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 +156,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 +172,12 @@ 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_LLVMPIPE = ",llvmpipe" +# llvmpipe crashes on x32 +GALLIUMDRIVERS_LLVMPIPE:x86-x32 = "" +GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_LLVMPIPE}${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 +190,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 +253,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 +279,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 +349,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 +378,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 Apr 7 09:48:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60862 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 10574C369A1 for ; Mon, 7 Apr 2025 09:48:40 +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.42856.1744019313474789791 for ; Mon, 07 Apr 2025 02:48:33 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=nPLcaJvk; 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 5378e0SE016402 for ; Mon, 7 Apr 2025 09:48:33 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=nPLcaJvkOOmJ6ZMH d4OGTyj/RzQiedjufOhdWHpBdgjxGKYn2F+7N9rQkELr/h6XU6gz0kn917dlxYjp 2AvwG1DnSncMh9d38usmFneOoK+u8noRyqUnkZ/Tkh9pMMfg4Mf+07LmHAxqisgE 5MOGsznMZkeTI8oK2n4aIGdvNZQClpETxBQwlCLvYXicwqbsQ6A991pqp5UWlik8 n41+S8wBF09lCIX4DMnoixHQoQGgWq0r10z27m/BfLYofMyTaGVs3dqq6fzkVzwW W+q9KYkDYX2KnRywCTYagxwHKFaszP2hAsnqdw490exusjwDwgBWGaY3f88MBQj/ +5Ie9A== 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 45twbe3u23-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:32 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5f7210995so742802285a.1 for ; Mon, 07 Apr 2025 02:48:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019311; x=1744624111; 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=LZtq1O7AbSRA3oLsKK1MWHO+jMq+SBh1i+V4QpWzK+qScVCYy3caMfhltgLcyKig2L GkUVxaNGtMX0CkadfxHzx2HpwQk6/2Gk5T+ZSXmvLbwxE49reE51uM+LNAX8+8IBHWKa bcyq9VPsRB7aAmEZcaV8NsJ+DKtVG+y3lWPqGf3/j/0lnSdAo5v7Ov4FK0FRUBNBy5TB m5FS++IBRGwOBiuKOrGj8sgTCp52HLlbl6wcNcKbrGRkFAH7Ryh/IYEeusRSoACX2NaE kBeUGGZfamR422LoDDFRXrHdws/S4WL0AHCOL0Iw5GytOGp9Iqp4TOqCNAN+eYmpFJhi YZiQ== X-Gm-Message-State: AOJu0YyRCyoG48KbsLrb8KeZcJ7PpeEEyOhRPlAxvdsdU9lKf1xxpwlV mkUIArjjtdSiH3VW/SNaJKec6Se6Hq7zHaPaxDjV5PB0/1HdT8VK6il7y6EaEfmT1wramSQD0T7 J1QAmWJ6kX4HQTBpLGuVJW5H2mMi30b3jkgYeQ/dJrR/Gf5j6RPEDQBzUBN1K2ONsIc9ymJ/caT CN8GCf4mhVk0g= X-Gm-Gg: ASbGncsgMZUK0hPeJ717rslvRg4hRgtUkcZXJPfTcE2CeRqFdFAmHGJGIBxOh6WBjFo TpFOo6IHBU1BJPdN8b/eaFmTr+PbifpKrQXx3j1P2qd7nnPoiz5SP0idfeoYW1kwb1QBILuqk0L +BcUT6msoK55mxgMzogggtFevPOt3GkNf45d3lMRJmOeQ5CuG6YMmutfypk7dHJ18b0vX12MDTt Gn0+iaD2y5rtbdSIEWJBiOc2z4NmbNgEWzdEMwM0xktSQukLsnYGK74Z7dP74JAejqDm781Fxde fwlS2U7jQM4ZV9iljLQ0CSl3RSvjRY5d4cXq7dNEo5a2tz41Xj0f9wc8/j2gJmTGEjw5YoXk8ZJ 0zXrTJTkilR+4uKLigR24aVshqOsx X-Received: by 2002:a05:620a:258d:b0:7c0:b384:77bb with SMTP id af79cd13be357-7c76c98f772mr2480337885a.14.1744019310540; Mon, 07 Apr 2025 02:48:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHz6ON4KiqCl5FUT34RJu7wtzQVpoY+5qlKLXMKVDXSJw5u2YBhCkpmvAJDzWzpRo3oQInF2w== X-Received: by 2002:a05:620a:258d:b0:7c0:b384:77bb with SMTP id af79cd13be357-7c76c98f772mr2480335785a.14.1744019310085; Mon, 07 Apr 2025 02:48:30 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:29 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:17 +0300 Subject: [PATCH v6 12/13] bindgen-cli: a tool to generate Rust bindings MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-12-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=16753; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=YBZYBfYJ3JbKP7K0Jlp7EFib9eFhm7DpT046ALwrANQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859Ye6aI3tDC3iOkDbGX3TKjW/KIRejbIOeg6 +gViQCLWoKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfWAAKCRCLPIo+Aiko 1f5EB/9E9wDtXgIovqrymmORh8PQRZxykEg5RThMI4drAwvgbupRfHbjVa0vDiv7NPTQtZ7EX5s X4bDJhjjqgGKQqcyPR59zWpG7+yqBo0xqtjPz1CSLgJhEErpVWADFfPR/mq9XjziX5vCoT6QULI 2tjmTmdly8avfcMSwc1J7A0F68xeBbiojX2rejLlTEOl6YQcN8RAcrpPoel1UyoxwlV6A2JxA76 DMfFy+vCbGBeTqorTcql46wtA0dS+dXjZlQKPX3pVWre16UHMGzbTRDkPw+RUB6TnPjAp+/c03v LHU8W6LjFOtt0gz7F240+ABdS1D8w9LcBcsu8DEWttMqX+YJ X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: PQ1WUsZrFi9pWadU730kLdLi4yxrhce2 X-Authority-Analysis: v=2.4 cv=T7OMT+KQ c=1 sm=1 tr=0 ts=67f39f70 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=R22tBeTbAAAA:8 a=EUspDBNiAAAA:8 a=t7CeM3EgAAAA:8 a=iGHA9ds3AAAA:8 a=QyXUC8HyAAAA:8 a=pGLkceISAAAA:8 a=NEAV23lmAAAA:8 a=yg5Tb1XzTRPOZogEtRIA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=71pCXManv-pOE82v44e3:22 a=FdTzh2GWekK77mhwV6Dw:22 a=nM-MV4yxpKKO9kiQg6Ot:22 X-Proofpoint-ORIG-GUID: PQ1WUsZrFi9pWadU730kLdLi4yxrhce2 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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 phishscore=0 bulkscore=0 mlxscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 spamscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504070070 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, 07 Apr 2025 09:48:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214441 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 Apr 7 09:48:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60864 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 0AE23C36010 for ; Mon, 7 Apr 2025 09:48:40 +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.43393.1744019314933365463 for ; Mon, 07 Apr 2025 02:48:34 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=cJgRDJRU; 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 5378duHl010872 for ; Mon, 7 Apr 2025 09:48:34 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= 5KQIIe767gx02h7gn+eKAyNhGwqbUK7oPiNw70ce/ek=; b=cJgRDJRUYAReeiTy xgJ+xHgiw85Z0P9kuazYOamlzvr4cMqjcK+5GpTo7qTc4edogM/c4LGwflNFvDCW zuJbN4JoWVhPkuxjZHajpZj9T1rx1bYVaPzWvJ/eyiSNWHn7XjT4W1+qE+nd6x6X m3bkrOGlVwemsV1nhJxbXpwVNCGtOLKKING4JBgkGc1A5XeHGHSDtvPWm0khwm1y zJpC0C7eRlNPwHCixPW/4Z5K8pcGgeEjhXwo4PwPu6wBiExpNhzMlqs5mDlcMPJT oV8J0utyUBD40SXb3vRiHbgQd6rVBtdkNMbKVJDyOcnZQ9294+quhWao1ysHGXRw uuR2eg== 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 45twd2ku0j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 07 Apr 2025 09:48:34 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c572339444so674088085a.3 for ; Mon, 07 Apr 2025 02:48:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744019313; x=1744624113; 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=5KQIIe767gx02h7gn+eKAyNhGwqbUK7oPiNw70ce/ek=; b=h9zJaeqUK9CQ3HVAvqjYPWa01/vCQ4N3C4NoEqmfo4sqyLxixHGynLsmpo5abXMfBJ XexWZN5K2UUb4Kj5fQHs2Ybmrpz31Tqjfb+P+oV0N/UNn/HcRzMA1r7GQ8MhnzcLM+4Y A8HcS6imTemPi96SD7qOU6KzXwztkyVB9kA7OMeejSa4jH+YLFzv1Y49ufi9/Y6QF/bh 3g8QhfHT6e0XU9X+fb3sUxpnrrIF+3IMCY1f6tJGeW0YgVSZKHDhRrBg5Nsc123U6G6N GnnKoGizl+fG3rGpYEVaMb1jrvtcOdRmcX/jChWIq8CYfAPboPalCxYtyGxnxL/vqaJ0 uMZA== X-Gm-Message-State: AOJu0Yz7quUVGNQlw2jNYa3fJXivzv3Wk3gGdzoruOXzI5a32Yn3r43C lZu0fR3R7iKuRiQ9kRVSKC55pisJ1tou3bIM8zrnTNvpeBYei1D/aM38RbDITySV3MldDpr+IZl Cqhf6BvWG6Bys2fuTS+pzxGlAkwbVyixi6e/Hsb0FI3n0MJDt/orLaQOp9D+aJt0Bq3XDWzLUHU LkPDs= X-Gm-Gg: ASbGnctP4eYtxWqQPjyZbJGC8KCQxzWMmaFFeZos8omuTugMiAEmdTVQhvrsPeS0CQ3 SX1uWFxN3j0dxddoOes8D9UvNBOGdtz/y0dYwDdkJnAo2MTsk651K0afEhuxdd/DIiW58HNW2Ql H9pf4lbhqAAUfuQR0DJRKPpDdfqmXAEBWOBNidUoI6Hm8DhrA4U+fbZr/1/hHlBMalR2+IfRCGE YvN4nVLFIdGA41xw2G8CD1B75Jzura2GXJWeaBBpCi+k8AD2zCqi4bY6LNzGdSE9KRdWIEojtZ9 h945VAxxXoMD5/O0kzb04NzEJSzv4CdXtoMQ2EPPoqRvVPuic029CXRJK/vqhip68WkFhThD0LK gQUawIxhPi2c870ZcTL46k3aFj2nO X-Received: by 2002:a05:620a:4245:b0:7c5:43c2:a8fc with SMTP id af79cd13be357-7c77ddeb2a9mr1130384485a.38.1744019312909; Mon, 07 Apr 2025 02:48:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGVeyunym0iMBAmGtgDL0Fs2GqQrnyCldlLHdBhjjKcyq28nnclx39kCfEeX+wTAjTdcrVhgg== X-Received: by 2002:a05:620a:4245:b0:7c5:43c2:a8fc with SMTP id af79cd13be357-7c77ddeb2a9mr1130382585a.38.1744019312496; Mon, 07 Apr 2025 02:48:32 -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-54c1e5ab53fsm1216985e87.52.2025.04.07.02.48.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 02:48:30 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 07 Apr 2025 12:48:18 +0300 Subject: [PATCH v6 13/13] mesa: add support for RustiCL under PACKAGECONFIG "opencl" MIME-Version: 1.0 Message-Id: <20250407-mesa-25-v6-13-29bf4cae8d28@oss.qualcomm.com> References: <20250407-mesa-25-v6-0-29bf4cae8d28@oss.qualcomm.com> In-Reply-To: <20250407-mesa-25-v6-0-29bf4cae8d28@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=7772; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=fZAgKJI7SWq8PzgWSpG663vL/fDTTwBSP4YJ4EAiFUU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn859YcXQ9H7VT9Y2tSZ8F87qoI9FxuuwjLH7B3 OVyCDng97yJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/OfWAAKCRCLPIo+Aiko 1XpDB/9q4PHdZZKO5rnfN6T9rOZ0b2lMWjEpRTJRuOKtYSZtMJaTvC84hDxFBHZigoNLR+Ng/QK YhCk7xDlR4dNj1ab9sAd8io6eVaOLuNhmM1yZLmgcn2ejKkky3YRO8x+5EUCX5HysvsqJS/Qjr4 V/33BN9ZePop4ON9foqyKvsbl8J3IlzcW1/jIuAZ7WH/OLI8MXYSPGkNrkxQASrdwgo7M8/226D BBYf1J7vyhT9hOcXu0fLIHYt4BbIOqUFJzBIcL9bjgHaurPeuZQ6W3cetO9IS5JamUFYM5FxkBL eTN2uIWbVk90WDQBbIZySJeyI9/smgT8bNeQ1VcrnEUyJCCG X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: pwmc_Z9VoEbGd0L8iaU3EA4ktkPAz31I X-Proofpoint-GUID: pwmc_Z9VoEbGd0L8iaU3EA4ktkPAz31I X-Authority-Analysis: v=2.4 cv=NaLm13D4 c=1 sm=1 tr=0 ts=67f39f72 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=ZpVaWaFtAAAA:8 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=NIk5LsUNV1RiDaC6tVwA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB: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-04-07_03,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 impostorscore=0 priorityscore=1501 adultscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 mlxlogscore=999 clxscore=1015 phishscore=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-2504070070 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 5378duHl010872 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, 07 Apr 2025 09:48:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214442 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 | 21 +++++-- 2 files changed, 83 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..d527b3408734dfa0aa756053c1b0f3ea3a59563b --- /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 +@@ -115,6 +115,11 @@ rusticl_bindgen_c_args = [ + '-fno-builtin-malloc', + ] + ++bindgen_target = get_option('bindgen-target') ++if bindgen_target != '' ++ rusticl_bindgen_c_args += [ '-target', bindgen_target ] ++endif ++ + cl_c_args = [ + '-DCL_USE_DEPRECATED_OPENCL_1_0_APIS', + '-DCL_USE_DEPRECATED_OPENCL_1_1_APIS', +@@ -187,6 +192,9 @@ rusticl_llvm_bindings_rs = rust.bindgen( + rusticl_bindgen_c_args, + pre_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 9edce6b2281c2e33e6fe20819f0f4998cceba60b..aca34983e97ca684d662987d3a1d0b61ba44029a 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -18,6 +18,7 @@ SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ file://0001-meson-disable-SIMD-blake-optimisations-on-x32-host.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" @@ -46,7 +47,7 @@ PROVIDES = " \ virtual/mesa \ " -inherit meson pkgconfig python3native gettext features_check +inherit meson pkgconfig python3native gettext features_check rust BBCLASSEXTEND = "native nativesdk" @@ -85,6 +86,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:i686 = " libclc gallium-llvm" @@ -144,9 +148,16 @@ 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') != '']}" +BINDGEN_TARGET:class-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[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" @@ -249,7 +260,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 \ @@ -355,7 +366,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.*" @@ -369,7 +380,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 \