]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
libclc: do native build of prepare_builtins in a fresh environment
authorRoss Burton <ross.burton@arm.com>
Fri, 1 Aug 2025 12:55:18 +0000 (13:55 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 7 Aug 2025 09:43:42 +0000 (10:43 +0100)
The environment has variables like LDFLAGS set which CMake will try and
use, so until our cmake class is comprehensive enough to nuke those in
the native toolchain file (if that is possible) do a build inside a
clean (apart from PATH) environment to avoid cross-contamination.

As noticed by Khem Raj, this can fail in nativesdk builds as the target
flags will be passed to the native link resulting in failures like:

  Requesting program interpreter: /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-yoesdk-linux/lib/ld-linux-x86-64.so.2

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/clang/libclc_git.bb

index 04b76c55d26c4221f8f6bc8b4ca83d5c6ade638f..e56cf2eb6c0a303083afee87b0e65cfdf8e1763c 100644 (file)
@@ -28,7 +28,7 @@ EXTRA_OECMAKE:append:class-nativesdk = " -DPREPARE_BUILTINS=${B_NATIVE}/prepare_
 # Need to build a native prepare_builtins binary in target builds. The easiest
 # way to do this is with a second native cmake build tree.
 do_build_prepare_builtins() {
-    cmake --fresh -G Ninja \
+    env -i PATH=$PATH cmake --fresh -G Ninja \
         -S ${OECMAKE_SOURCEPATH} -B ${B_NATIVE} \
         -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${WORKDIR}/toolchain-native.cmake \
         -DLIBCLC_TARGETS_TO_BUILD=