<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi,</div><div><div><br></div><div>Sometime this past summer or fall, a set of Clang tests on master started failing
for me when using BUILD_SHARED_LIBS=True, but they behave without it:<div><br></div><div> Clang :: CXX/modules-ts/basic/basic.link/p2/module.cpp<br> Clang :: Modules/ExtDebugInfo.cpp<br> Clang :: Modules/using-directive-redecl.cpp<br> Clang :: Modules/using-directive.cpp<br> Clang :: PCH/chain-late-anonymous-namespace.cpp<br> Clang :: PCH/cxx-namespaces.cpp<br> Clang :: PCH/namespaces.cpp<br></div><div><br></div></div><div></div><div>I heard recently that BUILD_SHARED_LIBS=True might not be as widely used or tested as I expected [1]. I prefer it as it significantly decreases
build sizes and, more importantly, accelerates incremental builds for
me, at least under Ubuntu 18.04.1 [2]. For example, after I touch clang/lib/Sema/SemaOpenMP.cpp, an incremental build runs 7.5x faster if BUILD_SHARED_LIBS=True. I prefer to recompile and test frequently during development, so this difference has a big impact.<br></div></div><div></div><br></div><div dir="ltr">Do other Clang developers find BUILD_SHARED_LIBS=True useful? Do you see the above failures? Should there be a bot to test that build configuration?<br><div><div><br></div><div>I have not attempted to debug the above failures yet, and I'm happy to provide more details, but I thought I should ask the larger questions about BUILD_SHARED_LIBS=True first.<br></div><div><br></div><div>Thanks.</div><div><br></div><div>Joel<br></div><div></div></div><div><br></div><div></div><div></div><div>[1]: <a href="http://lists.llvm.org/pipermail/lldb-dev/2019-January/014554.html" target="_blank">http://lists.llvm.org/pipermail/lldb-dev/2019-January/014554.html</a></div><div></div><div>[2]: <a href="http://lists.llvm.org/pipermail/lldb-dev/2019-January/014562.html" target="_blank">http://lists.llvm.org/pipermail/lldb-dev/2019-January/014562.html</a></div><div><br></div></div></div></div></div></div>