From patchwork Wed Apr 2 15:18:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60621 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 5F657C3601A for ; Wed, 2 Apr 2025 15:18:41 +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.11406.1743607111577763546 for ; Wed, 02 Apr 2025 08:18:31 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=birWgAHx; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 532D8g6E023766 for ; Wed, 2 Apr 2025 15:18: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= EnlX3QWUCYrIsL2ngorW5rdEdpjwxn2t0gbHgboQkRY=; b=birWgAHxYX6HyMi6 Cv+KCfbyPS+iLpD4GlMd3p/79KL7tHkV0bh4QAkWtQ6GsSi+Sh/rLAxTcM3Y4AsR IrpEEaFzQBoXu18L3t1fHrRQf409GuDdKO8MjEG1nIc26EV7PTKZDsVV4NMxFAT8 pD2PPSXITkdCG/eUnZBiM6476izbcMJOAI/olhVOcm/k2UCr7RHmV5eWHh1OCWqy Pobx/oXLvXqaTxDT2UT20MpCFNU44ZDN7J8ebgv3Qhe/AQUmaewOyJn++Kiys0Yx yCouS+tc8UfXgteZSlenzfXw95sBZUkeJzZf3D3o+461jPjGndzmzAsyYCSQ7tCB sBQIkw== 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 45rxapssjk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:31 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5ba3b91b1so194867285a.0 for ; Wed, 02 Apr 2025 08:18:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607109; x=1744211909; 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=rMhQp0jiYcXraTzmqajGfCx0Xvhv2IVrRQW+HHm+8SzSG53cpt3cOB82ep1rsmvqs8 gAjBIvP2hLajgGgCyYQQ0mQtJ51QNgu9oyMg1OzHglz+VPaJzyjULXw6TvhnL4jgxFYD kdNUzEsbqYFcWjIBDoQMS9SjGKjBNPiRNk34jNipzEn9Q6E5XjZ6iWcgTxbUMX4agcGD MFiShGinV6102lwjgPBnynVmGIr5WoPAH2A3NyTmT8dIWq/NM1kbLrTSiZsniy1WoXo3 GYofvS8zjdcXldQkqULE5mpkvENlD59pUPKBVRDxl1cVWHRPYYyXqpNq15t1tVp+N7Sj vciQ== X-Gm-Message-State: AOJu0YyoDkCMMaDsGyet9NdhHa6dQpMgk1EeljQx9exmcpsa6frQzLMk vyCn+FVGz9M0u0h1zx9W94MOwTNIO/12Q3qh6WF7PQ5bCJf5k4kVKCsPnZlFve7eRRmFiWzLD9D SXkm6LVUTuX3ZGIZvQTuCq08rJk4zM3Y4w/jtuyfrz4GqOp6kxi6b1ijtXrA584zq/aNybRNKi7 bzwJOgrlTv/7E= X-Gm-Gg: ASbGncs5KU5Z/hahzxudcB0GgZ7KyiareASMa3we6iRyBCDlaMh1LrfY+IoUOWJ9a8E XBxeQAXXgNP0ctPFmNrPvpkKzGvD/IgfBpYYFiISCoXuSpa0Pk90mX5ymXfiU+iBQV95DGsuvIa YSaJg3yFeYAWtFFZtwHzluvn4T+sy4eup5/nqcNz6bBrSKgYmdPThJ4TH77uRBD3mRL1UqUQD5G L+Zei8OMYW4r8uni+Qe/iuhaYI1Tl7/PWpW9iwIAI4HzfZgilDXd7Zp8awqJs3erx8dRXq36Oyz Nsfspy/5DIojGtPjaWafroTnqiqiRmLUKNYyppL++h7ER5RfnLKGVSw2rGnoh8ZBzhFU2honbly U3j4VMHTe4Dx+a72GgxbHCwbnZ9rV X-Received: by 2002:a05:620a:25cb:b0:7c0:a9ee:e6c1 with SMTP id af79cd13be357-7c768233580mr330677385a.7.1743607109320; Wed, 02 Apr 2025 08:18:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEC79Ag5fA+OB66xEFIwUu5BrcT8Z1QEg9cRlW9fcei17NNnMr11Bjq/QUcaw2Ioohk8UJUFg== X-Received: by 2002:a05:620a:25cb:b0:7c0:a9ee:e6c1 with SMTP id af79cd13be357-7c768233580mr330676285a.7.1743607108978; Wed, 02 Apr 2025 08:18: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 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:27 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:23 +0300 Subject: [PATCH v5 01/11] runqemu: also set GBM_BACKENDS_PATH MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-1-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@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/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVADWtRb3LmR9h2PUbvS0jGdjg5q08vGnLDZ F7uTtSVCoeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQAAKCRCLPIo+Aiko 1anLB/0Q92A5h65+o+cucaPILNWrHSpnyW7/XYnXmPKnyQ7J9cj1xAty5B/6DHTiN4kTyUgI1rz gNpKch4LJE5y/gPi4GHBBwo3XLeVHkOE4Cyv9D1gsbYLz2npo7AI8JgGBwWNNW3VWfXgVZlxhhM zbNAATaxsIhOEJZ9+5Dt1JmTb2fTRD/QYRyQ7DYvAfa7BiwOba3QzHiUFQZixgtbystArpa85L2 Fs73ZKAcGMN4+qDp1Ti8UJFfHNzQzbMRsxI7aEJdylLgPBGUxEN65BLHJ68/uQQlqoWbx7ZTLdh J3yyruW2Qda9HEo3cSViiet9yn0KJ6BLUijj+/tByxYlF3LH X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=Vbj3PEp9 c=1 sm=1 tr=0 ts=67ed5547 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=5p7H2duF2IrNtC3iPlkA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: UxqvMivEvIu-IIdNlBf512OYMvoY_TJu X-Proofpoint-GUID: UxqvMivEvIu-IIdNlBf512OYMvoY_TJu 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 suspectscore=0 clxscore=1015 mlxscore=0 phishscore=0 bulkscore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 mlxlogscore=756 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-2504020097 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 ; Wed, 02 Apr 2025 15:18:41 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214269 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 Wed Apr 2 15:18:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60625 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 7E9BAC3601F for ; Wed, 2 Apr 2025 15:18:41 +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.11436.1743607112671316149 for ; Wed, 02 Apr 2025 08:18:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=BPIqI+LK; 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 532DuBdw024541 for ; Wed, 2 Apr 2025 15:18:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= nIhSfy/SDR/jkHbaHlF49+XBVFaur1v4uEyKSY8Df5A=; b=BPIqI+LKp36cZJ83 lB1UmrY4ISPq73AxrumRInGM2/RzE4ZB3iq+RCNmFRLmJj4K8IsOsdx8rzXwikWb axXsBLh6EzVdBMexHPXLwmFV/NaB7BEweb3jHMyX/xKWsfFDeNVd2xiXchn84zu1 pow8Btef7+x39jeuhJI8M/BeL+gGg8AqfpZ0wlgy2PBmknlCpwwNkaKX3tt2Nr4B JkxptJPPvRzaBnfJe7TezF4KUmHP6ycO0Jls12m3PLrjzOzp4KS4Nyuy78uaxjqH yAAT09P31VAtI6LDGUHFG1k/hg3rDwpNMUs2m/6+gcI9pYPSRjeBRofgqfUXzFgN 43+Iag== 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 45rbpyvx8y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:32 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c09f73873fso1044349185a.1 for ; Wed, 02 Apr 2025 08:18:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607111; x=1744211911; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nIhSfy/SDR/jkHbaHlF49+XBVFaur1v4uEyKSY8Df5A=; b=DK7+LDAeWe9BQk1wKLSpBeSgrdsGbeUZqbY538BOmWFOUmx2YX5y++YuVg7Nj3Qsbv ot9keTsgufq5V+hrWVRDnr5/wKmUnAlnkD6zduhz96sjAF0enCYncbGgK8ndyLXvAcZ5 CLtYthFHgSVWNTZnuG+vtogYBBP/Qyzj9VgIefY0fZlx4lpmhXaAEJClMJ8SRXyQZ5VF jui0Kfsg5SKf/wJ5/ZcbhjD1VGAjwL68YkVqyDMvwZFayFhiiRfcmE+KYyWkO97c+79q Jn4yas5xOU4jsHISBxkUsK1Ox8B8FhfOlu5afBpB1vPIwp91/mB4RTQbF3MgZVYfTbLC Jhpg== X-Gm-Message-State: AOJu0Yz1pau/WMCqHma1LbXP6IZBtmh9jU2HJ1nPB7hL9WX65mKeXOuF aUrmg4wCwb8uI9+d8pehwGqglwhl2cWpBaFid5yUgWh5dLBO2YrKIGx256zEImrTsh1zfTwIlH6 lJDEsDwuLRBz/mnMKsOXjPj11MP/PKiSxPJpLcXpYZfFZdH0nep1SUB8dEgof90JRO3TEfkNEXE twIyk= X-Gm-Gg: ASbGnctbcd6OZ26WQCZctXsaeJs7dk4qSoGgW3H7drP8HrvFIRqqWtFBD2o/AZbl+kK 4zH2mhFLLsACbeyy0awGJal3yqSWNo+DEp7xLp2LtyOD1O4SF0b/4wWbY6Vi0IAQ3S6+OKsUED5 XvVSGjaIUH6xqyxOr490+TIcLypg2TdEF8MprAZ3Pw4i/90mcyRlo+bOy+4BjPYq03c0XDzrwC3 c+BNng0Y7eQRxx7w3O/6wFA+BRxnBV3K0MSJNzBfb/1tVHovR4zn/mV0erEez4on7ftadkFSyXy K/caIY9tvkBE7TOwd4j0YZvkFOmAHwcWZybiFbZyW8W0qTMv4DN1Z3CXsR4GOIg5NeVBRxvduAe URAPeQv9Mkk4+KL2zqb9k/kwaE/wN X-Received: by 2002:a05:620a:f0e:b0:7c5:4463:29a4 with SMTP id af79cd13be357-7c75bbb258dmr986075185a.14.1743607110802; Wed, 02 Apr 2025 08:18:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHfiuIImR62ouswsYsnTaLCyb9jLBTgPmUwLNe2qGz5Mlu5dH1lfTOcW3cZZFDftdQh9nvJrw== X-Received: by 2002:a05:620a:f0e:b0:7c5:4463:29a4 with SMTP id af79cd13be357-7c75bbb258dmr986071485a.14.1743607110420; Wed, 02 Apr 2025 08:18: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 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:29 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:24 +0300 Subject: [PATCH v5 02/11] llvm: move libLLVM.so.N.M to llvm-libllvm package MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-2-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1221; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=eGTibRIRqDUKSL6bHzN2H6rb0V+z74KRWUYbtuHsbiI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVAA0twm3jdnS/GfwY5VZnAxINld02u37thY f+eUAFPWhiJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQAAKCRCLPIo+Aiko 1ZcJCACTLF6wlA2twLp0FHz6MZJfRxAt11/trLteJ4RZjx3N5dNSwjegqvchauM5CsXcHsvJKbc B+ouHZpTGOLUyjXWMbVh46VC47v3pVshE+kfC9Ujwx+eWPWSTLJ5IdiVpaZuuOifh1l+Vj6B0/3 F9ymQp6DCayUIS3b9FOFh6GczGR7Nq9U/lJEZ1xkwnlR3amf6AyO/ix/nT8CPhsVUvXfnMBQX9C 4RE9FpEKGeO3O5sEt/TUYvFdWHCqnTwUD7HPiogDE7W8I2dAalmOaaxaDGKRj3XuMP66o+qlF6p E3wtBBHs19FoNybbZYv+P++PHerhzWnbgG/e1Qo0f+O3QJDn X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: RuzVyUlZH2DGapxb1EpQOpZdTNgGO651 X-Proofpoint-ORIG-GUID: RuzVyUlZH2DGapxb1EpQOpZdTNgGO651 X-Authority-Analysis: v=2.4 cv=ZNLXmW7b c=1 sm=1 tr=0 ts=67ed5548 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=sEhaxK_mCjGFFgskTosA: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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 clxscore=1015 mlxscore=0 adultscore=0 mlxlogscore=753 priorityscore=1501 bulkscore=0 suspectscore=0 malwarescore=0 phishscore=0 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504020097 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 ; Wed, 02 Apr 2025 15:18:41 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214270 Neither MAJOR_VER nor MINOR_VER are defined, so libLLVM.so.N.M ends up in the main libllvm package rather than the llvm-libllvm package, as expected. Fix this by properly using two-component version. Fixes: db3bf550a372 ("llvm: Update to 18.1.0 RC4") Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.0.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index 7ffc6ec1cb8a041f3ce1c3ac75fad30f1d793916..296a164cdd7ffb45f056c879cc5fc4fbc459caba 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -19,6 +19,7 @@ VER_SUFFIX = "" PV .= "${VER_SUFFIX}" MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}" +MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" @@ -152,7 +153,7 @@ FILES:${PN}-bugpointpasses = "\ FILES:${PN}-libllvm = "\ ${libdir}/libLLVM-${MAJOR_VERSION}.so \ - ${libdir}/libLLVM.so.${MAJOR_VER}.${MINOR_VER} \ + ${libdir}/libLLVM.so.${MAJ_MIN_VERSION} \ " FILES:${PN}-liblto += "\ From patchwork Wed Apr 2 15:18:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60622 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 74F22C3601C for ; Wed, 2 Apr 2025 15:18:41 +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.11407.1743607115440054732 for ; Wed, 02 Apr 2025 08:18:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=Sp2ANd7e; 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 532AT8kC023203 for ; Wed, 2 Apr 2025 15:18:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AS+w1P7zyHFnfLucYjiktS7bjXogJ0ROIA2ty176TmE=; b=Sp2ANd7efU5QQtyX L9HfFczkw87BlBwUVAL740FUPa40SNp5AAWwuywBGi0ptvN8x7Ac00ATwMqVIbTw nPW3wkeEqdPEyHPAww+1H1Y4hfkoVTor2n0wuTUNoRp1stFuEgoQxbOkVzM9gTKQ Mim/0lfpKiQe+L6LhHlfwgBD6L/IkKhChHW+a1VV0+5qjMuQxEU2JvKVB6KXgnl9 DXkGtfV3ytRyVCT0R8WZ0DbnuGadalAwiRL7BR84APvVpyxVG4/dj8cLxMbRyD7F jlMUONRptivKzWTyCehcA9Y7vtzdvLSbM5CN4PKE2jXZnMK8anXelzRmldm7obyT eIEAxg== 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 45ruadt6gj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:35 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c57f80d258so1023809685a.2 for ; Wed, 02 Apr 2025 08:18:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607112; x=1744211912; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AS+w1P7zyHFnfLucYjiktS7bjXogJ0ROIA2ty176TmE=; b=htQ5/kC4seGwQhr2MZAR3Ih1ITPHR4tcrMRfkY+9/alDdnQFHYMi7FKqy9q5HDmoXn Mc+yqoYUQp8xwJNhW1zylJF1aFUlNx1rzzp9NVJjoOo+qpuOeY4E8rzrVlTpHWT1KErF XeQIGpi5LtKlAsq42pR02FJyVUDIVeMkEnym9FPgcevY8oNwYWsXSmyvv2bmWQbswWVa 9XWaxeplXKXAXR5V02AQsg7ein/9yDEsW2LN3kIfFi0YZXKpui+13jL3WRx/uvfOoY4f Mu4DiB3M5BmYZqbIIB5szpriI0rBg8C/mU9KkKvfLfmxb+OkcYO0TCcarKhfcGRPCvVE EItA== X-Gm-Message-State: AOJu0YyEb2RAokq5pz1YtFgQXJW7KGeHuNXOzKeCu3r5EtfAMrOgcZgM H7iqe/liH5vCCyn1RwYb/35doXqfUSChKU4v+aSWg7REJS48bYqFnjHyNbFCxnpERMVrBRfYrXa f6ajBMS0Kj9V7wpsNz92hR4OoG6Ie6gackTbtF9xvBD4AGSxL+Z9GnOm1PStQk4lU9ZQAd0bhxA VF4eZ862IC9qk= X-Gm-Gg: ASbGncsOOL0+xJamX7+Tk8IpyUllgJL6aId57jqEEEJTo8+2eb2JHw+km3FyqMX+Ktg ngTuOkHtW6nhFZ8Ey7S8mly6mX13lFBUVTzElHD+yexfd2O8lLQlhOMm57W0znr/e4hN2I0hQ4K TbyJF5SIuOxIxyQ2rvxt9obow9qlFcB1rncXw4yRbJeKQU4LPEMa1mrIKY26H0zpDWIsEKC0ZEm oOONlLUxU5LoUeahtHvGoBhv4zLXQ7Yn653GPKY6itQhu0bcLMSSinj7g5hsjPObBBulpxjI3q7 5/CuPJdnGgIyfV18zme8g3RZg7joWM+WfUSPtvU7sJA1kwIRiJ7FOk9wpuJrgQ5qGw4THFjiS69 FPDi5MrO5tW2yX6DFgm/YyTYPRlcs X-Received: by 2002:a05:620a:903:b0:7c7:6c20:1ae0 with SMTP id af79cd13be357-7c76c201b11mr65485685a.35.1743607112175; Wed, 02 Apr 2025 08:18:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGMNLX3dmkfsdQ9h0lPmH4NeJQbfUuAxJXwyK3WXojLSjyj6SxEeOpcJYJrNoYgcmxlyWUMVA== X-Received: by 2002:a05:620a:903:b0:7c7:6c20:1ae0 with SMTP id af79cd13be357-7c76c201b11mr65483185a.35.1743607111826; Wed, 02 Apr 2025 08:18:31 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:30 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:25 +0300 Subject: [PATCH v5 03/11] llvm: use OECMAKE_SOURCEPATH to specify cmake dir MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-3-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1677; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=Up3cMTdzpBSB2lLY9eOM+XuWIZCZmELrydx0Z1G8gjc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVAf2iTn9dmEhrR6/HxVDdb0fJInIcNjf+F/ f6ICxFT5sWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQAAKCRCLPIo+Aiko 1dBpB/9QFeseliypw8sPQa+HwmBB4Lz+pw5udX+10hpZa60QMVWkp58U6URez83lN26C2qvH6+X YdQAGWanMq9Ej9yUGJHuqU3sGVEKuwGDVLQOUzgEur1QWh66ihzltuqtQ9XDM1bsT6babbqu9qS qU9vAX3/+kvAdZ5at49DkCsE7a5AIQq9qz6qvz9pSp+20DqC/HkKXJ2QXeOZ2IlmhMhyfPi2Mum 0Ud2uS1p68higb9ANb3zc6Y7CNmroKmPmpcXl2JhdGkaalmhq6ovwSUPV92TKvzwbS63Yz0Wkpc Pg8p1jR+gxwXyFPCxJ0yp/dWl3SsbXLUPItg+7KvIK7G3+WU X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=VI/dn8PX c=1 sm=1 tr=0 ts=67ed554b cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=D0RIUQgIwEgepnv7z8kA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: Tlq6t0sTlHXyadkQAO6jX_1Zf69dUuH9 X-Proofpoint-GUID: Tlq6t0sTlHXyadkQAO6jX_1Zf69dUuH9 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 priorityscore=1501 mlxscore=0 adultscore=0 suspectscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 mlxlogscore=805 malwarescore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504020097 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 ; Wed, 02 Apr 2025 15:18:41 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214271 Instead of pushing an `llvm` sourcedir into S, specify it through the OECMAKE_SOURCEPATH so that all the patches are applied to the topdir and debug paths also use top path to map. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.0.bb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index 296a164cdd7ffb45f056c879cc5fc4fbc459caba..7470d2b4d8a55868fe5d2e88f5843a2ec3faf7c0 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -24,15 +24,17 @@ MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" SRC_URI = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz \ - file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ - file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ + file://0007-llvm-allow-env-override-of-exe-path.patch \ + file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ file://llvm-config \ " SRC_URI[sha256sum] = "4579051e3c255fb4bb795d54324f5a7f3ef79bd9181e44293d7ee9a7f62aad9a" UPSTREAM_CHECK_URI = "https://github.com/llvm/llvm-project" UPSTREAM_CHECK_REGEX = "llvmorg-(?P\d+(\.\d+)+)" -S = "${WORKDIR}/llvm-project-${PV}.src/llvm" +S = "${WORKDIR}/llvm-project-${PV}.src" + +OECMAKE_SOURCEPATH = "${S}/llvm" LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" From patchwork Wed Apr 2 15:18:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60620 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 5E1A2C36017 for ; Wed, 2 Apr 2025 15:18:41 +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.11438.1743607116417322245 for ; Wed, 02 Apr 2025 08:18:36 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=eoWb+rVu; 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 532AtSO4023292 for ; Wed, 2 Apr 2025 15:18:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Lsu9CYuzgNcf1mzGOXPVNDoxsmAY5YjYnKxsk6fwwkw=; b=eoWb+rVu28Nu0cJ9 bRI/Zq+BvgYhLZlDRP0ElFBF/fY9q/H98FjXJ3QVt+2d73OnsvGTSfohXaydcpI2 xxWBOsoecgrldZSTscDbp1/CtOVuaPdH42LDiehiR3/QpK5X4ZGD+HMO4X1JX3dB yahgOYNCRFpLJmrqrzV9P2WVv0ee5btvx1zJkihGJyrUdloIw4+6VwiUHMZp/x/X AsTAYMbncyeMtM0GfQlmkE9fbsiik1MYxbXnlNkkXl9CJnc/x448LxsXpf+6IbgP N+Q1MwQJY5MEB8aR+3V1/rmiuALW27RVKaU4JIuwJwSZCKLTknlDXkaIps7rfnd+ +orH6Q== 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 45ruadt6gk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:35 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5f7210995so171965385a.1 for ; Wed, 02 Apr 2025 08:18:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607114; x=1744211914; 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=odezFKyNSgCIVxF+bHC1MyXHB55hnBocpb1aExgBxux9eb0eDUGSCfY7apXPRSPEVX DQ7CdOzLfhuF9tkOD6GD3QMPD4SpYFzcHlOjXyGHWO/KUtNx7BSXw4VtDMw0I84i0Bc2 ZuwkV3aq4k6WDBSQfX+uN3HoXii/V+mU8r94KZHa2LXeWNEba4+5xsyrkFWNCTSOIXJQ 9jeZyCFXHzAwXzlZqbsDtVOriwEoOYntf8yDQAVqAzbVgi4auovCixSXGNqgkYoTcSX9 9o10XUoTQshOFRU1jDYod+MQfKHvsh+B8rWF2W+UzLCAUWW6FhLxwHQXOXWXcWVUB5IB POzg== X-Gm-Message-State: AOJu0YyjOiuKuBkWkY44EkDplhUvkEvoK6+Qtrx39typRhlrV9O/qG7D ECisUZLABzxhSEJDdLt+To08AaUursRE1T2NhofljYTsW/Ltt02j4nKphOwRys8PfLKYraA9Js+ EDRbW9xe1LSwudesV091ZSv0nitcxB4cQQADZsiUC2DaC06MC6J9DT2spivwPZgq2sev7mO7Hm2 ui4kc= X-Gm-Gg: ASbGncs0LgbF2H5GP2UJCsdVuHS+Hgbc6Kuq9WiuC+4/744q2Z67xem8563oJnYUjlN bi0HdBRln7vhyO0g7UWpf1pXNiwp2TceS7LM9iz8LPhidUGhv1cw7f1XG2USk5vPviL+hdueUp6 LohNruIPbCODPzqHwB3RQEzOxP5gOn4Nzbjh2amHzuTiWb6Dy4q1BbVXqGz5O53IgEW+t80kFUH ci+xoxEiAlxYEaZj3o+xEyC99meqvW+GOkNLSpiqhkdFNKQKnFm+7jeIwLA2xWHFKNsJ3PhE+2n 5YqZ2QlP/MAzt/5aDsVnJtvxt0ehgrfrcTMlGWN352IFAMWiSZb499sjrN9QDBxOrxtPh3wc7Jn Ihrpec0kblbCc2bvGhvO7ukAVj+Gr X-Received: by 2002:a05:620a:29d1:b0:7b6:d7be:2e4 with SMTP id af79cd13be357-7c7682d114cmr293237985a.26.1743607114645; Wed, 02 Apr 2025 08:18:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH00bjtI8uw/429ne3afvlV75GacqQjWBQkvd+B2vgcypgU1bzhFMSLMp3NnkJPiyNCGBDHkQ== X-Received: by 2002:a05:620a:29d1:b0:7b6:d7be:2e4 with SMTP id af79cd13be357-7c7682d114cmr293234485a.26.1743607114321; Wed, 02 Apr 2025 08:18:34 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:32 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:26 +0300 Subject: [PATCH v5 04/11] llvm: handle libdir in llvm-config MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-4-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@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/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVAUxMCxVCKHcp16zgrpSAciaQtPAatm4uPj /ymC8SsDCuJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQAAKCRCLPIo+Aiko 1QRrB/9C6Nr9we2fzcK6RGshh1oG1BkhHaMP9q6bNOUj3fXQwcQxiP8v+jNPkqdsTQHmWN+D5M2 +QomsrlkqIJrYMbCKfjRmbe9kWpH/9k6fifWaGmksOwFMr7VWd2AXpYF/An4Vbk766XqiIgd7Xa WdkeVRTQyQVhU2i+bKgzb9D7WzZfN6ojef7qKUoAbvDmJxDc/dLfHoVvmD1f2vrWCEbcXkdRFVb zB9C4NJFWRStsa0HEExF9SjmyP8Sj1agkFCw9AGDjW/qotq7CJaPDapUL0TQ1sUqW3IuRQS2yMo fPZl9Niti3vOU8yl6dABjTBgyWCbDxUEBNgEI7vLwnSlN9FN X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=VI/dn8PX c=1 sm=1 tr=0 ts=67ed554b cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=DFIL5-tCekSmT_aHp3cA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: jGPsyhaxhPzZdvoDusIbtLH47k_3IXZy X-Proofpoint-GUID: jGPsyhaxhPzZdvoDusIbtLH47k_3IXZy 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 priorityscore=1501 mlxscore=0 adultscore=0 suspectscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 mlxlogscore=717 malwarescore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504020097 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 ; Wed, 02 Apr 2025 15:18:41 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214272 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 Wed Apr 2 15:18:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60623 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 652FCC28B20 for ; Wed, 2 Apr 2025 15:18:41 +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.11409.1743607117539057501 for ; Wed, 02 Apr 2025 08:18:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=U6bcBnvI; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 532D0IQ8023769 for ; Wed, 2 Apr 2025 15:18:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7J47L+zwOpRLo4MreuwV4e/sb85z4jvSQbX1G4Lbzb0=; b=U6bcBnvIllSe1KY0 zzUMWUAMC8Cb3tFbBBKwKLKBGKKufTqMKhtBVqLiXiitaQANMNY/KXcQVWPEKhBh sLBUZSA441eZX3SExj79PmuA9enBdTG3HfH70z3x7t0JMeDWO07plOcu5AvuXbxm vCAKmgV7YFGGSmKnGpoqQDpAuvEGxmoVWUvR5QkEsz2+Va5837WaK4Y+mTeDD0s7 QYaiaqSEqdNt3aXtiBFaSMls1mzKtVoracptD7ysOBnbSXKje+vx5K7jIjG0IdJ5 8CbgvQBPIOt5e0nY5iJwPm/8QTvNFCAwRGv8nepWv2pFLc89a+QpOpvB37vOBHaE pnidBg== 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 45rxapssk2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:37 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5bb68b386so351842585a.3 for ; Wed, 02 Apr 2025 08:18:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607116; x=1744211916; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7J47L+zwOpRLo4MreuwV4e/sb85z4jvSQbX1G4Lbzb0=; b=Y++7vAT3eP46mwqqMjIF5oNJFMQ2uYvQfoHbi1c2dwuS75iT8KNBeCmZ7jk7rZzsBE nqZsBQUHGckQg1M+2yoifn4Kym4YvW4jYg+HNOw/So/9xgYM3M6rrMSrZzKvPfQG90w0 5weYDKD+1Jn+snjmD1VlERcFEuQV35S0KDSD23ou00Xxok1gUr232amnVBRQ2Dpz5EIX x/4q2vqWiA8WrVhrsNDrtDvfSbxGoV2NkvzSTlqyl1cSnid5l0F3W10snuJXTyfV4cCD 55tPDlngE/zZ2pk/+p/ch2CIqDFwnD2NBquoTp87fNILpNxWw4hIBycyRT1UvMt/3HOK qxgQ== X-Gm-Message-State: AOJu0YwlIWIzT7cE4gjUAGHEhCeIk9aD2ctq3pH6rjUTa0pNFfK+Hbfv ZnEs/ftUwthW5as8A1LfAYyJ1JpcP3JchA7pdDCHdyeAAM5MebZkOcxuO5otJ5dGn/xV7Zis/TR GBaJ0IuI5JvXr4ZSmbB2kzeE/r0ldXrqAQ+y/qAuKbFr5+mz0wHTWE02VS1PPceZ+HD8vjpTfBx BSUN8= X-Gm-Gg: ASbGncvbrGv5dIvQi/XF/Q5j9iHeHKHcFgeCmr0Ur6hl+hhd/T4YP8VxuVJ9IUjqMdG cv8320+A/tnSl5t4q0I2M9pkZI8D2gCsWleMnnV0+xFGXi0QVIJfNMLyaFlylLc6KuzstGCtQyz CaWI5Cq2R7/M5gLf4c/Xz0Lf9WPoLO3pzwhl/L6H8a6qROwgLBrf18xrKfEgmKsPdUy4g+C/1Wg AWnulUNNt/P6PjAvA2MMHw7hZU2TbXWZGaj4PXLSKhVFMh5GfE8werUSni/hAOY12HGX+EQFkna eWZUF7PagUrjiae9sCCIqZnPwPIhqvZgdlMb58Su1OlnXMLDeP4NPeMZwn7pSgo20n6IIh1Vglh S/QKHgn+6ZbAjPPX+hQp3n7WQhxGl X-Received: by 2002:a05:620a:f11:b0:7c5:5670:bd6a with SMTP id af79cd13be357-7c69072dd4fmr2263112085a.24.1743607115870; Wed, 02 Apr 2025 08:18:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH3xV8+cQ1QkdhtRKsZqJpiWJkpf0QNYy5xqtQ0s2g42h51lNTYhLJ6A0nmJ9fKtC1CzQMTCg== X-Received: by 2002:a05:620a:f11:b0:7c5:5670:bd6a with SMTP id af79cd13be357-7c69072dd4fmr2263108485a.24.1743607115550; Wed, 02 Apr 2025 08:18:35 -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 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:34 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:27 +0300 Subject: [PATCH v5 05/11] llvm: also use llvm-config wrapper for nativesdk recipes MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-5-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1022; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=lvHFxfWojx4YFoCxuoF2UZUlSlA3hAMgbD6jpGhXbeI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVA2Rb8nuxWpItQkty/0EMp/nUzoGZ9LuwPj APZzsfTRr6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQAAKCRCLPIo+Aiko 1fvKB/92oNznJI5umcpJ2RdaNi3n8sDGPG/cgTUTFmOZcNRz8rBq5/AAlT36yTwghBj1i5hMB84 X7gYY54vz8jxkCIv0rFFF1aWBGNetcss98/BVdEU2Y+Ptf3/eoukSljpVZ8DpArYY376YSF8/4u U6cCG+ZJ4jBg12DonZJ6NO3EGMn4Imfzuc7THdsi1Q+9erJYA8sN7rHlYu0gJgg7RMQOghrrRiF vhw4W2/a4ostb/4gWgbeAyHDAtYBebubyznK/ie6NsjNIiWFtOHaaFOegDODrKSo7uXa+/Nz61m drfS9al6Tb8yA+fXuE1k/NZZOj+X0wjl+h/hw/E/F6qx8cJe X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=Vbj3PEp9 c=1 sm=1 tr=0 ts=67ed554d cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=oZP-O3FlLgu2oLpOfcYA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: ryVbKc1WXcKqgJ5UebJ1ZtxbX-GAzM67 X-Proofpoint-GUID: ryVbKc1WXcKqgJ5UebJ1ZtxbX-GAzM67 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 suspectscore=0 clxscore=1015 mlxscore=0 phishscore=0 bulkscore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 mlxlogscore=683 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-2504020097 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 ; Wed, 02 Apr 2025 15:18:41 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214273 The recipes targeting the SDK (e.g. nativesdk-mesa) should also use the llvm-config wrapper, otherwise they get get a lot of incorrect flags, the most offensive being the rpath, as it results in TMPDIR being a part of the resulting binary. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index 7470d2b4d8a55868fe5d2e88f5843a2ec3faf7c0..c1c4138e8cc16b8b4ddfa3355a6141b5fede569d 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -138,6 +138,7 @@ do_install:append:class-native() { } SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess" +SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " llvm_sysroot_preprocess" llvm_sysroot_preprocess() { install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ From patchwork Wed Apr 2 15:18:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60624 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 6ECA3C3601B for ; Wed, 2 Apr 2025 15:18:41 +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.11412.1743607119494405083 for ; Wed, 02 Apr 2025 08:18:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=boD9L2xd; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 532Dd1kk023785 for ; Wed, 2 Apr 2025 15:18:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= du1roVfS56aGtytSJphbe5YlhE/mNL1c4L8lrK/8DKk=; b=boD9L2xdiPFp1wfu B2xw4bRTIYEraX+DI29B5qfA9haJQutFdDfvqld6J4xL1k5UT3RrH9rqlBk5zWJs yVCqufeGh7q44mRw4Igk8+xjBQiLi3uOKUbiaZZqeCBBjOF1XYu2uDQlJSlE8IcL 66ZILsPK4UP4zuLlhxwrOwbMKYIPuFNsvQJ87MvtvBMWfGOT3ov5uaMnk7dfL/2Z MdibhqFViOHL8OY7kBAZstBqOKpW0rim4Fr9s/eh25Mnw/cOKEVi6W2QOB/xwDGk K5tAgsymIkwRsE68QYNI+em4ntB5HDH1jVHvort9RYH0+hBFyb/vHkKgdxI/CSkj 3ujlWw== 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 45rxapssk8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:39 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c0c1025adbso1446305685a.1 for ; Wed, 02 Apr 2025 08:18:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607117; x=1744211917; 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=du1roVfS56aGtytSJphbe5YlhE/mNL1c4L8lrK/8DKk=; b=dRIBdNm+Lh1TK6xZwmAeawepp3IEacZ9CVZ5QApp6pjU4EJVXPrgyGpWzl9dQ/Nmm4 L44jI2ol0WoniW9yiyUpipcEv3UiIy7FdLT9WNRp5yCKwDjw40NXcyVdDzddQOMDCEQA unVjpTKLDuqNriOvn0paDgtHdyw0d+8QkF7mwJS4O6LS4uo5NoAYyCChGBUnG4LCztCr LwWDTIeCHZWkRrl3xlBlTZ4XZEjtm7zfJ4+St7FZZaxwJc9FLqbsW0mgg7PZ13BimuDF OjIVQ3np5dbRHWZswrUzeQz0bV/bLi2vr8GncxUnXR20JsrpNF4dOQDvfl2UgoaM6wr8 5X4A== X-Gm-Message-State: AOJu0YwZihAxGmEvQX4xfYUrH4omyO7DtHjv/yrFuThsE2bYNiOyUQ6T iW2p6JnKzlsnV6YRd0ZfeZnmxzefLaHTCkPE3qEFGVYRoOWc3N7NEawGJjoAjoo7/I4tkpkIiJ0 Kpw3FU5/MCqTls4sL3gTZuyYIXZWU4HmwUbk1KSZFjsxa2tEMV4b4/AwRue0s1pEIJ4rFUaqR5a Tkitth6lcTJWU= X-Gm-Gg: ASbGncv+Oy03ilIBkTDYTopXRCuWB7rVJrR+UIyBhE84MqP2KmSJ0hH8MDHpL5MqzJO +9cAIZjaXXxDHoBHk8fC4+T9tHoymox69bbe5IKnfkYSBtgHtl/bsCS1sZRPFFdrp4yVg2I+h4w cFjv3rpG/peL8XIIXBbAQFtArloozvdCnAVljEK5/ydjV2ggc+5UFRGSnnhMA9NtJw9ZBwJgCLL Rdg5dChW1rTAVzTUAqY6+wH352zAEcjaw9/Jls5aFFASoZgU7Bwxrzm3IvUxOkPDkU2uO1j/1xT cd3+IWNzUrRaNZVNheWcXxe2fDvwUX11SG+ztnzdWsp+6aPwl+GNnYdlX2uFTr17BD8/8Vgtvdz 115m2URPt++QVhm8kdTkwDgaHbutA X-Received: by 2002:a05:620a:31a6:b0:7c5:3f38:9583 with SMTP id af79cd13be357-7c690890ddcmr2633208785a.50.1743607117324; Wed, 02 Apr 2025 08:18:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFw1jM59R+oBYKMrUjWbNkKTaNgPO9J9qJsfHWULv08HOd3BpqjIUdhvTHc6xsnKKKBO6NxGQ== X-Received: by 2002:a05:620a:31a6:b0:7c5:3f38:9583 with SMTP id af79cd13be357-7c690890ddcmr2633203885a.50.1743607116799; Wed, 02 Apr 2025 08:18:36 -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 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:35 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:28 +0300 Subject: [PATCH v5 06/11] llvm: remove LLVM_LDFLAGS from llvm-config --ldflags output MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-6-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@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=Hlj3pD8nKP6/T3QbVP52bMJWWz38H3Tj88dnFZ1gofA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVBobD3MjH67xqE3V+ih0j4UbOXdkzuZjYxS NJMoL9NawCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQQAKCRCLPIo+Aiko 1W7ZB/48SgCFtieWvkg9wFDcGBPpWR9mYmU2hTpXoHrRwL7aNeqTCEy0IAQ46ScT0Nnec5SPXvR NFoxRZLuYY/98kAc8AGTRvknvXt7pu25Yh9bPbpDCshpiyW8EBiQ6qgaT3owvTw0YCqz+tex8CL U50vzKP8/4JGVlS28yHIaFtusSRhP4An3a9+N389kn3AkUPOfpebhOM5kL3DKXhlTQUpCm2MDVv EQcHxYiHTQ/Iu/t8mk2pFvlwTQ/nr4BVTOjcd3ot2tFNRRR1GKxaZcm2FdbS1g5Xa2oNgt/Am2v nGXW6CZ3obOBLJxh/3Hi9dMAVlT7ApUq84IjCETDIHCLqGSp X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=Vbj3PEp9 c=1 sm=1 tr=0 ts=67ed554f cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=WrwaasjOpFmsboFgkhQA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: MPD4Z_5bfCgroRtIxZ5gQOVGxxG51g2q X-Proofpoint-GUID: MPD4Z_5bfCgroRtIxZ5gQOVGxxG51g2q 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 suspectscore=0 clxscore=1015 mlxscore=0 phishscore=0 bulkscore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 mlxlogscore=999 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-2504020097 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 ; Wed, 02 Apr 2025 15:18:41 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214274 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.0.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.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index c1c4138e8cc16b8b4ddfa3355a6141b5fede569d..e164dc54f4cb7cec92689b3c646aef83c0f0bbd6 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -32,6 +32,8 @@ SRC_URI[sha256sum] = "4579051e3c255fb4bb795d54324f5a7f3ef79bd9181e44293d7ee9a7f6 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 Wed Apr 2 15:18:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60629 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 8871FC3601B for ; Wed, 2 Apr 2025 15:18:51 +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.11444.1743607121666986947 for ; Wed, 02 Apr 2025 08:18:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=eNP4TjMj; 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 532A5cEp027462 for ; Wed, 2 Apr 2025 15:18:41 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= vGzKGdWsXCIEoMfx0xDXW8YGQ1FxQ9ybqswkWOYoie4=; b=eNP4TjMjVU8asUC3 2XmNjfi4fUBCpr+0JXTnLYii+H6CzIPp5GjN+/LdENlCkykWbctFuvmHzlyNgy9k xLkP0nFQqowZOnlt9fJNBif49duPZ3J6NqJpOJW3eUmMf92bueHBwR6V7ToDMaxa LowVqz+EYrmwB2exGgc9GXySlLDAI00RKGs7eUrYRZrj9fv5stRX5mCPii2na/+m tIxM9IzglrLdRZt6T1RMLvhlVA/juXeuyAziOnctu3vO07Mt1X23JU++AbLpFFQ1 8Ai5MxQsof2rOIING4TE4GFkrMMYEqtNkIxKkj8D3J6dAiCYvubs1RdhBt/d+DDc vZft5g== 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 45s36a0tyn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:40 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c548e16909so636024785a.2 for ; Wed, 02 Apr 2025 08:18:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607119; x=1744211919; 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=vGzKGdWsXCIEoMfx0xDXW8YGQ1FxQ9ybqswkWOYoie4=; b=QtDAuUs8Qo91HreeTBJfiaoSTH3D6dMHTAWZoWnMSikkr/vIrvenDUDRUERgd23S04 PCGFqNj3F2DbWi7qWwh0m4cS+LXfmYMIVjYwnseo+/BGb/9C1s9rA+7pqNYyoHObZop9 CdS7pXekI9TIgZtmxRHQq7E4aaMrFyZcTNxyaeVFnR3DyR51xLbodTn3864vSerLCh/l leKcI0chih/DwXC4bWpUuex9UO61oiRXQBIDdpvqdobXMyXn4XD2lWnvDWeV/aBsvkzC 1inQk0EKz7AXNScvKPoUbkbSZ0WvKbu/lAqLP3RlCijSLcG34PKAEq0hBNbMvfRGkUv9 SL/Q== X-Gm-Message-State: AOJu0YxxsoVgRwhdJkDG/n5rg7PQS7cfNOPHGfUyCC5quiKPJhCOQdru 1XP2tbLnOI7uLtwM0skAjN94stvGdITR2yTrHo1crqEwKCBvDRGyx2Qy+or+QGf1gIqexrRS5fg lpj7V85OnKZmRpwHHKRhNlCumthTp9G2/iEe9neWOpFq9pPPJ0ceZ196m2kEF3nneVuEr7kE+LQ 8+7aZMRI7RD00= X-Gm-Gg: ASbGncsz8wMQR0Wi/ytQGMz22FIMSepj2R3dCH+337JQTKW6ecxmciPknJQRvyQ2QYL V3gtVFJc5T7fLICC3lg/KbxFLHsy6E8K+eJdnQRlDACKmPbIogyBsxD/FKHxPSrAItEtnB/Osli W506vsqIORZeByaAkQOH9mQr3+/Gvq5lYYzdwgBicmzurd88N2t2H9zuKxonW+f02vV92kxv/O0 i5tb0g+kM/B98IO4OCEHb96FyluIzWx/G1xXLr95Z0XA8D0avHC3B4k6Nr+R3mKhTae0YtpgFgC ILaXv2gAVajlrEupxBF9iBofez4zAh9gGtmXuFL1B2Zgk/IADjPNwRQNDE0GBPAupLOJCAmW38f LN8c26kQlRJ6sy6y1+7X6NCHWyJmf X-Received: by 2002:a05:620a:408b:b0:7c5:3b8d:9f37 with SMTP id af79cd13be357-7c69072f366mr2491941185a.30.1743607118834; Wed, 02 Apr 2025 08:18:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHoEiJii0eIz4lg6GjO8gGXhc2pt9p2BoI4AawHAPUpRG8GGdfkaHdkZkrU1H7mjExCJ6EeLA== X-Received: by 2002:a05:620a:408b:b0:7c5:3b8d:9f37 with SMTP id af79cd13be357-7c69072f366mr2491937685a.30.1743607118383; Wed, 02 Apr 2025 08:18:38 -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 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:37 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:29 +0300 Subject: [PATCH v5 07/11] llvm: support building libclc MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-7-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6357; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=C+xYrmK/8CodNbx2KvQadx/2wtw+OyF48z2wnluwEHo=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVBMmIqsdj0nnKBgS0XY1CoHq2lePe45jmbm Bcwx6ldOs2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQQAKCRCLPIo+Aiko 1VQiB/4nS8gcLv7iMgxcH6r0iwrgbpPhpeV5/rCORa34JxQON+btny+VJcpId6WZEfHcYd0fmJT kRd/rww0MpC6NFeND6E4ZRe6EhKCmXCtIuXQ1U2fhwCsCxJ3RlgYc+wmagW6ytRDZ1BFpjl6lqW klsJSttGiiPmsEvRlgv598bxbZrwvu066a6TPufiq4ncyAxWlVev+HdM4Yo41urOdOrtDecVSi3 N5rBW3nlqNyXaIeM9njgDcnVA4XjDoya3Aaq5D5NPY4DokqIOsP18XmCWwuJ+hJlTvdKi/Fe4+d b78/XQD++me0rMbXU9ijjYdO+OpYqH7kS57W3NHKptTaPD63 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=W6M4VQWk c=1 sm=1 tr=0 ts=67ed5550 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==: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=bTQJ7kPSJx9SKPbeHEYW:22 a=-74SuR6ZdpOK_LpdRCUo:22 X-Proofpoint-ORIG-GUID: DmoNloOowyn0RuJX6UNlKfWPMFxBl6qO X-Proofpoint-GUID: DmoNloOowyn0RuJX6UNlKfWPMFxBl6qO 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 adultscore=0 mlxlogscore=611 mlxscore=0 bulkscore=18 spamscore=0 priorityscore=1501 lowpriorityscore=18 impostorscore=0 phishscore=0 malwarescore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504020097 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 ; Wed, 02 Apr 2025 15:18:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214275 Current Mesa requires libclc in order to build Intel Gallium (iris) or Vulkan drivers. In order to unblock Mesa updates, build libclc as a part of the LLVM build process. The libclc requires Clang for building, so enable Clang too via LLVM_PROJECTS. Remove clang from the DESTDIR, so that it is only used during the build process. Proper handling of Clang as a toolchain is a separate and much more complicated topic. Clang is enabled for all kinds of builds as it is a requirement for libclc to build. Cleaning of ${datadir} has been moved to happen at the end of do_install to be performed after do clang removal and made not to fail if ${datadir} is not empty, as libclc install files into that location. NVPTX and SPIRV targets are enabled since they are required for the libclc to link. LLVM_NATIVE_TOOL_DIR is used to pass a path to the native tools built via llvm-native instead of building them during the target and/or nativesdk build. The llvm-clc package is set to RPROVIDE libclc (and the recipe also PROVIDEs libclc) in order to be compatible with the meta-clang packages (and to be future-compatible with the split package after proper Clang support is introduced to OE-Core). Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.0.bb | 40 +++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index e164dc54f4cb7cec92689b3c646aef83c0f0bbd6..df486d6502b7ce11d1db0b48a3936097c289f18a 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -58,19 +58,22 @@ def get_llvm_arch(bb, d, arch_var): def get_llvm_host_arch(bb, d): return get_llvm_arch(bb, d, 'HOST_ARCH') -PACKAGECONFIG ??= "libllvm" +PACKAGECONFIG ??= "libllvm libclc" # if optviewer OFF, force the modules to be not found or the ones on the host would be found PACKAGECONFIG[optviewer] = ",-DPY_PYGMENTS_FOUND=OFF -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF -DPY_YAML_FOUND=OFF,python3-pygments python3-pyyaml,python3-pygments python3-pyyaml" PACKAGECONFIG[libllvm] = "" +PACKAGECONFIG[libclc] = "" # # Default to build all OE-Core supported target arches (user overridable). # -LLVM_TARGETS ?= "AMDGPU;${@get_llvm_host_arch(bb, d)}" +LLVM_TARGETS ?= "AMDGPU;NVPTX;SPIRV;${@get_llvm_host_arch(bb, d)}" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" +LLVM_PROJECTS = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'clang;libclc', '', d)}" + EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ -DLLVM_ENABLE_PIC=ON \ @@ -84,6 +87,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 = "\ @@ -91,6 +95,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 = "\ @@ -98,6 +103,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 @@ -126,17 +132,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" @@ -148,9 +176,11 @@ llvm_sysroot_preprocess() { ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} } -PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto" +PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc" +PROVIDES = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks" +RPROVIDES:${PN}-clc += "libclc" FILES:${PN}-bugpointpasses = "\ ${libdir}/BugpointPasses.so \ @@ -183,6 +213,8 @@ FILES:${PN}-staticdev += "\ ${libdir}/*.a \ " +FILES:${PN}-clc += "${datadir}/clc" + INSANE_SKIP:${PN}-libllvm += "dev-so" BBCLASSEXTEND = "native nativesdk" From patchwork Wed Apr 2 15:18:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60628 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 9880FC3601C for ; Wed, 2 Apr 2025 15:18:51 +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.11446.1743607123521635489 for ; Wed, 02 Apr 2025 08:18:43 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=oi0ktc2j; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 532D9roD023751 for ; Wed, 2 Apr 2025 15:18:43 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= 33gtWchws0lQd7o5+nL/y26TAEdmpbwBL1PUg000Ujs=; b=oi0ktc2j47EBv28T tIeopmiwAtRFaOvyoFg3XMUFoGLm8bm1SxiAJqlCnAT8dqKrRuOJVhi06ccOovRV 9lVO4/RcwS/NGAulSd7WIoFw56Wek1AFK3Jug38CU96pPJn4Qs0TO+1NNKadzXrd wf5n8gNH0KcsGWD2naNUS6+u6wXxEOKmNSWXUmjCi60XVvHudpVE6g0r9ck6+AP0 o/CbMgtYEzIUkvdV//pq4SQH+40W/SbZxjb2asBzJ8BWr/dJJOyi0wtC9rTe0wt5 EMinS4U0Ouu6PA1Hj/gqo1hq24ehtOmnD7dabmGm5CtrrsOQ7zV1ORUkPCDTMgZX VEhj1g== 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 45rxapsskr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:43 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5ba3b91b1so194914085a.0 for ; Wed, 02 Apr 2025 08:18:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607121; x=1744211921; 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=33gtWchws0lQd7o5+nL/y26TAEdmpbwBL1PUg000Ujs=; b=L5Nac2HyM2idu2POEZVrArJ1blyOfV77bfO7WDt+pH+cRcufXorjuu7l2e56KPhTYY et/TVqGx9tNq2RgLYlXxdrK1liBPlMmOFr5T0XfqZIODoeONRPW/arlNyAh/x7GTYdaK CCswyhTkHk0jkoKa3wMZWV6A8UUlkIz9c4SNdvQS0SMvxvkEjeegA0JVPBxEy+F3rCe0 9z6OTeWftuhOBDTj3+9lWH1Yq/SjO7dnO4ypOPeP5EhGXfgYs+4Cw01oHHBbxfdwvoDP nNYelcWH6Om2XjP5NdnODg0SsvPYcO6eRCkbUOx5jQbpr1CH6Zvj+rsSd/0uxmunbrDQ VDbA== X-Gm-Message-State: AOJu0Yw2yY4du8MXCvnQIEb9njsR0ld7DJA2yOTHHhRwxhnviYK149im zNWkGI41yy54YWnBrJTvDdmXo2F4k6VJsM7UqxVMZ/S/Z83PFMJLPBvPtx6po2RSQuP8xRlQe+u gixkXoZQIeuYex/+8B++ivv8pvMSNtMKBShh0UEcTDKujz1Q1CnaHgJqUDgPzdCxuDXt9qEQN9C SEiDQvouneX0M= X-Gm-Gg: ASbGncuF4IHN8TRUMVPB6h563tun4VG73RSVsbwqdaVdHQogdp8jJD8EplVLx//9keH 8l/ghY0CB/Z0T8gFYweDeWJTg0Yr1Go/ETax6RBtvmaqBNiWRKRE6rWi2L2f122ILpXpHo+QR3t CP4PHPSmYXsHQ1qET54AGhHiRikNnanB1P0k+AZ2K8XdLWdwx+WQv1/g7Kbr7i8a0sni03qPPe2 6IVoymIilrigBbGYysMPwY5uSVYwwsvN8AO0J7OLXZuqfrGdxMzEIRIP7kKaZ7kdBgCjtgl2/kf Crtv97WBCcTo3X0J+Tf0s144VmnN25YR6WTnIKxyVMfIQM6GyomRylAcPcfY01Le1xadrkqn0YP Z9xESKwNzE9ZNqoj0LkJnXNrCBbP4 X-Received: by 2002:a05:620a:254d:b0:7c3:c512:9b1a with SMTP id af79cd13be357-7c7682b87fbmr337204085a.22.1743607120936; Wed, 02 Apr 2025 08:18:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGualobQvdIClSwC/w23pTdXwI3FOxkpl0HLdsaGZI6aQ99/WBWvz+tZlE5bHLyt8biJVC37Q== X-Received: by 2002:a05:620a:254d:b0:7c3:c512:9b1a with SMTP id af79cd13be357-7c7682b87fbmr337199285a.22.1743607120476; Wed, 02 Apr 2025 08:18:40 -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 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:38 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:30 +0300 Subject: [PATCH v5 08/11] llvm: add SPIRV-LLVM-Translator support MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-8-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7351; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=8r2sHL1oZRuvUVtjxhWKVGUC9r5LnF62AOExNqi/xpU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVBfIVrbdtQEW5GiDFN/CdNeYd2Md9XD9aMn h5Ed8rCWESJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQQAKCRCLPIo+Aiko 1dfXB/4/uwOz4JPNwh1Mg43auc4qTQZzEgdJQbzs0YdE2jeY+AKnGJid1SCUe2ILiZrltlNJOOy hyacIlPzXNnZ136aX4kVptryvXpgNwfAGn4XlR15+oq3F6m752EwArq8jJPGAaVwfYlS1rhMqNy 7Ffhi3JoPi3S5YkdqDcD8AaJIvWzjuYpU8OX62Z/dgfSubyHMF4PelZN1RvgRAWfmsbssLMSzzu Ha7Sgn3VDsDar0H0TePVDgJVI5qM+HyZNd/BJ8P1lVBs8tKi0YXc2uODcVgWv/mlZQzH9IMmDwe A+NKPNTq9bqGcVXZXXF3iOb5aWU14g6KJMdIoJ6Ai0mjtWf9 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=Vbj3PEp9 c=1 sm=1 tr=0 ts=67ed5553 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==: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=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: jSYY3Whlc9SYDeXWxomTU7dv3d3rEqx4 X-Proofpoint-GUID: jSYY3Whlc9SYDeXWxomTU7dv3d3rEqx4 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 suspectscore=0 clxscore=1015 mlxscore=0 phishscore=0 bulkscore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 mlxlogscore=999 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-2504020097 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 ; Wed, 02 Apr 2025 15:18:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214276 Mesa builds require SPIRV-LLVM-Translator in order to build CLC support. While it is possible to build it separately (like meta-clang does), it also requires a separate clang compiler (which OE-Core doesn't provide). Use an alternative path and build SPIRV-LLVM-Translator as a part of the LLVM build process, lifting the requirement for the separate clang. Once Clang is properly integrated into the OE-Core layer, this can be split to a separate package and dropped. In order to ease migration from meta-clang and to ease future split, PROVIDE the spirv-llvm-translator and make the llvm-spirv package RPROVIDE spirv-llvm-translator. Signed-off-by: Dmitry Baryshkov --- .../llvm/llvm/spirv-internal-build.patch | 30 +++++++++++++++++++ meta/recipes-devtools/llvm/llvm_20.1.0.bb | 35 ++++++++++++++++++---- 2 files changed, 60 insertions(+), 5 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch b/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch new file mode 100644 index 0000000000000000000000000000000000000000..555d40f4fb07342cc204c7c578662688605b2cb1 --- /dev/null +++ b/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch @@ -0,0 +1,30 @@ +From e94e529aefb28b65165e978daa2bfd89867ee8d0 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Fri, 21 Mar 2025 17:17:52 +0200 +Subject: [PATCH] SPIRV-LLVM-Translator: fix handling of built-in SPIRV targer + +If the SPIRV-LLVM-Translator is being built together with the LLVM, set +the defines declaring whether SPIRV target is also included into the +LLVM library or not. Otherwise llvm-spirv execution fails because +spirv-ext option is registered twice. + +Upstream-Status: Pending [will be submitted upstream after internal clearance] +Signed-off-by: Dmitry Baryshkov + +Index: llvm-project-20.1.0.src/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt +=================================================================== +--- llvm-project-20.1.0.src.orig/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt ++++ llvm-project-20.1.0.src/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt +@@ -116,6 +116,12 @@ if(LLVM_SPIRV_BUILD_EXTERNAL) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) + set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) + endif() ++else() ++ is_llvm_target_library("SPIRV" spirv_present_result INCLUDED_TARGETS) ++ if(spirv_present_result) ++ set(SPIRV_BACKEND_FOUND TRUE) ++ add_compile_definitions(LLVM_SPIRV_BACKEND_TARGET_PRESENT) ++ endif() + endif() + + set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.0.bb b/meta/recipes-devtools/llvm/llvm_20.1.0.bb index df486d6502b7ce11d1db0b48a3936097c289f18a..3c39059e6278c14da4fe8ddc67fe2d82e7c4aa21 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.0.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.0.bb @@ -23,9 +23,19 @@ MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" +SRCREV_spirv = "68edc9d3d10ff6ec6353803a1bc60a5c25e7b715" +# pattern: llvm_branch_200, currently there are no minor releases, so, no llvm_branch_201 +SPIRV_BRANCH = "llvm_release_${@oe.utils.trim_version('${PV}', 1).replace('.', '')}0" + +SRC_URI_SPIRV = " \ + git://github.com/KhronosGroup/SPIRV-LLVM-Translator;protocol=https;name=spirv;branch=${SPIRV_BRANCH};destsuffix=llvm-project-${PV}.src/llvm/projects/SPIRV-LLVM-Translator \ + file://spirv-internal-build.patch \ +" + SRC_URI = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz \ file://0007-llvm-allow-env-override-of-exe-path.patch \ file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ + ${@bb.utils.contains('PACKAGECONFIG', 'spirv-llvm-translator', '${SRC_URI_SPIRV}', '', d)} \ file://llvm-config \ " SRC_URI[sha256sum] = "4579051e3c255fb4bb795d54324f5a7f3ef79bd9181e44293d7ee9a7f62aad9a" @@ -58,11 +68,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). @@ -72,7 +83,9 @@ LLVM_TARGETS ?= "AMDGPU;NVPTX;SPIRV;${@get_llvm_host_arch(bb, d)}" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" -LLVM_PROJECTS = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'clang;libclc', '', d)}" +LLVM_PROJECTS_CLANG = "${@bb.utils.contains_any('PACKAGECONFIG', 'libclc spirv-llvm-translator', 'clang', '', d)}" +LLVM_PROJECTS_CLC = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', ';libclc', '', d)}" +LLVM_PROJECTS = "${LLVM_PROJECTS_CLANG}${LLVM_PROJECTS_CLC}" EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ @@ -138,7 +151,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 @@ -176,11 +189,12 @@ llvm_sysroot_preprocess() { ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} } -PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc" -PROVIDES = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" +PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc ${PN}-spirv" +PROVIDES = "${@bb.utils.filter('PACKAGECONFIG', 'libclc spirv-llvm-translator', d)}" RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks" RPROVIDES:${PN}-clc += "libclc" +RPROVIDES:${PN}-spirv += "spirv-llvm-translator" FILES:${PN}-bugpointpasses = "\ ${libdir}/BugpointPasses.so \ @@ -215,6 +229,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 Wed Apr 2 15:18:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60630 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 98856C3601E for ; Wed, 2 Apr 2025 15:18:51 +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.11418.1743607126122103754 for ; Wed, 02 Apr 2025 08:18:46 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=QAxinpNj; 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 532CGRKj015653 for ; Wed, 2 Apr 2025 15:18:45 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=QAxinpNjWbpV16Jf PpVSy1cNaNbrmxNOXwHYnWbJpi3CcRUFaNjMp61BpFH409IGmZFwgFioLDhsgmaw fcvXaUm393rIuOas5M9a4ejlgim4AIrTlhkH3s9cv8Jm8mvVg8H+cWcmkjujfB8P QHlSP3gx37sVMo10IBGpK8OB7nWs+nb6/75PhYQNvp9pjFkeqyZeUJfycqRAfKWh 1ipzhhwayrosPvGK7Ho59ZIPPa/HKBafJXijUbF/SUE+bXNZW8WXiCuD0Ht776W5 qABETmnp39MPuurwE/w4zJbfNvGI1I5KICrv8hRxj8stqEcG7EDPuCAXvOH7YZF0 b4VUvw== 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 45p7tvkvt2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:45 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5f7210995so172003785a.1 for ; Wed, 02 Apr 2025 08:18:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607123; x=1744211923; 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=c52gKM0e2wR58X/ylfCUuJGkxEw2g4VCepdj8Kh7HLk6Pycogt/peOqxoxu6Iq9pRA PXhGBrVDTSH+DENL/+h/BoeGZHBoPnRlUX6QRggemlW/9TknKSuEsQ48AxnHcm1pShm8 mPaLXkTR5FiexQ8UFaiKtwAeb+oscpD+Y0VJnabTK2K/InIeJA8Bs6qMbg4pWWqJR27S msCqB+JMWmYRaayWvDdwgF4BjaN9GydVwr1FbetiW9pgpV1IcJmYxARvH5WSeZP1bBak 8h9Ko3Tht8DmkuaaYfhgMiDZ6LFIGxjLRB6hPM6t9X73uymFvowNE6lK32DYkZujuOpO O3ng== X-Gm-Message-State: AOJu0YzszjFY7dLJbwga69xTjW53Qq/x8w1zPXab2KFoRHyC7qrNkKIY GhZGqTTyez2N6TD/wviV5vTSWs9/yv9IVKc8Qks/F8N5be6ss/uuAEMBh3T8wYI7QawCmjFpgXq Wq9WJDvGNQ8/9cYKGzb/QyuL1yVSOMgNl0konXw/r9YzSUd1iDEedKGYpyFMfSGS80SC5S3ebAC K9cLtpgH7pkQ0= X-Gm-Gg: ASbGnctMVG0ea89I3SpLfGSK70qyEkxJNmfPfRQVmtSLTnFj1xO+XEaFM8AX3ICqhiH KyVB7Nv8OQqh+vFdkWtAjUAfZj8OET9Lj9vl6XKA9fiBrkyO7HC2c6nRo94vHpWCjAEEqBYxwGU zKfQ/9dDGO7lz0l58mRM0QL0VFYJW19OjzUXw7clVEsEwcQELr5daWhCR6b6b8HHORoYWijIB5J JojcavV01IkJVi+QWAYIHr+WLK4vcaSwo+RfU8Mhx5P/qv8VlBkjPPd9ldIg7Ia9sgVaKWF7qAg ykJisXqdY71qY1fs3ElL9YrCLcFofTsTpsfqMUEX5Xaj4FgPBQi/e3ad9OLH7Chaz/eiPOj4xVb FiNom6ukwDYx8Qi40CqEQotSbsZJp X-Received: by 2002:a05:620a:3948:b0:7c2:f39d:d0e0 with SMTP id af79cd13be357-7c76820f36cmr338246185a.3.1743607123117; Wed, 02 Apr 2025 08:18:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH08b0k+uNQcj71DwgHlq4xdFLhJBCfcIyTFvFhW4L4Z92DCClPm62cD/v+a+gilmdttB1Eew== X-Received: by 2002:a05:620a:3948:b0:7c2:f39d:d0e0 with SMTP id af79cd13be357-7c76820f36cmr338240685a.3.1743607122478; Wed, 02 Apr 2025 08:18:42 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:40 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:31 +0300 Subject: [PATCH v5 09/11] mesa: upgrade 24.0.7 -> 25.0.2 MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-9-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@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/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVBnpbYTkypHZC9JPqL1m8Xtbg7JBmzzRF9O HbsRzNDgTSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQQAKCRCLPIo+Aiko 1QqLCACwiz/0wPOYQLs1y6ZLtErK55y5NYp3gaV1hPK23+e+AtiGHFKaEsnuJe7rhz6WT1Bc0jT vzs5tQ1aW3HIiScxS/r5qP4tsAIpixS8CS2C+H9iq6TfySwVnkdhxM8IbA5ztCqOJ5bSn/eI4Ut fRORSd/Y9wmLPE/WTPmJ1Vw6kzsNj/aC0IEhF0bCg2l2mW2mM9UQycO1ByO6goMpigDMLb+ccww 94EDNdSO0YOrbD8qM8BFTfv++REUtoJuAhju4PmWRHoRUzMbx5M2R2HfPxvUAIlvIX1mcbZd12k qHZhZ9BvDniCpDfIsAKflnwRkHNIwqxACeEjaszx+RMIfCjQ X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=OIon3TaB c=1 sm=1 tr=0 ts=67ed5555 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==: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=IoWCM6iH3mJn3m4BftBB:22 a=Vxmtnl_E_bksehYqCbjh:22 a=5tn4MO8azEBWFjlAA-rn:22 a=zbFvvTOBjyH4ze5LlUjX:22 X-Proofpoint-ORIG-GUID: NSAO1r5juuEL2gL9Vrpzdnhfp7036VX4 X-Proofpoint-GUID: NSAO1r5juuEL2gL9Vrpzdnhfp7036VX4 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxlogscore=999 lowpriorityscore=0 malwarescore=0 mlxscore=0 clxscore=1015 adultscore=0 bulkscore=0 phishscore=0 suspectscore=0 impostorscore=0 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504020097 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 532CGRKj015653 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 ; Wed, 02 Apr 2025 15:18:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214277 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 Wed Apr 2 15:18:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60627 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 8538BC28B20 for ; Wed, 2 Apr 2025 15:18:51 +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.11419.1743607127224553101 for ; Wed, 02 Apr 2025 08:18:47 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=iCzy5QoG; 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 532Eawxt026076 for ; Wed, 2 Apr 2025 15:18:46 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=iCzy5QoGTJqLdqWn gSJt4X2WKTXDDYJOJKdANV4/Nq3a99BnKZcYd07bEEkX8JkGpr1nSDFEPamO6ex/ eFTzQpHqZfgVG+WfTWXYyDAuKPRS8WCj1gTdK4E467LP3Wh+MAFfyAtYtxCEx627 wbSoaimYOfOBgUnLIxStWUqyCQ/qf7hxJdyoUnso9nK7Xw/ZQT/gDl+/GcGT5iv7 NJIluumHOheiEsVBFr7VFdaD9KvlrsM00NE9ALzC61aS9/MeIlpaLcZEXRF6sD3r JQha/LRSwyVFBT+te+nR0YMDnfxTwzyOJwk7aTIEXsy/VU137CZ55nYIpw7NoneS az1bTQ== 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 45ryhfsk73-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:46 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5b9333642so772252785a.3 for ; Wed, 02 Apr 2025 08:18:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607124; x=1744211924; 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=wMqCpoFIb2M46QYcojJ3Nc1wexu9Rk0y4Tr1lqWKYdUFDgXdz/dXyDwU032v2M62KT W9Mjez9R4KnAa49WJBB/bY2e0QXSl4J6KewvnTuLaamkedSeEKPQEunpWKfYyLT7vunk B+tqdNmBoae5r975kERE0V8V4jFUDK7/sIjLjYoHjbZkgK6v1SEjMGrvd4SzjKxYbEm1 OZXYtx2f0tdfzDic4Wuk9DnOg8T7MObJ2LdyFYzVzz6A8hUn0A9cJ2rzlyvyHJ83F5y/ xvTT3oTeLLAh2Z0Swj+gV4n1RX7ftYD/F2zgKovFMW0VTPvaxMnn3OX8AgRt5IYiWzfi g03A== X-Gm-Message-State: AOJu0Yw4jLsaP14uFsuA3c15czb5bv+nMGj/GXp4lgivp9dUzNWaKKDs SkUsj7rCeaw/fezAOni7MpWlFhWqg+pMcRR8X3Xrl74xLoLA+1CBE1mDVk8Rjkvi7jzzg/87yxo aPx9WlZh/VCmY081OVt5U9jTgjklhu0z/1Jz8QF2gUFdGYOop6F8u/+9XFRJIJCqw9Ia1OagqR2 ++gP0n4zlM5S4= X-Gm-Gg: ASbGncslbKpOQtBPA5oXRRFLoODtiX7M4pBJjdPZPR7+ylANZ285f+Q9JT5swebTFLy Sl30vC4jkwAKQBBwO92EgGgcGrkDjl51RcTuA7IYdCoVU1SdjKKYq/rYfUZzCn6v4x5r7fMWa0F gUar7A4CZP1cRzBUze9wh/D7JzBXyfc20JFcbKaiS+ZYJqRksVyNFHImjf6QAVF3XmKNs/39fLm 6YDXVYI8BBT+aFo4wFEy4t+9vpnv92h/vJ/Rd8GPk7DoQxZwqfy7xV+Kd8awhCSbYiBtI8noxIn vP0k+A0dHhqJHT4KdcAojghDxWejD4J6SDRM49uJ+qyjBaeZ56lLhJ1bJCRVkbJil8TBDMCdtow 27KrTlwUeYJxqV5uqCn9lo3Cz/xFL X-Received: by 2002:a05:620a:f0c:b0:7c5:60c7:346 with SMTP id af79cd13be357-7c6862ebe3bmr2261591985a.10.1743607124380; Wed, 02 Apr 2025 08:18:44 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGTJOq4pCRtwBs+WpTLooJQF0BdcA28WPGfcH32R5Vh2SsyX73PPyvvb9PzuQdLcZE+6l5yjw== X-Received: by 2002:a05:620a:f0c:b0:7c5:60c7:346 with SMTP id af79cd13be357-7c6862ebe3bmr2261586985a.10.1743607123793; Wed, 02 Apr 2025 08:18:43 -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 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:42 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:32 +0300 Subject: [PATCH v5 10/11] bindgen-cli: a tool to generate Rust bindings MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-10-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@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/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVBex9ZWrAG29QaP/ehleQ1YNPTlInr3qq+P el83tEQUlmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQQAKCRCLPIo+Aiko 1VjaB/9Ui9ABRT/AnRcVIWG9l6wNm6IOn8RT7lgl73gzsmicmM8RSyNTmngcn2w6/N2KzxppysT H2MvLubz0tVQGMEqCugU4SavW/Vczkwl6FEXWACtWnHhh59qPdTEsReT9DUrlGhlk5gMPcATp7Y Ur9g+QsTYwarITurFPKBrA+DAjFFQ4I3V33mCCsnUSBu3ftpEuVvOPFCTv1M61cBsBEMNQFfC9W N7W1+sCPssgWAXm+1zcTFUkpT4M5lzyAltWwa11yI1jzSMUtOlqvHbyx4Giwu4dyX2MUxfEH2Ze ruKHv4fZFHrS7XknOOQ+bZO8jP7k1POoA37cK5IA97ot8mgK X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: Rm1dZp3EQ6STcrhsF-YSkwGbUk4xAw5_ X-Authority-Analysis: v=2.4 cv=RrfFLDmK c=1 sm=1 tr=0 ts=67ed5556 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==: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=NFOGd7dJGGMPyQGDc5-O:22 a=71pCXManv-pOE82v44e3:22 a=FdTzh2GWekK77mhwV6Dw:22 a=nM-MV4yxpKKO9kiQg6Ot:22 X-Proofpoint-ORIG-GUID: Rm1dZp3EQ6STcrhsF-YSkwGbUk4xAw5_ 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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 mlxscore=0 bulkscore=0 spamscore=0 priorityscore=1501 suspectscore=0 impostorscore=0 phishscore=0 mlxlogscore=999 clxscore=1015 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-2504020097 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 ; Wed, 02 Apr 2025 15:18:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214278 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 Wed Apr 2 15:18:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 60626 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 868B3C3601A for ; Wed, 2 Apr 2025 15:18:51 +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.11423.1743607130524375213 for ; Wed, 02 Apr 2025 08:18:50 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=FwIUy6vJ; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 532Dc0bR007497 for ; Wed, 2 Apr 2025 15:18:49 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=FwIUy6vJZNpEwheG toP/U7hR91Yznvs59zMFsekyoL/Lr97opDj3PDrvGSsOalDCQBPZmPaPZ0N/OtDp 4uMwbwsUJdpcvLUqe/ZAPF7wJr3VnZxrxgbOjRWKyqRpLOPJPmO5auWHQoNSe8RB dGbmfoHREqShiQtr+z4F4ckKfS4Z6tk+HrOxrylaJmf8yE5tpmkTEc83Ik6WO7/r uazDxu7EX0a0LO119zDXrM882MMwSPhmwHaWhzr5s4OsVxcXP9Hq8VqpX1EPo97d yeE5tqnwmtJGauWQmbKpiNXmYX7T3ysdgLkrHmf8huqmhZutxTB6vD8apBcSdILQ OxopAQ== 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 45rxb01t1x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 02 Apr 2025 15:18:49 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c544d2c34fso909246985a.1 for ; Wed, 02 Apr 2025 08:18:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743607127; x=1744211927; 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=liEFFbBg6RlA/6Vk0BFhPa/Ee9Fnmkljq11wcY2lKjyC0+EmWrLsENBzo3Opoeqgb9 xFO5bUKVP8gQ5RJ5xCcHqUVch2Lc3I4sz+rd42KHJAjy1RJQjZHsDZzF0iJl3V9aopac PM3cACTy9p4IVtOOfCCmDyIIGddQFvu8Gr/n69HZyKb9+viRt4bY9AMijoBQ5/MrrpVj grPGfljwOYEZxhDxBJYMSDce710lu29VMNl+4ymt2/094pcmEP+ZqKD4HafyF5CUkhNC xJ+8ZO9W07ema2c8zS8BztCShCmiW4zIS8Qtnw1LKiKC8/bkE+TQpAGbc7+A35Uu/OqR FKsQ== X-Gm-Message-State: AOJu0YxylNjOTvFebEJFPBDHl6piGfJAz9XZ0kAz7+5wQFQ+JC1+r5W7 WNmfg81ZQj4r3Flll4OIFvykEAyLdGA5LhH9lAHd0/42qkuMeNm49d73yoIAu/UX7x0Q4tPN1Fe dE0BxvuXh/6AP8actVdDmH4zChg1acDgMctXodLvkJyzqJ/wuHs2At+g75tvrFLNonsz2qleG0m 1uJy2ZPFP+AR0= X-Gm-Gg: ASbGncv/WJPKDCI66xshdyUoxOo32x3OrbY2TTG1z/IlP+fbLz5tZgkgm+b0V0AWAAa ygA04cElVadcK9atFYWELzce4Jd6i4EZ0HXhq5SnuaXQAZ2+rfQIGyVRnpdAKO0nel6QEJH7w2F g71mpCL0edNLmkb8063oE47T/w61G3NJ4wlyN1x6shf9K845WnjUp91B5o5tY9Mh+NGc5v40pDS Ba0jP9ii2G2HpD4T4N4AALCv4iWkSh2yG1/R7ha10bs0QvjfeWQZDeOijRKoFh055YX1ol1fKB+ QUzE0ZEavdgJ5hQXHLGHzEypy19tVL75EzgzMGVDRfeD4RfigpV+Wkg8ILZJnx/xDYsS2cceCcR gPWzbVdQX1dDshgL42c2Dpzdt1LuL X-Received: by 2002:a05:620a:2a03:b0:7c5:5cc4:ca5c with SMTP id af79cd13be357-7c686e8248emr2350169185a.14.1743607127252; Wed, 02 Apr 2025 08:18:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHQSIi5P6iqtWURn6wyUYOovQVvw3Se8+FOKRJ8GfLPe/WwaR/y1fyvlr/3pV8WuFHUZ3lKqA== X-Received: by 2002:a05:620a:2a03:b0:7c5:5cc4:ca5c with SMTP id af79cd13be357-7c686e8248emr2350165285a.14.1743607126825; Wed, 02 Apr 2025 08:18:46 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-30dd35925d7sm19946371fa.91.2025.04.02.08.18.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Apr 2025 08:18:44 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 02 Apr 2025 18:18:33 +0300 Subject: [PATCH v5 11/11] mesa: add support for RustiCL under PACKAGECONFIG "opencl" MIME-Version: 1.0 Message-Id: <20250402-mesa-25-v5-11-ab35f021a83b@oss.qualcomm.com> References: <20250402-mesa-25-v5-0-ab35f021a83b@oss.qualcomm.com> In-Reply-To: <20250402-mesa-25-v5-0-ab35f021a83b@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/pANAwAKAYs8ij4CKSjVAcsmYgBn7VVBVlhG0FRwsozLvABsjMRKFTNkzqjZG+lg8 oXA3IakHVGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ+1VQQAKCRCLPIo+Aiko 1V+0CACKT7fJ3niCdw0yEQ9p7RrB0XCNa8uwsOeCBZgSCuOgY70mPxXlndNSUA6vRUEmTnk7HiX OVOyyAA+hoRRQ9cuxk8HbQQz647GylSVk7ZUxVSZtyJ7wRlenw1pgsCLcEpcQJQgz73NHEnYfQn DsPxt4dlfn/lXN+f4HQUbKHWCWswV+s1uEYlRppdN77X3LEJ0TPPKOfChSHu2hZFMATrFJ4fTp1 vBSvqHOggkY34fakmcPN9YMqOAI8gUWiIfrSsxYv8FjMl9wyiSPH5w7yKfgp2KOiKZHDz0QCSrh yTakywQck/xT4WN91qR6a+SQL02QaqtgIiP9e7M21YzYPgTx X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: SbLu0B7OjI2zQoo80mJrOx5x7c_klvqr X-Proofpoint-GUID: SbLu0B7OjI2zQoo80mJrOx5x7c_klvqr X-Authority-Analysis: v=2.4 cv=BavY0qt2 c=1 sm=1 tr=0 ts=67ed5559 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==: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=NFOGd7dJGGMPyQGDc5-O: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-02_06,2025-04-02_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 phishscore=0 impostorscore=0 priorityscore=1501 bulkscore=0 adultscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 mlxscore=0 suspectscore=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-2504020097 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 532Dc0bR007497 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 ; Wed, 02 Apr 2025 15:18:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214279 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 \