[PATCH] D67585: [clang] [cmake] Make building dylib optional

Chris Bieneman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 14 11:37:31 PDT 2019


beanz added a reviewer: compnerd.
beanz added a comment.

In D67585#1670433 <https://reviews.llvm.org/D67585#1670433>, @mgorny wrote:

> This is really much more work than disabling the one component I don't need or care for, especially when I do shared lib build and therefore the additional library is entirely useless.


It is one-time effort to figure out what you "care" about, which makes me pretty unsympathetic to the argument that it is much more work. Further, your argument for building the `all` target is that you want to build-test things, but you have decided this library is "useless" so you don't want to build it. How many other things in tree do you deem "useless"?

Using `LLVM_DISTRIBUTION_COMPONENTS` is the best way (and hopefully in the future the only supported way) to make an arbitrary choice about what is meaningful to you.

I believe the fundamental direction of the build system needs to be different from what it has been in the past, and I've had conversations with other contributors that agree. My plan is to have a larger discussion at the Developer Meeting in October, and formulate a document describing the direction and guidelines for the build system. Presently the build system is growing along a trajectory that is unsustainable and actively harmful to its maintainability. My belief is that the build system should have less options, not more. In particular we should avoid options that conflict with other options creating invalid build configurations, which this patch does (see `CLANG_LINK_CLANG_DYLIB`). I also believe that we should not add options for each individual's preferred workflow, instead we need to coalesce around a more limited set of supported workflows. Following this direction will reduce the maintenance cost of the build system by making it easier and less risky to make changes, and it will provide a general improvement to the project by reducing the matrix of possible configurations that require distinct testing.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67585/new/

https://reviews.llvm.org/D67585





More information about the cfe-commits mailing list