<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-intel.git/classes/oneapi-vendor-compat.bbclass, branch master</title>
<subtitle>[no description]</subtitle>
<id>https://git.enea.com/cgit/linux/meta-intel.git/atom?h=master</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-intel.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-intel.git/'/>
<updated>2026-04-29T13:15:11+00:00</updated>
<entry>
<title>classes: add oneapi-vendor-compat bbclass</title>
<updated>2026-04-29T13:15:11+00:00</updated>
<author>
<name>Yogesh Tyagi</name>
<email>yogesh.tyagi@intel.com</email>
</author>
<published>2026-04-28T07:46:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-intel.git/commit/?id=1cd9b78e1ba91bfeb1e716de15edda1d63a82337'/>
<id>urn:sha1:1cd9b78e1ba91bfeb1e716de15edda1d63a82337</id>
<content type='text'>
The Intel oneAPI DPC++/C++ compiler binaries (icx, icpx) shipped by
meta-intel as prebuilt installers have a fixed default -target triple
baked into the LLVM driver. As of the 2025.3.x bundle the triple is
'x86_64-unknown-linux-gnu' (LLVM's portable default); prior 2024.x
bundles used 'x86_64-oe-linux' (matching the OpenEmbedded nodistro
default of TARGET_VENDOR=oe). icx also emits 'x86_64-linux-gnu' (the
Debian/Ubuntu host triple) in some search paths.

Yocto distros set TARGET_VENDOR differently: poky uses 'poky'
(TARGET_SYS=x86_64-poky-linux), nodistro uses 'oe', etc. The result
is a vendor-triple mismatch: icx looks for crtbeginS.o /
bits/c++config.h and similar files under one triple while they are
installed at another.

Until Intel either ships per-vendor variants or the meta-intel oneAPI
recipes patch the prebuilt binaries, install a set of compatibility
symlinks at rootfs time so every spelling of the multilib vendor
triple resolves to the same files on the image. The alias set is
configurable via ONEAPI_VENDOR_TRIPLE_ALIASES; entries that already
match the native target triple are skipped, so the class is a no-op
on images whose native vendor matches every alias.

Usage: add to IMAGE_CLASSES in a distro / local config that consumes
the Intel oneAPI compiler:

    IMAGE_CLASSES += "oneapi-vendor-compat"

Signed-off-by: Yogesh Tyagi &lt;yogesh.tyagi@intel.com&gt;
</content>
</entry>
</feed>
