[LLVMdev] Proposal: bindings for the Go programming language (original) (raw)

Andrew Wilkins axwalk at gmail.com
Thu Oct 9 00:17:01 PDT 2014


Importing this path would cause 'go get' to check out LLVM plus the bindings from SVN using the mechanism described in [3]. We would check index.html files into the www repository to support this.

There doesn't seem to be a good way to build complex C++ projects such as LLVM using 'go get', so there is a script (updatellvm.sh) that builds LLVM and configures the package tree with the appropriate compiler/linker flags. This is essentially the approach that I've taken with the existing gollvm project, but now the script uses the copy of LLVM in the parent directory instead of checking one out.

Some users will want to build/install the bindings against existing LLVM libraries [0]. For example, if the vNN URL were used, then I think it would be nice to be able to fetch and build the bindings against a released vNN LLVM without also fetching the LLVM tree via "go get". What benefit does combining the checkout into the "go get" bring, as opposed to deferring to update_llvm.sh as is done today?

One option for improving the "go get" experience for released versions is to include pkg-config support in the OS distributions of LLVM. "go get" is able to invoke pkg-config to determine include/library paths, linker options, etc.

Comments appreciated.

Thanks for taking this on.

Cheers, Andrew

[0] https://github.com/go-llvm/llvm/issues/25



More information about the llvm-dev mailing list