<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Slightly off topic.</div><div class=""><br class=""></div><div class="">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.<div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">The cmake/caches/Apple-stage2.cmake file in the Clang repository is an example of how we use it for “Apple Clang” distributions.</div><div class=""><br class=""></div><div class="">-Chris</div></div><div class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On May 1, 2016, at 6:07 PM, Andrew Wilkins via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote"><div dir="ltr" class="">On Sun, 1 May 2016 at 16:12 Amaury SECHET <<a href="mailto:deadalnix@gmail.com" class="">deadalnix@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div dir="ltr" class="">Some update on this.<br class=""><div class=""><div class="gmail_extra"><br class=""><div class="gmail_quote"></div></div></div></div><div dir="ltr" class=""><div class=""><div class="gmail_extra"><div class="gmail_quote">2016-04-12 18:48 GMT-07:00 Andrew Wilkins<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:axwalk@gmail.com" target="_blank" class="">axwalk@gmail.com</a>></span>:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr" class=""><div class="gmail_quote"><span class=""><div dir="ltr" class="">On Wed, 13 Apr 2016 at 09:38 Amaury SECHET <<a href="mailto:deadalnix@gmail.com" target="_blank" class="">deadalnix@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr" class="">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 ?</div></blockquote><div class=""><br class=""></div></span><div class="">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.</div><div class=""><br class=""></div></div></div></blockquote><div class=""><br class=""></div></div></div></div></div><div dir="ltr" class=""><div class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">Turns out, these executable are installed when using -DLLVM_INSTALL_UTILS=1 with cmake, so that simplify this.<br class=""></div></div></div></div></div><div dir="ltr" class=""><div class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr" class=""><div class="gmail_quote"><div class=""></div><div class="">For Debian packaging, there are a few things.</div><div class="">1) revive the llvm-X.Y-tools.* files, which were in LLVM 3.7. See: <a href="http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.7/debian/" target="_blank" class="">http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.7/debian/</a>.</div></div></div></blockquote><div class=""><br class=""></div></div></div></div></div><div dir="ltr" class=""><div class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">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 ?</div></div></div></div></div></blockquote><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">I would offer to help write patches, but you would be at the mercy of my near non-existent availability.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Andrew</div><div class=""><br class=""></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div dir="ltr" class=""><div class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><span style="line-height: 1.5;" class=""> </span></div></div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr" class=""><div class="gmail_quote"><div class="">2) add the llvm-X.Y-tools entry back into control. Compare <a href="http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.7/debian/control?revision=1843&view=markup" target="_blank" class="">http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.7/debian/control?revision=1843&view=markup</a> and <a href="http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.8/debian/control?revision=1881&view=markup" target="_blank" class="">http://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/3.8/debian/control?revision=1881&view=markup</a>.</div><div class="">3) update the "rules" script as necessary to support the above, copying files into the places that the Debian package layout expects</div><div class=""><br class=""></div><div class="">HTH,</div><div class="">Andrew</div><div class=""><div class=""><div class=""> <br class=""></div></div></div></div></div></blockquote></div></div></div></blockquote></div></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">LLVM Developers mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a></span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></span></div></blockquote></div><br class=""></body></html>