To answer second question. When you don't include
EXTRA_OECMAKE:append:class-native = "\
-DLLVM_LIBDIR_SUFFIX=64 \
"
meson configure fails with
....
....
....
| llvm-config found: YES (/../../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/bin/crossscripts/llvm-config15.0.1) 15.0.1
| Run-time dependency LLVM (modules: amdgpu, asmparser, bitreader, bitwriter, core, engine, executionengine, instcombine, ipo, mcdisassembler, mcjit, native, scalaropts, transformutils, coroutines) found: NO (tried cmake and config-tool)
| Building fallback subproject with default_library=shared
|
| ../mesa-22.2.2/meson.build:1783:2: ERROR: Neither a subproject directory nor a llvm.wrap file was found.
|
| A full log can be found at /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/build/meson-logs/meson-log.txt
....
....
....
Now if you
$ cat < /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/build/meson-logs/meson-log.txt
You see
llvm-config found: YES (/../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/bin/crossscripts/llvm-config15.0.1) 15.0.1
llvm-config --shared-mode returned an error
Run-time dependency LLVM (modules: amdgpu, asmparser, bitreader, bitwriter, core, engine, executionengine, instcombine, ipo, mcdisassembler, mcjit, native, scalaropts, transformutils, coroutines) found: NO (tried cmake and config-tool)
Now run llvm-config --shared-mode directly you see
$ llvm-config --shared-mode
llvm-config: error: component libraries and shared library
....
....
....
....
llvm-config: error: missing: /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/lib/libLLVMMCParser.a
llvm-config: error: missing: /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/lib/libLLVMTextAPI.a
llvm-config: error: missing: /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/lib/libLLVMObject.a
llvm-config: error: missing: /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/lib/libLLVMDebugInfoDWARF.a
llvm-config: error: missing: /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/lib/libLLVMDebugInfoMSF.a
llvm-config: error: missing: /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/lib/libLLVMDebugInfoPDB.a
....
....
....
....
../mesa/2_22.2.2-r0/mesa-22.2.2# llvm-config --libdir
/../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr/lib
../mesa/2_22.2.2-r0/mesa-22.2.2# ls /../../.../../../../../../../tmp/work/amd64-northstar-linux/mesa/2_22.2.2-r0/recipe-sysroot/usr
bin include lib64 share
That folder doesn't exists for me.
Also another false statement on my end its llvm-config that hard sets directory where to load libs.
mesa never calls llvm-config --libdir.