Proposal: Improving the LLVM backend by packaging it
bgamari.foss at gmail.com
Sat Nov 1 17:43:35 UTC 2014
Austin Seipp <austin at well-typed.com> writes:
> On Sat, Nov 1, 2014 at 11:12 AM, Joachim Breitner
> <mail at joachim-breitner.de> wrote:
>> for the Distributions it would be most easy if the custom llvm would
>> come within the source tarball, would be built by the regular build
>> process and installed along with GHC, in a private path
>> (/usr/lib/ghc/somewhere). We certainly don’t want to have a separate
>> packaging with separate binary packages "llvm-ghc" around.
> Yes, that seems like a reasonable desire.
> If we do this, my plan was actually to mirror a copy of the llvm git
> repository (an official one is maintained by llvm.org) to
> git.haskell.org, which is where we would base our own builds off of.
> We could certainly let source distributions build their own copy.
>> How long does building those two llvm binaries take? If it is
>> sufficiently quick, maybe that would be a suitable distribution for
>> developers as well, and avoids having to separately build, distribute,
>> download, and install the binaries.
> In practice it takes a while... I haven't timed it, but I'd guess on
> average it adds about 30-40 minutes for most people just to build
> llvm. I'm not sure how many things we can disable to make the build
> faster, but I'd ballpark it at half an hour at best (it's a few
> thousand source files, after all).
This sounds about right.
> This would mostly hurt if you cleaned up the tree later (e.g. 'make
> distclean'), which I do rather frequently in order to get a pristine
> build tree.
Ideally `make clean` would be a bit more complete so it could be used
more often. Much of my use of `make distclean` comes from superstition
after thinking `make clean` would be sufficient only to find out
half-way through the build that there is still vestigal state hanging
Perhaps the Shake build system (if it happens) will be better in this
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 472 bytes
Desc: not available
More information about the ghc-devs