[LLVMdev] Proposal: bindings for the Go programming language

Chandler Carruth chandlerc at google.com
Fri Oct 10 00:47:53 PDT 2014


On Fri, Oct 10, 2014 at 12:16 AM, Andrew Wilkins <axwalk at gmail.com> wrote:

> On Thu, Oct 9, 2014 at 9:40 PM, Peter Collingbourne <peter at pcc.me.uk>
> wrote:
> > On Thu, Oct 09, 2014 at 09:17:01AM +0200, Andrew Wilkins wrote:
> >> > 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".
> >
> > I think the best way to solve that problem is to rely on distro-specific
> > packaging. For example, on Debian derived distributions we could arrange
> so
> > you could add /usr/share/gocode to your $GOPATH and get the packaged
> version
> > of LLVM that way.
>

The other thing to keep in mind is that due to the instability of LLVM's
C++ APIs, you would want to use the bindings from the exact version of the
existing LLVM libraries on the system if you wanted to use those libraries.
If the bindings are being pulled from top-of-tree, top-of-tree LLVM will be
necessary as well.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141010/d7ef5d6d/attachment.html>


More information about the llvm-dev mailing list