summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2018-04-17 08:57:16 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2018-05-02 08:19:42 +0000
commit7f349701d3ea0c47be3a43e265699dddd3fd55cf (patch)
treed1be97d8033fe7c1d515141639adf3c355d61813
parent96a2c7633cc020bef7ad38a57094dc1287f1aceb (diff)
[Driver] Statically link tools into clang executable
This enables running tidy/clazy from the "clang" executable (driver) and thus avoids separate extra invocations for the tools resulting in a speed up. Change-Id: Ib14314443d68ee3346198915d109b3594bdbc647 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
-rw-r--r--tools/driver/CMakeLists.txt3
-rw-r--r--tools/driver/driver.cpp15
2 files changed, 18 insertions, 0 deletions
diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
index 22a498422a..19e0cf18a2 100644
--- a/tools/driver/CMakeLists.txt
+++ b/tools/driver/CMakeLists.txt
@@ -44,6 +44,9 @@ target_link_libraries(clang
clangDriver
clangFrontend
clangFrontendTool
+ clangTidyPlugin
+ clangIncludeFixerPlugin
+ clazyPlugin
)
if(WIN32 AND NOT CYGWIN)
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp
index fa757da953..a4c4bdd0a9 100644
--- a/tools/driver/driver.cpp
+++ b/tools/driver/driver.cpp
@@ -518,3 +518,18 @@ int main(int argc_, const char **argv_) {
// failing command.
return Res;
}
+
+// This anchor is used to force the linker to link the clang-tidy plugin.
+extern volatile int ClangTidyPluginAnchorSource;
+static int LLVM_ATTRIBUTE_UNUSED ClangTidyPluginAnchorDestination =
+ ClangTidyPluginAnchorSource;
+
+// This anchor is used to force the linker to link the clang-include-fixer
+// plugin.
+extern volatile int ClangIncludeFixerPluginAnchorSource;
+static int LLVM_ATTRIBUTE_UNUSED ClangIncludeFixerPluginAnchorDestination =
+ ClangIncludeFixerPluginAnchorSource;
+
+// This anchor is used to force the linker to link the clazy plugin.
+extern volatile int ClazyPluginAnchorSource;
+static int LLVM_ATTRIBUTE_UNUSED ClazyPluginAnchorDestination = ClazyPluginAnchorSource;