diff options
author | Fangrui Song <maskray@google.com> | 2018-12-12 08:02:18 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2018-12-12 08:02:18 +0000 |
commit | 5313327f61cc6524f99639cf792db41285615558 (patch) | |
tree | be1daf981a3aa7866bc61ff53df06e253526ecca | |
parent | 9098a8b5eff0f524a922c21ef4f35aec8f416091 (diff) | |
download | bcm5719-llvm-5313327f61cc6524f99639cf792db41285615558.tar.gz bcm5719-llvm-5313327f61cc6524f99639cf792db41285615558.zip |
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.
llvm-svn: 348915
22 files changed, 22 insertions, 0 deletions
diff --git a/clang/lib/Tooling/CMakeLists.txt b/clang/lib/Tooling/CMakeLists.txt index 031d8b51dec..4b671e299ab 100644 --- a/clang/lib/Tooling/CMakeLists.txt +++ b/clang/lib/Tooling/CMakeLists.txt @@ -35,5 +35,6 @@ add_clang_library(clangTooling clangFrontend clangLex clangRewrite + clangSerialization clangToolingCore ) diff --git a/clang/tools/arcmt-test/CMakeLists.txt b/clang/tools/arcmt-test/CMakeLists.txt index 2b456be2fcd..c4c1463241b 100644 --- a/clang/tools/arcmt-test/CMakeLists.txt +++ b/clang/tools/arcmt-test/CMakeLists.txt @@ -12,4 +12,5 @@ target_link_libraries(arcmt-test clangBasic clangFrontend clangLex + clangSerialization ) diff --git a/clang/tools/clang-check/CMakeLists.txt b/clang/tools/clang-check/CMakeLists.txt index c5ace26c291..b837b0a0a5d 100644 --- a/clang/tools/clang-check/CMakeLists.txt +++ b/clang/tools/clang-check/CMakeLists.txt @@ -15,6 +15,7 @@ target_link_libraries(clang-check clangDriver clangFrontend clangRewriteFrontend + clangSerialization clangStaticAnalyzerFrontend clangTooling ) diff --git a/clang/tools/clang-diff/CMakeLists.txt b/clang/tools/clang-diff/CMakeLists.txt index 09bebf2cb6e..ab9a5bbbe91 100644 --- a/clang/tools/clang-diff/CMakeLists.txt +++ b/clang/tools/clang-diff/CMakeLists.txt @@ -10,6 +10,7 @@ target_link_libraries(clang-diff PRIVATE clangBasic clangFrontend + clangSerialization clangTooling clangToolingASTDiff ) diff --git a/clang/tools/clang-func-mapping/CMakeLists.txt b/clang/tools/clang-func-mapping/CMakeLists.txt index 2fc6aba9524..3544009a45d 100644 --- a/clang/tools/clang-func-mapping/CMakeLists.txt +++ b/clang/tools/clang-func-mapping/CMakeLists.txt @@ -13,6 +13,7 @@ target_link_libraries(clang-func-mapping clangBasic clangCrossTU clangFrontend + clangSerialization clangTooling ) diff --git a/clang/tools/clang-import-test/CMakeLists.txt b/clang/tools/clang-import-test/CMakeLists.txt index dfccfe2304b..ee1bdab64a5 100644 --- a/clang/tools/clang-import-test/CMakeLists.txt +++ b/clang/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/clang/tools/clang-refactor/CMakeLists.txt b/clang/tools/clang-refactor/CMakeLists.txt index b435744ca4b..48206e73065 100644 --- a/clang/tools/clang-refactor/CMakeLists.txt +++ b/clang/tools/clang-refactor/CMakeLists.txt @@ -16,6 +16,7 @@ target_link_libraries(clang-refactor clangFrontend clangLex clangRewrite + clangSerialization clangTooling clangToolingCore clangToolingRefactor diff --git a/clang/tools/clang-rename/CMakeLists.txt b/clang/tools/clang-rename/CMakeLists.txt index 3b3ab1540a8..45cbd763425 100644 --- a/clang/tools/clang-rename/CMakeLists.txt +++ b/clang/tools/clang-rename/CMakeLists.txt @@ -12,6 +12,7 @@ target_link_libraries(clang-rename clangBasic clangFrontend clangRewrite + clangSerialization clangTooling clangToolingCore clangToolingRefactor diff --git a/clang/tools/driver/CMakeLists.txt b/clang/tools/driver/CMakeLists.txt index 15b0519e411..89a3aa3ced8 100644 --- a/clang/tools/driver/CMakeLists.txt +++ b/clang/tools/driver/CMakeLists.txt @@ -46,6 +46,7 @@ target_link_libraries(clang clangDriver clangFrontend clangFrontendTool + clangSerialization ) if(WIN32 AND NOT CYGWIN) diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt index 729d5560b65..32333b011ad 100644 --- a/clang/tools/libclang/CMakeLists.txt +++ b/clang/tools/libclang/CMakeLists.txt @@ -40,6 +40,7 @@ set(LIBS clangIndex clangLex clangSema + clangSerialization clangTooling ) diff --git a/clang/unittests/AST/CMakeLists.txt b/clang/unittests/AST/CMakeLists.txt index 776e3dcf6df..6621ce681bc 100644 --- a/clang/unittests/AST/CMakeLists.txt +++ b/clang/unittests/AST/CMakeLists.txt @@ -28,5 +28,6 @@ target_link_libraries(ASTTests clangASTMatchers clangBasic clangFrontend + clangSerialization clangTooling ) diff --git a/clang/unittests/ASTMatchers/CMakeLists.txt b/clang/unittests/ASTMatchers/CMakeLists.txt index ae1aecf503c..4e44c795f89 100644 --- a/clang/unittests/ASTMatchers/CMakeLists.txt +++ b/clang/unittests/ASTMatchers/CMakeLists.txt @@ -24,6 +24,7 @@ target_link_libraries(ASTMatchersTests clangASTMatchers clangBasic clangFrontend + clangSerialization clangTooling ) diff --git a/clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt b/clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt index 0fd96e97cff..07742caef65 100644 --- a/clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt +++ b/clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt @@ -15,5 +15,6 @@ target_link_libraries(DynamicASTMatchersTests clangBasic clangDynamicASTMatchers clangFrontend + clangSerialization clangTooling ) diff --git a/clang/unittests/Analysis/CMakeLists.txt b/clang/unittests/Analysis/CMakeLists.txt index 2291e6a8dd1..c760ae2d82b 100644 --- a/clang/unittests/Analysis/CMakeLists.txt +++ b/clang/unittests/Analysis/CMakeLists.txt @@ -15,5 +15,6 @@ target_link_libraries(ClangAnalysisTests clangASTMatchers clangBasic clangFrontend + clangSerialization clangTooling ) diff --git a/clang/unittests/CodeGen/CMakeLists.txt b/clang/unittests/CodeGen/CMakeLists.txt index 856dbce08ea..e4e7588a932 100644 --- a/clang/unittests/CodeGen/CMakeLists.txt +++ b/clang/unittests/CodeGen/CMakeLists.txt @@ -18,4 +18,5 @@ target_link_libraries(ClangCodeGenTests clangFrontend clangLex clangParse + clangSerialization ) diff --git a/clang/unittests/CrossTU/CMakeLists.txt b/clang/unittests/CrossTU/CMakeLists.txt index 652d91612fb..73047b739a4 100644 --- a/clang/unittests/CrossTU/CMakeLists.txt +++ b/clang/unittests/CrossTU/CMakeLists.txt @@ -13,5 +13,6 @@ target_link_libraries(CrossTUTests clangBasic clangCrossTU clangFrontend + clangSerialization clangTooling ) diff --git a/clang/unittests/Frontend/CMakeLists.txt b/clang/unittests/Frontend/CMakeLists.txt index e36570a88bf..c7851bb394e 100644 --- a/clang/unittests/Frontend/CMakeLists.txt +++ b/clang/unittests/Frontend/CMakeLists.txt @@ -21,4 +21,5 @@ target_link_libraries(FrontendTests clangSema clangCodeGen clangFrontendTool + clangSerialization ) diff --git a/clang/unittests/Index/CMakeLists.txt b/clang/unittests/Index/CMakeLists.txt index 32c36504c50..2756fad906a 100644 --- a/clang/unittests/Index/CMakeLists.txt +++ b/clang/unittests/Index/CMakeLists.txt @@ -14,5 +14,6 @@ target_link_libraries(IndexTests clangFrontend clangIndex clangLex + clangSerialization clangTooling ) diff --git a/clang/unittests/Rename/CMakeLists.txt b/clang/unittests/Rename/CMakeLists.txt index b625a7a691f..f91021dd154 100644 --- a/clang/unittests/Rename/CMakeLists.txt +++ b/clang/unittests/Rename/CMakeLists.txt @@ -21,6 +21,7 @@ target_link_libraries(ClangRenameTests clangFormat clangFrontend clangRewrite + clangSerialization clangTooling clangToolingCore clangToolingRefactor diff --git a/clang/unittests/Sema/CMakeLists.txt b/clang/unittests/Sema/CMakeLists.txt index 45460f1e0f6..78601046dcd 100644 --- a/clang/unittests/Sema/CMakeLists.txt +++ b/clang/unittests/Sema/CMakeLists.txt @@ -14,5 +14,6 @@ target_link_libraries(SemaTests clangFrontend clangParse clangSema + clangSerialization clangTooling ) diff --git a/clang/unittests/StaticAnalyzer/CMakeLists.txt b/clang/unittests/StaticAnalyzer/CMakeLists.txt index ff041452dfd..3036dec1676 100644 --- a/clang/unittests/StaticAnalyzer/CMakeLists.txt +++ b/clang/unittests/StaticAnalyzer/CMakeLists.txt @@ -12,6 +12,7 @@ target_link_libraries(StaticAnalysisTests clangBasic clangAnalysis clangFrontend + clangSerialization clangStaticAnalyzerCore clangStaticAnalyzerFrontend clangTooling diff --git a/clang/unittests/Tooling/CMakeLists.txt b/clang/unittests/Tooling/CMakeLists.txt index 823971a242f..7619c7fb234 100644 --- a/clang/unittests/Tooling/CMakeLists.txt +++ b/clang/unittests/Tooling/CMakeLists.txt @@ -61,6 +61,7 @@ target_link_libraries(ToolingTests clangFrontend clangLex clangRewrite + clangSerialization clangTooling clangToolingCore clangToolingInclusions |