build: enable bindgen #387
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR enables the
bindgenfeature ofrquickjscrate and generates bindgen scripts during the compilation.Several remarkable points:
meta-clanglayer is added.LIBCLANG_PATHis required to searchlibclang.soand other libclang related shared objects.BINDGEN_EXTRA_CLANG_ARGSis defined inrust-bindgen. It supports per-target arguments asBINDGEN_EXTRA_CLANG_ARGS_<TARGET>. However, this<TARGET>must be underscore separated triple.(e.g. ✅
armv7_poky_linux_gnueabihf, ❌arm7-poky-linux-gnueabihf)build.rsofquickjsis also run for host system as well as the target system. To prevent confusion between two,BINDGEN_EXTRA_CLANG_ARGSneeds to be defined per target...TARGET_SYSfrom Yocto is NOT equal toRUST_TARGET_SYSfrom meta-lts-mixins-rust. (arm-poky-linux-gnueabivsarmv7-poky-linux-gnueabihf). Critically, the former indicates soft-float, while the latter does hard-float...Successor of #380, #374.