[LLVMdev] Proposal: bindings for the Go programming language

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 (update_llvm.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