[LLVMdev] Proposal: add Go frontend subproject based on llgo

Tom Stellard
Thu, 20 Nov 2014 16:32:45 -0000

On Wed, Nov 19, 2014 at 01:53:17PM -0800, Peter Collingbourne
wrote:
> Hi all,
>
> I'd like to propose the contribution of a Go frontend subproject to the
LLVM
> project, based on the existing llgo project at
https://github.com/go-llvm/llgo .
> As with the previous contribution of the Go bindings, I have obtained
> permission from all llgo contributors whose code is part of this
contribution,
> to contribute their changes to the LLVM project and relicense their changes
> under the LLVM license. I am also willing to be the code owner for the
> llgo subproject.
>
> The frontend would live in the LLVM svn repository and if checked out into
> tools/llgo would build as part of the regular LLVM build (with CMake only).
We
> would be keeping llgo compatible with top-of-tree LLVM, although I imagine
> this would be less burdensome than the other subprojects as llgo is written
> in Go and depends on the Go bindings previously contributed to LLVM.
>
> llgo depends on certain third-party components, namely a copy of the Go
> standard library (libgo), a Go program analysis library (go.tools) and two
> library dependencies of the standard library (libbacktrace and libffi).
These
> would be mirrored into the llgo repository under a third_party directory.
They
> would retain their original licenses, which are BSD and GPLv3 with Runtime
> Library Exception (the latter only applies to a handful of header files;
> eventually we would seek to replace these).
>

Why do libbacktrace and libffi need to be mirrored in the llgo
repository?  Can't llgo link with system versions of these libraries?

-Tom

> As a first step, I have published:
>
> http://reviews.llvm.org/D6327
>
> with the initial code contribution. The mirrored third-party sources will
be
> added later, as the diff would be too large to review. If there is
consensus
> in the community, the next step I propose to take is to create the
subproject
> in svn and check in the initial version of the code.
>
> Any comments on this contribution are appreciated.
>
> Thanks,
> --
> Peter
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev