mesa: Rework llvm handling

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.

(From OE-Core rev: 1dfb29a66f0db673c9d6faffed9b5bd855b206e1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2022-08-23 15:12:14 +01:00
parent 13f8a86122
commit 858389a992

View 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