librice: Point bindgen at the target sysroot

rice-c/build.rs runs bindgen without any target flags, so libclang
parsed the build host headers in /usr/include, which fails when cross
compiling, e.g. for riscv64/musl:

  /usr/include/bits/floatn.h:97:9: error: __float128 is not supported on this target

Pass the target arch flags, sysroot and triple via
BINDGEN_EXTRA_CLANG_ARGS, as thin-provisioning-tools does.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Khem Raj committed 2026-10-19 15:08:27 -07:00
1 parent 34bbec3364
commit 72127a754d
1 file changed
+5
@@ -16,6 +16,11 @@ CARGO_BUILD_FLAGS += " --workspace"
export LIBCLANG_PATH = "${STAGING_LIBDIR_NATIVE}/libclang.so"
# rice-c/build.rs runs bindgen, point libclang at the target sysroot instead
# of the build host headers in /usr/include
BINDGEN_EXTRA_CLANG_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} --target=${TARGET_SYS}"
export BINDGEN_EXTRA_CLANG_ARGS
# rice-c/build.rs builds the internal rice-proto C library in-tree (via
# "cargo cinstall") and then locates it through system-deps + pkg-config.
# The generated rice-proto.pc carries an absolute prefix pointing at the