Proposal: Improving the LLVM backend by packaging it

Ben Gamari 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:
>> Hi,
>>
>> 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
around.

Perhaps the Shake build system (if it happens) will be better in this
regard?

Cheers,

-  Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20141101/4f5a2907/attachment.sig>


More information about the ghc-devs mailing list