From: Fangrui Song Date: Wed, 12 Dec 2018 08:02:18 +0000 (+0000) Subject: Add explicit dependency on clangSerialization for a bunch of components to fix -DBUIL... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4491cc3917797998d3feecba6d7752f0e9f32e89;p=clang 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 --- diff --git a/lib/Tooling/CMakeLists.txt b/lib/Tooling/CMakeLists.txt index 031d8b51de..4b671e299a 100644 --- a/lib/Tooling/CMakeLists.txt +++ b/lib/Tooling/CMakeLists.txt @@ -35,5 +35,6 @@ add_clang_library(clangTooling clangFrontend clangLex clangRewrite + clangSerialization clangToolingCore ) diff --git a/tools/arcmt-test/CMakeLists.txt b/tools/arcmt-test/CMakeLists.txt index 2b456be2fc..c4c1463241 100644 --- a/tools/arcmt-test/CMakeLists.txt +++ b/tools/arcmt-test/CMakeLists.txt @@ -12,4 +12,5 @@ target_link_libraries(arcmt-test clangBasic clangFrontend clangLex + clangSerialization ) diff --git a/tools/clang-check/CMakeLists.txt b/tools/clang-check/CMakeLists.txt index c5ace26c29..b837b0a0a5 100644 --- a/tools/clang-check/CMakeLists.txt +++ b/tools/clang-check/CMakeLists.txt @@ -15,6 +15,7 @@ target_link_libraries(clang-check clangDriver clangFrontend clangRewriteFrontend + clangSerialization clangStaticAnalyzerFrontend clangTooling ) diff --git a/tools/clang-diff/CMakeLists.txt b/tools/clang-diff/CMakeLists.txt index 09bebf2cb6..ab9a5bbbe9 100644 --- a/tools/clang-diff/CMakeLists.txt +++ b/tools/clang-diff/CMakeLists.txt @@ -10,6 +10,7 @@ target_link_libraries(clang-diff PRIVATE clangBasic clangFrontend + clangSerialization clangTooling clangToolingASTDiff ) diff --git a/tools/clang-func-mapping/CMakeLists.txt b/tools/clang-func-mapping/CMakeLists.txt index 2fc6aba952..3544009a45 100644 --- a/tools/clang-func-mapping/CMakeLists.txt +++ b/tools/clang-func-mapping/CMakeLists.txt @@ -13,6 +13,7 @@ target_link_libraries(clang-func-mapping clangBasic clangCrossTU clangFrontend + clangSerialization clangTooling ) diff --git a/tools/clang-import-test/CMakeLists.txt b/tools/clang-import-test/CMakeLists.txt index dfccfe2304..ee1bdab64a 100644 --- a/tools/clang-import-test/CMakeLists.txt +++ b/tools/clang-import-test/CMakeLists.txt @@ -21,6 +21,7 @@ set(CLANG_IMPORT_TEST_LIB_DEPS clangFrontend clangLex clangParse + clangSerialization ) target_link_libraries(clang-import-test diff --git a/tools/clang-refactor/CMakeLists.txt b/tools/clang-refactor/CMakeLists.txt index b435744ca4..48206e7306 100644 --- a/tools/clang-refactor/CMakeLists.txt +++ b/tools/clang-refactor/CMakeLists.txt @@ -16,6 +16,7 @@ target_link_libraries(clang-refactor clangFrontend clangLex clangRewrite + clangSerialization clangTooling clangToolingCore clangToolingRefactor diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt index 3b3ab1540a..45cbd76342 100644 --- a/tools/clang-rename/CMakeLists.txt +++ b/tools/clang-rename/CMakeLists.txt @@ -12,6 +12,7 @@ target_link_libraries(clang-rename clangBasic clangFrontend clangRewrite + clangSerialization clangTooling clangToolingCore clangToolingRefactor diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index 15b0519e41..89a3aa3ced 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -46,6 +46,7 @@ target_link_libraries(clang clangDriver clangFrontend clangFrontendTool + clangSerialization ) if(WIN32 AND NOT CYGWIN) diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt index 729d5560b6..32333b011a 100644 --- a/tools/libclang/CMakeLists.txt +++ b/tools/libclang/CMakeLists.txt @@ -40,6 +40,7 @@ set(LIBS clangIndex clangLex clangSema + clangSerialization clangTooling ) diff --git a/unittests/AST/CMakeLists.txt b/unittests/AST/CMakeLists.txt index 776e3dcf6d..6621ce681b 100644 --- a/unittests/AST/CMakeLists.txt +++ b/unittests/AST/CMakeLists.txt @@ -28,5 +28,6 @@ target_link_libraries(ASTTests clangASTMatchers clangBasic clangFrontend + clangSerialization clangTooling ) diff --git a/unittests/ASTMatchers/CMakeLists.txt b/unittests/ASTMatchers/CMakeLists.txt index ae1aecf503..4e44c795f8 100644 --- a/unittests/ASTMatchers/CMakeLists.txt +++ b/unittests/ASTMatchers/CMakeLists.txt @@ -24,6 +24,7 @@ target_link_libraries(ASTMatchersTests clangASTMatchers clangBasic clangFrontend + clangSerialization clangTooling ) diff --git a/unittests/ASTMatchers/Dynamic/CMakeLists.txt b/unittests/ASTMatchers/Dynamic/CMakeLists.txt index 0fd96e97cf..07742caef6 100644 --- a/unittests/ASTMatchers/Dynamic/CMakeLists.txt +++ b/unittests/ASTMatchers/Dynamic/CMakeLists.txt @@ -15,5 +15,6 @@ target_link_libraries(DynamicASTMatchersTests clangBasic clangDynamicASTMatchers clangFrontend + clangSerialization clangTooling ) diff --git a/unittests/Analysis/CMakeLists.txt b/unittests/Analysis/CMakeLists.txt index 2291e6a8dd..c760ae2d82 100644 --- a/unittests/Analysis/CMakeLists.txt +++ b/unittests/Analysis/CMakeLists.txt @@ -15,5 +15,6 @@ target_link_libraries(ClangAnalysisTests clangASTMatchers clangBasic clangFrontend + clangSerialization clangTooling ) diff --git a/unittests/CodeGen/CMakeLists.txt b/unittests/CodeGen/CMakeLists.txt index 856dbce08e..e4e7588a93 100644 --- a/unittests/CodeGen/CMakeLists.txt +++ b/unittests/CodeGen/CMakeLists.txt @@ -18,4 +18,5 @@ target_link_libraries(ClangCodeGenTests clangFrontend clangLex clangParse + clangSerialization ) diff --git a/unittests/CrossTU/CMakeLists.txt b/unittests/CrossTU/CMakeLists.txt index 652d91612f..73047b739a 100644 --- a/unittests/CrossTU/CMakeLists.txt +++ b/unittests/CrossTU/CMakeLists.txt @@ -13,5 +13,6 @@ target_link_libraries(CrossTUTests clangBasic clangCrossTU clangFrontend + clangSerialization clangTooling ) diff --git a/unittests/Frontend/CMakeLists.txt b/unittests/Frontend/CMakeLists.txt index e36570a88b..c7851bb394 100644 --- a/unittests/Frontend/CMakeLists.txt +++ b/unittests/Frontend/CMakeLists.txt @@ -21,4 +21,5 @@ target_link_libraries(FrontendTests clangSema clangCodeGen clangFrontendTool + clangSerialization ) diff --git a/unittests/Index/CMakeLists.txt b/unittests/Index/CMakeLists.txt index 32c36504c5..2756fad906 100644 --- a/unittests/Index/CMakeLists.txt +++ b/unittests/Index/CMakeLists.txt @@ -14,5 +14,6 @@ target_link_libraries(IndexTests clangFrontend clangIndex clangLex + clangSerialization clangTooling ) diff --git a/unittests/Rename/CMakeLists.txt b/unittests/Rename/CMakeLists.txt index b625a7a691..f91021dd15 100644 --- a/unittests/Rename/CMakeLists.txt +++ b/unittests/Rename/CMakeLists.txt @@ -21,6 +21,7 @@ target_link_libraries(ClangRenameTests clangFormat clangFrontend clangRewrite + clangSerialization clangTooling clangToolingCore clangToolingRefactor diff --git a/unittests/Sema/CMakeLists.txt b/unittests/Sema/CMakeLists.txt index 45460f1e0f..78601046dc 100644 --- a/unittests/Sema/CMakeLists.txt +++ b/unittests/Sema/CMakeLists.txt @@ -14,5 +14,6 @@ target_link_libraries(SemaTests clangFrontend clangParse clangSema + clangSerialization clangTooling ) diff --git a/unittests/StaticAnalyzer/CMakeLists.txt b/unittests/StaticAnalyzer/CMakeLists.txt index ff041452df..3036dec167 100644 --- a/unittests/StaticAnalyzer/CMakeLists.txt +++ b/unittests/StaticAnalyzer/CMakeLists.txt @@ -12,6 +12,7 @@ target_link_libraries(StaticAnalysisTests clangBasic clangAnalysis clangFrontend + clangSerialization clangStaticAnalyzerCore clangStaticAnalyzerFrontend clangTooling diff --git a/unittests/Tooling/CMakeLists.txt b/unittests/Tooling/CMakeLists.txt index 823971a242..7619c7fb23 100644 --- a/unittests/Tooling/CMakeLists.txt +++ b/unittests/Tooling/CMakeLists.txt @@ -61,6 +61,7 @@ target_link_libraries(ToolingTests clangFrontend clangLex clangRewrite + clangSerialization clangTooling clangToolingCore clangToolingInclusions