@@ -17,6 +17,7 @@ PE = "2"
17
17
SRC_URI = "https://archive.mesa3d.org/mesa-${PV} .tar.xz \
18
18
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
19
19
file://0001-freedreno-don-t-encode-build-path-into-binaries.patch\
20
+ file://0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch \
20
21
"
21
22
22
23
SRC_URI [sha256sum ] = "adf904d083b308df95898600ffed435f4b5c600d95fb6ec6d4c45638627fdc97"
@@ -45,7 +46,7 @@ PROVIDES = " \
45
46
virtual/mesa \
46
47
"
47
48
48
- inherit meson pkgconfig python3native gettext features_check
49
+ inherit meson pkgconfig python3native gettext features_check rust
49
50
50
51
BBCLASSEXTEND = "native nativesdk"
51
52
@@ -84,6 +85,9 @@ PACKAGECONFIG = " \
84
85
${@ bb . utils . contains ('DISTRO_FEATURES' , 'vulkan' , 'zink' , '' , d )} \
85
86
"
86
87
88
+ # skip all Rust dependencies if we are not building OpenCL"
89
+ INHIBIT_DEFAULT_RUST_DEPS = "${@ bb . utils . contains ('PACKAGECONFIG' , 'opencl' , '' , '1' , d )}"
90
+
87
91
PACKAGECONFIG :append :x86 = " libclc gallium-llvm"
88
92
PACKAGECONFIG :append :x86 -64 = " libclc gallium-llvm"
89
93
PACKAGECONFIG :append :class -native = " libclc gallium-llvm r600"
@@ -139,9 +143,15 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2
139
143
# "egl" requires "opengl"
140
144
PACKAGECONFIG [egl ] = "-Degl=enabled, -Degl=disabled"
141
145
146
+ BINDGEN_TARGET = "${TARGET_ARCH} -${TARGET_OS} ${@ ['-gnu' , '' ][d . getVar ('LIBCEXTENSION' ) != '' ]}"
147
+
142
148
# "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG!
143
149
# Be sure to enable them both for the target and for the native build.
144
- PACKAGECONFIG [opencl ] = "-Dgallium-opencl=icd,-Dgallium-opencl=disabled,"
150
+ PACKAGECONFIG [opencl ] = " \
151
+ -Dgallium-opencl=icd -Dgallium-rusticl=true -Dbindgen-includedir=${STAGING_INCDIR} -Dbindgen-target=${BINDGEN_TARGET} ,\
152
+ -Dgallium-opencl=disabled -Dgallium-rusticl=false, \
153
+ bindgen-cli-native \
154
+ "
145
155
146
156
PACKAGECONFIG [broadcom ] = ""
147
157
PACKAGECONFIG [etnaviv ] = ",,python3-pycparser-native"
@@ -241,7 +251,7 @@ RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev"
241
251
RDEPENDS :libgles2 -mesa += "libgles3-mesa"
242
252
ALLOW_EMPTY :libgles3 -mesa = "1"
243
253
244
- RDEPENDS :libopencl -mesa += "${@ bb . utils . contains ('PACKAGECONFIG' , 'opencl' , 'libclc spirv-tools' , '' , d )}"
254
+ RDEPENDS :libopencl -mesa += "${@ bb . utils . contains ('PACKAGECONFIG' , 'opencl' , 'libclc spirv-tools spirv-llvm-translator ' , '' , d )}"
245
255
246
256
PACKAGES = + "libegl-mesa libegl-mesa-dev \
247
257
libosmesa libosmesa-dev \
@@ -347,7 +357,7 @@ FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
347
357
FILES :libgles2 -mesa = "${libdir} /libGLESv2.so.*"
348
358
FILES :libgl -mesa = "${libdir} /libGL.so.*"
349
359
FILES :libglx -mesa = "${libdir} /libGLX*.so.*"
350
- FILES :libopencl -mesa = "${libdir} /libMesaOpenCL .so.* ${libdir} /gallium-pipe/*.so ${sysconfdir} /OpenCL/vendors/mesa .icd"
360
+ FILES :libopencl -mesa = "${libdir} /lib*OpenCL .so.* ${libdir} /gallium-pipe/*.so ${sysconfdir} /OpenCL/vendors/* .icd"
351
361
FILES :libglapi = "${libdir} /libglapi.so.*"
352
362
FILES :libosmesa = "${libdir} /libOSMesa.so.*"
353
363
FILES :libxatracker = "${libdir} /libxatracker.so.*"
@@ -361,7 +371,7 @@ FILES:libglapi-dev = "${libdir}/libglapi.*"
361
371
FILES :libgles1 -mesa -dev = "${libdir} /libGLESv1*.* ${includedir} /GLES ${libdir} /pkgconfig/glesv1*.pc"
362
372
FILES :libgles2 -mesa -dev = "${libdir} /libGLESv2.* ${includedir} /GLES2 ${libdir} /pkgconfig/glesv2.pc"
363
373
FILES :libgles3 -mesa -dev = "${includedir} /GLES3"
364
- FILES :libopencl -mesa -dev = "${libdir} /libMesaOpenCL .so"
374
+ FILES :libopencl -mesa -dev = "${libdir} /lib*OpenCL .so"
365
375
FILES :libosmesa -dev = "${libdir} /libOSMesa.* ${includedir} /GL/osmesa.h ${libdir} /pkgconfig/osmesa.pc"
366
376
FILES :libxatracker -dev = "${libdir} /libxatracker.so ${libdir} /libxatracker.la \
367
377
${includedir} /xa_tracker.h ${includedir} /xa_composite.h ${includedir} /xa_context.h \
0 commit comments