thin-provisioning-tools: add target and sysroot to bindgen flags

BUILD_CFLAGS doesn't contain information about the recipe sysroot nor about the target
system - and in case these are not specified for bindgen, then it builds against
the build system's headers, using the build system's arch.

Instead of BUILD_CFLAGS pass HOST_CC_ARCH and TOOLCHAIN_OPTIONS, which contain the sysroot
and the requred cross-compiling flags, beside passing the target flag also.

Fixes the following do_compile error:

|   /usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found
|   thread 'main' panicked at /yocto/sandbox/build/tmp/work/cortexa72-poky-linux/thin-provisioning-tools/1.1.0/sources-unpack/cargo_home/bitbake/devicemapper-sys-0.3.0/build.rs:24:10:
|   Could not generate dm.h bindings: ClangDiagnostic("/usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found\n")

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Gyorgy Sarvari 2025-02-27 19:32:38 +01:00 committed by Khem Raj
parent a271d827af
commit 8dad29ad58
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -21,7 +21,7 @@ inherit pkgconfig
DEPENDS += "udev libdevmapper libdevmapper-native clang-native"
export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}"
export BINDGEN_EXTRA_CLANG_ARGS = "${BUILD_CFLAGS}"
export BINDGEN_EXTRA_CLANG_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} --target=${TARGET_SYS}"
require ${BPN}-crates.inc
require ${BPN}-git-crates.inc