guix-devel
[Top][All Lists]
Advanced

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

Re: Reducing LLVM closure size


From: Ludovic Courtès
Subject: Re: Reducing LLVM closure size
Date: Tue, 16 Jun 2020 11:22:44 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hi,

Pierre Neidhardt <mail@ambrevar.xyz> skribis:

> For the first 2 links, click on
> "View the file list for ..." link at the bottom to display the file
> list.
>
> "bin" and "include" occupy some 35 MiB.  First thing we can do is split
>
> - either move the libs to a "lib" output,
> - or move the "bin" and "include" folder to a new output.
>
> The second approach has the benefit of being less disruptive for dependents.

I have a slight preference for a “lib” output since that’s more in line
with what we do for other packages.

> Now if we look at the PKGBUILD, there are some interesting compilation
> flags.  If we remove
>
>   "-DBUILD_SHARED_LIBS:BOOL=TRUE"
>
> and add
>
>   "-DLLVM_BUILD_LLVM_DYLIB=ON"
>   "-DLLVM_LINK_LLVM_DYLIB=ON"
>
> it will produce a single libLLVM-10.so library.  This reduces the "lib"
> folder size from 107 MiB to 90 MiB.

Nice!  I looked for something like this when I packaged
‘clang-tools-extra’ and didn’t find it.  This should go into the next
‘staging’ branch (or ‘core-updates’?).

> All in all, it looks like we can save 52 MiB out of 140 MiB from the LLVM
> package (and 210 MiB from its closure).

That’d be great.

An additional option would be to have a package with fewer backends by
default (currently all of them are enabled and that takes up quite some
space).  In particular, Mesa doesn’t depend to depend on an LLVM variant
with 15 backends when it’s only going to use one.

Thanks,
Ludo’.



reply via email to

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