aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2013-08-22 15:50:02 +0000
committerJordan Rose <jordan_rose@apple.com>2013-08-22 15:50:02 +0000
commite638503d0dba2c02ab5254fe40d4e5385c3bf2a9 (patch)
tree09871abcb30d55c3523da2d866f78f66e276a581
parent6a29f674f649197780a4c60602cd08f491022ac8 (diff)
downloadclang-e638503d0dba2c02ab5254fe40d4e5385c3bf2a9.tar.gz
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
-rw-r--r--CMakeLists.txt10
-rw-r--r--lib/CMakeLists.txt4
-rw-r--r--lib/FrontendTool/CMakeLists.txt7
-rwxr-xr-xlib/Makefile8
-rw-r--r--tools/CMakeLists.txt15
-rw-r--r--tools/Makefile13
-rw-r--r--unittests/Makefile8
7 files changed, 43 insertions, 22 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 22b12f302b..eb0b0a7737 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -274,9 +274,9 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
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 @@ if (NOT CLANG_ENABLE_REWRITER AND CLANG_ENABLE_STATIC_ANALYZER)
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 6df8ebcce6..7bb65e923e 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -11,7 +11,9 @@ add_subdirectory(CodeGen)
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 3e6aba441e..28a864a633 100644
--- a/lib/FrontendTool/CMakeLists.txt
+++ b/lib/FrontendTool/CMakeLists.txt
@@ -14,9 +14,14 @@ target_link_libraries(clangFrontendTool
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 57125273c5..66632688d9 100755
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -10,8 +10,8 @@ CLANG_LEVEL := ..
# 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 @@ ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1)
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 13f4666297..fef0adc621 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 dddc07be1f..8cd0a065aa 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -11,11 +11,16 @@ CLANG_LEVEL := ..
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 542863e591..d0dfe471d1 100644
--- a/unittests/Makefile
+++ b/unittests/Makefile
@@ -19,14 +19,10 @@ PARALLEL_DIRS = Basic Lex
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