]> granicus.if.org Git - clang/commit
Add explicit dependency on clangSerialization for a bunch of components to fix -DBUIL...
authorFangrui Song <maskray@google.com>
Wed, 12 Dec 2018 08:02:18 +0000 (08:02 +0000)
committerFangrui Song <maskray@google.com>
Wed, 12 Dec 2018 08:02:18 +0000 (08:02 +0000)
commit4491cc3917797998d3feecba6d7752f0e9f32e89
treeb64a3dbd0b20fcc2273e9626c9e599760ce5baa4
parentd8e58a766c9648d10433b8f9e157f981c74cf89b
Add explicit dependency on clangSerialization for a bunch of components to fix -DBUILD_SHARED_LIBS=on build

This is a more thorough fix of rC348911.
The story about -DBUILD_SHARED_LIBS=on build after rC348907 (Move PCHContainerOperations from Frontend to Serialization) is:

1. libclangSerialization.so defines PCHContainerReader dtor, ...
2. clangFrontend and clangTooling define classes inheriting from PCHContainerReader, thus their DSOs have undefined references on PCHContainerReader dtor
3. Components depending on either clangFrontend or clangTooling cannot be linked unless they have explicit dependency on clangSerialization due to the default linker option -z defs. The explicit dependency could be avoided if libclang{Frontend,Tooling}.so had these undefined references.

This patch adds the explicit dependency on clangSerialization to make them build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@348915 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
lib/Tooling/CMakeLists.txt
tools/arcmt-test/CMakeLists.txt
tools/clang-check/CMakeLists.txt
tools/clang-diff/CMakeLists.txt
tools/clang-func-mapping/CMakeLists.txt
tools/clang-import-test/CMakeLists.txt
tools/clang-refactor/CMakeLists.txt
tools/clang-rename/CMakeLists.txt
tools/driver/CMakeLists.txt
tools/libclang/CMakeLists.txt
unittests/AST/CMakeLists.txt
unittests/ASTMatchers/CMakeLists.txt
unittests/ASTMatchers/Dynamic/CMakeLists.txt
unittests/Analysis/CMakeLists.txt
unittests/CodeGen/CMakeLists.txt
unittests/CrossTU/CMakeLists.txt
unittests/Frontend/CMakeLists.txt
unittests/Index/CMakeLists.txt
unittests/Rename/CMakeLists.txt
unittests/Sema/CMakeLists.txt
unittests/StaticAnalyzer/CMakeLists.txt
unittests/Tooling/CMakeLists.txt