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")
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()
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)
clangRewriteCore
clangRewriteFrontend
clangCodeGen
- clangARCMigrate
)
+if(CLANG_ENABLE_ARCMT)
+ target_link_libraries(clangFrontendTool
+ clangARCMigrate
+ )
+endif()
+
if(CLANG_ENABLE_STATIC_ANALYZER)
target_link_libraries(clangFrontendTool
clangStaticAnalyzerFrontend
# 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
PARALLEL_DIRS += StaticAnalyzer
endif
+ifeq ($(ENABLE_CLANG_ARCMT),1)
+PARALLEL_DIRS += ARCMigrate
+endif
+
include $(CLANG_LEVEL)/Makefile
-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
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.
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