-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FR] support libclang? #2046
Comments
This comment was marked as off-topic.
This comment was marked as off-topic.
It is so hard to develop Clang plugin with NDK. NDK not shipping the clang/llvm headers required by plugins. I have to carefully choose exactly the same commit as NDK and build LLVM myself to get those headers. It's a bit troublesome, but tolerable. After I happily built LLVM with the same commit as NDK and obtained the header files and libclang.dylib required by the plugin, I also happily included and linked it in my plugin and successfully compiled my plugin. But what frustrates me is that I cannot use Clang that bundled in NDK27 to load my plugin, and I cannot find the libclang I need in NDK27. Finally, I can only roll back our project to the previous NDK version and repeat the above steps. |
fwiw Firefox forks in F-Droid.org were relying[1] on the regular NDK so we didn't have to compile the toolchain every build and Firefox was working just fine for years with the libclang previously available in r26 and older [1] F-Droid exempts the official NDK and a small handful of other prebuilts, everything else has to be compiled from source |
The plan is for libclang to be in r28 (actually supported, on purpose, not just a thing we shipped accidentally like it was before). It'll be absent on Windows for r28 (because that's not something we've ever built, or at least not in recent history), but assuming it's just a matter of flipping the switch, it'll be included for Windows as well for r29. If it's more complicated then Windows support will likely be put on the back burner, depending on how hard it looks to fix. |
Bug: android/ndk#2046 Test: ./toolchain/llvm_android/build.py --no-build linux Change-Id: I0e4437050d949f9fd1f972bc2945fc5189062a83
Windows libclang is now packaged in ToT AOSP clang and will be in r29. But note that libclang-cpp is not available on Windows:
Setting |
Description
For a while the NDK unintentionally included libclang (since it wasn't intentional, I'm not sure how long it was there). That was removed as part of #2010 to reduce download size. This FR tracks potentially adding that back as something properly supported. Right now that's not something we've got the bandwidth for, but it's worth considering if that ever changes.
The other thread notes that rust workflows need this for bindgen, so that's maybe something that'll force this. OTOH if bindgen needs it, it should probably be shipped with bindgen?
The text was updated successfully, but these errors were encountered: