[llvm-dev] Status of the official LLVM APT repositories

Chris Bieneman via llvm-dev llvm-dev at lists.llvm.org
Tue May 3 09:23:09 PDT 2016


Slightly off topic.

I recently implemented an option in CMake named LLVM_DISTRIBUTION_COMPONENTS. This is specifically geared to package maintainers. It allows you to specify which components of LLVM you want to install, and it constructs minimal wrapper targets to build and install just the distributed components.

For Apple this resulted in about a 40% reduction in build time for the “Apple Clang” package, and it provided a very easy way to narrow down which specific pieces of LLVM & Clang should be installed. I strongly recommend using it.

The cmake/caches/Apple-stage2.cmake file in the Clang repository is an example of how we use it for “Apple Clang” distributions.

-Chris

> On May 1, 2016, at 6:07 PM, Andrew Wilkins via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> On Sun, 1 May 2016 at 16:12 Amaury SECHET <deadalnix at gmail.com <mailto:deadalnix at gmail.com>> wrote:
> Some update on this.
> 
> 2016-04-12 18:48 GMT-07:00 Andrew Wilkins <axwalk at gmail.com <mailto:axwalk at gmail.com>>:
> On Wed, 13 Apr 2016 at 09:38 Amaury SECHET <deadalnix at gmail.com <mailto:deadalnix at gmail.com>> wrote:
> I'd be happy to do it, but this is a bit much high level for me to be actionable. Can you explain me what I should do to reintroduce them int he debian packaging ?
> 
> On the CMake side, I'm not sure. I think it's just a matter of using the "install()" functions to install them into the appropriate place in the tree. They weren't installed by CMake in the first place; I was going to do that, which is when I was told they shouldn't be distributed.
> 
> 
> Turns out, these executable are installed when using -DLLVM_INSTALL_UTILS=1 with cmake, so that simplify this.
>  
> For Debian packaging, there are a few things.
> 1) revive the llvm-X.Y-tools.* files, which were in LLVM 3.7. See: http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.7/debian/ <http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.7/debian/>.
> 
> This is where I'm not sure how to proceed. How do I contribute to that repository ? Is that debian owned ? What is the process to submit a patch ?
> 
> Yes, it is Debian-owned. When I made the changes to use CMake, I sent patches directly to Sylvestre Ledru (CCd), who maintains the LLVM/Clang/etc. packages for Debian.
> 
> FWIW, I second Reid's sentiment about having things like "not" in the standard $PATH. They are there in the older versions of LLVM, albeit with version suffixes (e.g. /usr/bin/not-3.7). If it's possible, it would be nice to hide them away in /usr/lib/llvm-<version>/bin, or perhaps a utils-specific directory. I think it would then just be a matter of adding that to $PATH before running lit tests.
> 
> I would offer to help write patches, but you would be at the mercy of my near non-existent availability.
> 
> Cheers,
> Andrew
> 
>  
> 2) add the llvm-X.Y-tools entry back into control. Compare http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.7/debian/control?revision=1843&view=markup <http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.7/debian/control?revision=1843&view=markup> and http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.8/debian/control?revision=1881&view=markup <http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.8/debian/control?revision=1881&view=markup>.
> 3) update the "rules" script as necessary to support the above, copying files into the places that the Debian package layout expects
> 
> HTH,
> Andrew
>  
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160503/d4588085/attachment.html>


More information about the llvm-dev mailing list