FEX-2607 formats std::byte spans via fmt::join, which its pinned bundled
fmt 12.1.0 supports but oe-core's fmt 12.2.0 rejects, breaking do_compile:
fmt/base.h: error: implicit instantiation of undefined template
'fmt::detail::type_is_unformattable_for<fmt::join_view<...std::byte*...>, char>'
ninja: build stopped: subcommand failed.
The recipe already dropped fmt from DEPENDS to build the bundled copy, but
FEX only falls back to External/fmt when find_package(fmt) fails. fmt-native
is still pulled in as a transitive native dependency, and OE's
CMAKE_FIND_ROOT_PATH includes the native sysroot for packages, so
find_package(fmt) resolves against recipe-sysroot-native and the target
compile picks up the incompatible fmt 12.2.0 headers.
Set CMAKE_DISABLE_FIND_PACKAGE_fmt=ON so find_package(fmt) reports not-found
and FEX builds the bundled fmt 12.1.0.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Bump the FEX srcrev to the FEX-2607 tag and resync the vendored externals
to that release's submodule pointers: drop jemalloc (non-glibc) and
robin-map, which upstream replaced with rpmalloc and unordered_dense.
Additional build fixes required by this release:
- Disable FEX's internal ccache (-DENABLE_CCACHE=OFF); it collides with
OE's ccache class and double-wraps the compiler.
- Build fmt from the bundled External/fmt submodule instead of the system
copy. FEX-2607 formats std::byte spans via fmt::join, which its pinned
fmt 12.1.0 supports but oe-core's newer fmt 12.2.0 rejects.
- Stop FEX from stripping binaries at link time so OE can split out debug
information and the already-stripped QA check passes.
Built for qemuarm64.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>