X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2FCMakeLists.txt;h=c9c5a1fdfa083db426996593807812b6ecd2b1f5;hb=94162a044b32c61c8805956610327dec4b74d571;hp=66271a9f0acf0d57b8570296dbaf4660a64be493;hpb=d6dbd6b88341f1f7492b8c170077cbbb2014f1e0;p=oota-llvm.git diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 66271a9f0ac..c9c5a1fdfa0 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1,13 +1,17 @@ -# NOTE: The tools are organized into groups of four consisting of one large and -# three small executables. This is done to minimize memory load in parallel -# builds. Please retain this ordering. - -if( NOT WIN32 OR MSYS OR CYGWIN ) - # We currently require 'sed' to build llvm-config, so don't try to build it - # on pure Win32. - add_llvm_tool_subdirectory(llvm-config) +add_llvm_tool_subdirectory(llvm-config) + +# Build polly before the tools: the tools link against polly when +# LINK_POLLY_INTO_TOOLS is set. +if(WITH_POLLY) + add_llvm_external_project(polly) +else(WITH_POLLY) + list(APPEND LLVM_IMPLICIT_PROJECT_IGNORE "${LLVM_MAIN_SRC_DIR}/tools/polly") +endif(WITH_POLLY) + +if( LLVM_BUILD_LLVM_DYLIB ) + add_llvm_tool_subdirectory(llvm-shlib) else() - ignore_llvm_tool_subdirectory(llvm-config) + ignore_llvm_tool_subdirectory(llvm-shlib) endif() add_llvm_tool_subdirectory(opt) @@ -21,7 +25,7 @@ add_llvm_tool_subdirectory(llvm-nm) add_llvm_tool_subdirectory(llvm-size) add_llvm_tool_subdirectory(llvm-cov) -add_llvm_tool_subdirectory(llvm-prof) +add_llvm_tool_subdirectory(llvm-profdata) add_llvm_tool_subdirectory(llvm-link) add_llvm_tool_subdirectory(lli) @@ -32,6 +36,8 @@ add_llvm_tool_subdirectory(llvm-objdump) add_llvm_tool_subdirectory(llvm-readobj) add_llvm_tool_subdirectory(llvm-rtdyld) add_llvm_tool_subdirectory(llvm-dwarfdump) +add_llvm_tool_subdirectory(dsymutil) +add_llvm_tool_subdirectory(llvm-cxxdump) if( LLVM_USE_INTEL_JITEVENTS ) add_llvm_tool_subdirectory(llvm-jitlistener) else() @@ -44,35 +50,36 @@ add_llvm_tool_subdirectory(llvm-bcanalyzer) add_llvm_tool_subdirectory(llvm-stress) add_llvm_tool_subdirectory(llvm-mcmarkup) +add_llvm_tool_subdirectory(verify-uselistorder) + add_llvm_tool_subdirectory(llvm-symbolizer) +add_llvm_tool_subdirectory(llvm-c-test) + add_llvm_tool_subdirectory(obj2yaml) add_llvm_tool_subdirectory(yaml2obj) -if( NOT WIN32 ) +add_llvm_tool_subdirectory(llvm-go) + +add_llvm_tool_subdirectory(llvm-pdbdump) + +if(NOT CYGWIN AND LLVM_ENABLE_PIC) add_llvm_tool_subdirectory(lto) + add_llvm_tool_subdirectory(llvm-lto) else() ignore_llvm_tool_subdirectory(lto) + ignore_llvm_tool_subdirectory(llvm-lto) endif() -if( LLVM_ENABLE_PIC ) - # TODO: support other systems: - if( (CMAKE_SYSTEM_NAME STREQUAL "Linux") - OR (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ) - add_llvm_tool_subdirectory(gold) - else() - ignore_llvm_tool_subdirectory(gold) - endif() -else() - ignore_llvm_tool_subdirectory(gold) -endif() +add_llvm_tool_subdirectory(gold) add_llvm_external_project(clang) +add_llvm_external_project(llgo) +add_llvm_external_project(lld) +add_llvm_external_project(lldb) -if( NOT LLVM_INCLUDE_TOOLS STREQUAL "bootstrap-only" ) - # Automatically add remaining sub-directories containing a 'CMakeLists.txt' - # file as external projects. - add_llvm_implicit_external_projects() -endif() +# Automatically add remaining sub-directories containing a 'CMakeLists.txt' +# file as external projects. +add_llvm_implicit_external_projects() set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)