[PATCH] D66068: cmake: Make building clang-shlib optional

Jan Vesely via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 13 21:04:44 PDT 2019

jvesely added a comment.

In D66068#1627706 <https://reviews.llvm.org/D66068#1627706>, @beanz wrote:

> I want to dissect this a bit.
> In D66068#1627451 <https://reviews.llvm.org/D66068#1627451>, @E5ten wrote:
> > I am in favour of adding a user-facing option to disable generating this duplicate library for users that don't need it
> Why do you call this duplicate? It is unique. There is no other library in the clang build that serves the role of this library.

It duplicates functionality provided by separate/component libraries.
Why can't this be an option the same way I can pick when building llvm?

>> there should be an option to disable linking a library that takes a long time to link and isn't necessary for a lot of users.
> I think this is nuanced. When you say "takes a long time to link", I'm curious why you say that. For me it takes 45s to link on my laptop in a Linux VM using LLD in a build configuration that also includes all our backends (which is kinda a worst-case scenario), and 10s to link if I only include X86. That doesn't seem like a super long time, and it doesn't rely on any billion-dollar compute farms.

Is this a debug build?

> While it does slow down full-build times (slightly), I think the benefit is less broken bots which benefits the community as a whole.

do you have any numbers to support that claim?

> Going back to @jvesely's original email, I'm not sure why this adds minutes to your build time. I'd be curious if there are other low-hanging fruit that would improve your productivity without the community cost of adding new build configurations that disable building and testing things that we actually ship.

My first guess would be the difference between debug and release build (presence of debug info). the size of the library is 1.6GB on my system:

  $ du -h /usr/local/llvm-git/lib/libclang-cpp.so.10svn 
  1.6G	/usr/local/llvm-git/lib/libclang-cpp.so.10svn

just reading the inputs and writing the output library will take 30s on a 100MB/s hdd (my laptop is slower than that) and it hasn't done any linking yet.

  rC Clang



More information about the cfe-commits mailing list