mesa: drop the bindgen patch

Drop the bingen-target and bindgen-includedir options in favour of the
bindgen_clang_args being passed through the meson target file.

(From OE-Core rev: efd31bbd52b94ac7633e5c9d1664f2305c074059)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dmitry Baryshkov 2025-04-18 03:57:13 +03:00 committed by Richard Purdie
parent 581861b94b
commit b269fbd5b9
2 changed files with 1 additions and 72 deletions

View File

@ -1,67 +0,0 @@
From b9cf34f39ca7e7546508ce2ab1f053edef5fc201 Mon Sep 17 00:00:00 2001
From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
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 <dmitry.baryshkov@oss.qualcomm.com>
---
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,

View File

@ -18,7 +18,6 @@ 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"
@ -144,13 +143,10 @@ 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-rusticl=true -Dbindgen-includedir=${STAGING_INCDIR} -Dbindgen-target=${BINDGEN_TARGET},\
-Dgallium-opencl=icd -Dgallium-rusticl=true, \
-Dgallium-opencl=disabled -Dgallium-rusticl=false, \
bindgen-cli-native \
"