Fix dependencies now that the ARC migrator depends on the static analyzer.
Thanks for pointing this out, Stephen. I think this is right now -- I
attempted to try all four valid combinations with both the autoconf and
CMake builds.
See also LLVM changes to the configure script.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189027 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 22b12f3..eb0b0a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -274,9 +274,9 @@
add_definitions( -D_GNU_SOURCE )
-option(CLANG_ENABLE_ARCMT "Enable ARCMT by default." ON)
-option(CLANG_ENABLE_REWRITER "Enable rewriter by default." ON)
-option(CLANG_ENABLE_STATIC_ANALYZER "Enable static analyzer by default." ON)
+option(CLANG_ENABLE_ARCMT "Build ARCMT." ON)
+option(CLANG_ENABLE_REWRITER "Build rewriter." ON)
+option(CLANG_ENABLE_STATIC_ANALYZER "Build static analyzer." ON)
if (NOT CLANG_ENABLE_REWRITER AND CLANG_ENABLE_ARCMT)
message(FATAL_ERROR "Cannot disable rewriter while enabling ARCMT")
@@ -286,6 +286,10 @@
message(FATAL_ERROR "Cannot disable rewriter while enabling static analyzer")
endif()
+if (NOT CLANG_ENABLE_STATIC_ANALYZER AND CLANG_ENABLE_ARCMT)
+ message(FATAL_ERROR "Cannot disable static analyzer while enabling ARCMT")
+endif()
+
if(CLANG_ENABLE_ARCMT)
add_definitions(-DCLANG_ENABLE_ARCMT)
endif()
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 6df8ebc..7bb65e9 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -11,7 +11,9 @@
add_subdirectory(Analysis)
add_subdirectory(Edit)
add_subdirectory(Rewrite)
-add_subdirectory(ARCMigrate)
+if(CLANG_ENABLE_ARCMT)
+ add_subdirectory(ARCMigrate)
+endif()
add_subdirectory(Driver)
add_subdirectory(Serialization)
add_subdirectory(Frontend)
diff --git a/lib/FrontendTool/CMakeLists.txt b/lib/FrontendTool/CMakeLists.txt
index 3e6aba4..28a864a 100644
--- a/lib/FrontendTool/CMakeLists.txt
+++ b/lib/FrontendTool/CMakeLists.txt
@@ -14,9 +14,14 @@
clangRewriteCore
clangRewriteFrontend
clangCodeGen
- clangARCMigrate
)
+if(CLANG_ENABLE_ARCMT)
+ target_link_libraries(clangFrontendTool
+ clangARCMigrate
+ )
+endif()
+
if(CLANG_ENABLE_STATIC_ANALYZER)
target_link_libraries(clangFrontendTool
clangStaticAnalyzerFrontend
diff --git a/lib/Makefile b/lib/Makefile
index 5712527..6663268 100755
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -10,8 +10,8 @@
# ARCMigrate and Rewrite are always needed because of libclang.
PARALLEL_DIRS = Headers Basic Lex Parse AST Sema CodeGen Analysis Frontend \
- FrontendTool Tooling Driver Format Edit ARCMigrate Rewrite \
- Serialization Index
+ FrontendTool Tooling Driver Format Edit Rewrite Serialization \
+ Index
include $(CLANG_LEVEL)/../../Makefile.config
@@ -23,4 +23,8 @@
PARALLEL_DIRS += StaticAnalyzer
endif
+ifeq ($(ENABLE_CLANG_ARCMT),1)
+PARALLEL_DIRS += ARCMigrate
+endif
+
include $(CLANG_LEVEL)/Makefile
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index 13f4666..fef0adc 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -1,13 +1,18 @@
-add_subdirectory(libclang)
-add_subdirectory(c-index-test)
-add_subdirectory(arcmt-test)
-add_subdirectory(c-arcmt-test)
add_subdirectory(diagtool)
add_subdirectory(driver)
+if(CLANG_ENABLE_REWRITER)
+ add_subdirectory(clang-format)
+endif()
+
+if(CLANG_ENABLE_ARCMT)
+ add_subdirectory(libclang)
+ add_subdirectory(c-index-test)
+ add_subdirectory(arcmt-test)
+ add_subdirectory(c-arcmt-test)
+endif()
if(CLANG_ENABLE_STATIC_ANALYZER)
add_subdirectory(clang-check)
endif()
-add_subdirectory(clang-format)
# We support checking out the clang-tools-extra repository into the 'extra'
# subdirectory. It contains tools developed as part of the Clang/LLVM project
diff --git a/tools/Makefile b/tools/Makefile
index dddc07b..8cd0a06 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -11,11 +11,16 @@
include $(CLANG_LEVEL)/../../Makefile.config
-DIRS := libclang c-index-test arcmt-test c-arcmt-test
-PARALLEL_DIRS := driver diagtool clang-format
+DIRS :=
+PARALLEL_DIRS := driver diagtool
-ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1)
- PARALLEL_DIRS += clang-check
+ifeq ($(ENABLE_CLANG_REWRITER),1)
+ PARALLEL_DIRS += clang-format
+endif
+
+ifeq ($(ENABLE_CLANG_ARCMT), 1)
+ DIRS += libclang c-index-test c-arcmt-test
+ PARALLEL_DIRS += arcmt-test
endif
# Recurse into the extra repository of tools if present.
diff --git a/unittests/Makefile b/unittests/Makefile
index 542863e..d0dfe47 100644
--- a/unittests/Makefile
+++ b/unittests/Makefile
@@ -19,14 +19,10 @@
include $(CLANG_LEVEL)/../..//Makefile.config
ifeq ($(ENABLE_CLANG_REWRITER),1)
-PARALLEL_DIRS += Format
+PARALLEL_DIRS += Format ASTMatchers AST Tooling Sema
endif
-ifeq ($(ENABLE_CLANG_REWRITER),1)
-PARALLEL_DIRS += ASTMatchers AST Tooling Sema
-endif
-
-ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1)
+ifeq ($(ENABLE_CLANG_ARCMT),1)
PARALLEL_DIRS += Frontend
endif