[PATCH] D49573: [CMake] Option to control whether shared/static library is installed

Petr Hosek via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 20 14:32:36 PDT 2018


phosek added a comment.

In https://reviews.llvm.org/D49573#1169615, @ldionne wrote:

> I don't like the fact that we're adding options like crazy, thus making the build more complicated. If you don't want to have some libraries that were built, why not just remove them afterwards?


The motivation behind this is that you could produce a complete toolchain with just CMake, combined with the fact that the cache files are all part of the LLVM tree, anyone can build the toolchain themselves which is useful when reproducing issues. We would like to add Fuchsia bots to upstream in the near future where reproducibility is going to be even more important and I'd like to avoid for people to have to run additional post-processing scripts.

Regarding this change, this in combination with https://reviews.llvm.org/D49502 is all we need to exactly what gets built and installed, I don't plan on adding anymore options. Alternative that I also considered would be avoid exposing these options and instead do this implicitly based on the variables that are being set, e.g. in libc++abi build check if `LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY` is set and if so  don't even install libc++abi.a. The problem is that while this may work for us, I'm pretty sure there are going to be other clients that have other requirements where this is not the right choice and we could see combinatorial explosion of different configurations, so providing these options is probably a better choice.


Repository:
  rL LLVM

https://reviews.llvm.org/D49573





More information about the cfe-commits mailing list