-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
Description
finding the right combination of compilation flags for locating headers and linking against the right libclang is tricky and not user-friendly as (mainly) there is no pkg-config support for neither LLVM nor CLang.
there is a llvm-config program that mimics what pkg-config can do, but only for LLVM libraries, not libclang.
On top of that, llvm-config may not have been installed, or with a slightly different name, depending on the Linux distribution or OS.
to ease the burden on our brave users, we should probably have either a go run ./config-cgo.go program or a go generate step to perform the following drudgery:
- find
llvm-configand extract/infer the correctCFLAGSandLDFLAGS(handling the possible naming variations oflibclang.so[.MAJOR[.MINOR]] - if no
llvm-configcould be found, try to look into canonical locations for the givenlibclangversion, depending on the Linux distribution (or OS.) - then generate a
cgoflags_gen.gofile with the correct// #cgodirectives embedded and hard-coded.