Proposal: Improving the LLVM backend by packaging it

Austin Seipp austin at well-typed.com
Sat Nov 1 16:26:26 UTC 2014


On Sat, Nov 1, 2014 at 11:12 AM, Joachim Breitner
<mail at joachim-breitner.de> wrote:
> Hi,
>
> Am Samstag, den 01.11.2014, 11:05 -0500 schrieb Austin Seipp:
>> > Do you envision that LLVM always be built alongside GHC when bringing up a new working tree?
>>
>> No - on Tier 1 platforms, I suggest we always provide binary packages
>> for developers to grab. Those same binaries would be shipped with the
>> actual binary distributions we create.
>>
>> On Tier 2 platforms, people may have to compile things, but we can
>> provide some guidelines (and perhaps utilities/scripts) to help manage
>> this.
>
> 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 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.

> Greetings,
> Joachim
>
>
> --
> Joachim Breitner
>   e-Mail: mail at joachim-breitner.de
>   Homepage: http://www.joachim-breitner.de
>   Jabber-ID: nomeata at joachim-breitner.de
>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>

-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/


More information about the ghc-devs mailing list