guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#49569] [PATCH] gnu: Add make-single-arch-llvm procedure.


From: Efraim Flashner
Subject: [bug#49569] [PATCH] gnu: Add make-single-arch-llvm procedure.
Date: Tue, 27 Jul 2021 15:29:29 +0300

On Mon, Jul 26, 2021 at 06:47:14PM +0200, Ludovic Courtès wrote:
> Hi,
> 
> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
> > * gnu/packages/llvm.scm (make-single-arch-llvm): New procedure.
> > (llvm-native-12, llvm-native): New variables.
> > ---
> >
> > Using this copy of llvm for packages like mesa will reduce the closure
> > of those packages. I don't suppose it would work as well for compilers
> > like rust which use LLVM for compiling and targeting different
> > architectures.
> >
> > This drops the size of llvm-12 from 167M to 111M.
> 
> That’s less impressive than I would have thought.
> 
> For Mesa perhaps we could maybe have a variant that’s even more
> stripped?
> 
> The downside of this is that we risk having several LLVM copies on
> typical installations.
> 
> Thoughts?
> 
> Thanks,
> Ludo’.

I think you're mostly shocked by the large numbers, it is a drop of 33%.

It turns out that llvm-julia uses something similar to only target one
arch, so the idea's there somewhere. We could probably add it in there
too for dlang. Icecat/icedove/mozjs-78 should be OK to switch. And
xf86-video-vmware already has mesa as an input and could likely use a
special llvm-for-mesa version.

I can look at mesa and see which libraries from llvm it links to and see
about just building those. A first look shows 50 llvm libraries from
mesa and about 150 from llvm@11, with the 4 libraries being
libOSMesa  libvulkan_radeon  libxatracker  libXvMCnouveau


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]