@mcc @directhex it's for programs that want to use the LLVM C++ API or libclang, so basically custom tooling for C or programming language implementations.
I've used llvm-config via llvm-sys to obtain a C AST for a C-to-Rust transpiler, and make it link my patched libclang fork.
It's just a take on pkg-config, avoiding pkg-config's limitations and inconsistent support. libpng-config exists for the same reasons.
https://gitlab.com/taricorp/llvm-sys.rs/-/blob/main/build.rs?ref_type=heads
@mcc llvm-config is only for linking against LLVM as a library, when you want to use functions with names like LLVMModuleCreateWithName.
[Many binary distributions of LLVM (reasonably) don't include llvm-config, which is a common source of confusion among users of my llvm-sys bindings crate which needs llvm-config.]
@mcc I did once. After spending days following their rules and jumping through their hoops to get a minimised test case that showed a reproducible compiler crash, I got a response.
The response was “you’re using Apple’s supplied version, fuck you”.
Apple who is the main developer of llvm.
clang-crash.zip The C++ parser crashes with "Illegal instruction" when compiling a C++ file with a very long expression consisting of user-defined literals. My use-case is in creating a bitstring f...