]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
mesa: Rework llvm handling
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 23 Aug 2022 14:12:14 +0000 (15:12 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 31 Aug 2022 09:37:11 +0000 (10:37 +0100)
meson in mesa no longer uses WANT_LLVM_RELEASE and LLVM_CONFIG so drop
those. Instead, copy the llvm-config binary into the target sysroot which
allows the paths to be relocated to the target in question. This should allow
the llvm patch for YOCTO_ALTERNATE_EXE_PATH to be dropped assuming nothing
else relies upon it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/mesa/mesa.inc

index c4efc134387f263cca29f6b5266cf3357e5a4afd..d850246724bc799a2f4785957c8edcaa41ec1795 100644 (file)
@@ -55,11 +55,17 @@ ANY_OF_DISTRO_FEATURES:class-target = "opengl vulkan"
 
 PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
 
-export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-config"
-export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}"
-export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
-
+# By placing llvm-config in the target sysroot bindir, it will then map values
+# to the target libdir magically. We can safely add to path as there are no other binaries
+# there.
+PATH:prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR}:"
 MESA_LLVM_RELEASE ?= "${LLVMVERSION}"
+do_configure:prepend () {
+       if [ -e ${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE} ]; then
+               cp ${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE} ${STAGING_BINDIR}
+               cp ${STAGING_BINDIR_NATIVE}/llvm-config ${STAGING_BINDIR}
+       fi
+}
 
 # set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
 # by default the upstream mesa sources build a debug release