1# NOTE: The tools are organized into groups of four consisting of one large and 2# three small executables. This is done to minimize memory load in parallel 3# builds. Please retain this ordering. 4 5if( NOT WIN32 OR MSYS OR CYGWIN ) 6 # We currently require 'sed' to build llvm-config, so don't try to build it 7 # on pure Win32. 8 add_subdirectory(llvm-config) 9endif() 10 11add_subdirectory(opt) 12add_subdirectory(llvm-as) 13add_subdirectory(llvm-dis) 14add_subdirectory(llvm-mc) 15 16add_subdirectory(llc) 17add_subdirectory(llvm-ar) 18add_subdirectory(llvm-nm) 19add_subdirectory(llvm-size) 20 21add_subdirectory(llvm-cov) 22add_subdirectory(llvm-prof) 23add_subdirectory(llvm-link) 24add_subdirectory(lli) 25 26add_subdirectory(llvm-extract) 27add_subdirectory(llvm-diff) 28add_subdirectory(macho-dump) 29add_subdirectory(llvm-objdump) 30add_subdirectory(llvm-readobj) 31add_subdirectory(llvm-rtdyld) 32add_subdirectory(llvm-dwarfdump) 33if( LLVM_USE_INTEL_JITEVENTS ) 34 add_subdirectory(llvm-jitlistener) 35endif( LLVM_USE_INTEL_JITEVENTS ) 36 37add_subdirectory(bugpoint) 38add_subdirectory(bugpoint-passes) 39add_subdirectory(llvm-bcanalyzer) 40add_subdirectory(llvm-stress) 41add_subdirectory(llvm-mcmarkup) 42 43add_subdirectory(llvm-symbolizer) 44 45add_subdirectory(obj2yaml) 46add_subdirectory(yaml2obj) 47 48if( NOT WIN32 ) 49 add_subdirectory(lto) 50endif() 51 52if( LLVM_ENABLE_PIC ) 53 # TODO: support other systems: 54 if( (CMAKE_SYSTEM_NAME STREQUAL "Linux") 55 OR (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ) 56 add_subdirectory(gold) 57 endif() 58endif() 59 60add_llvm_external_project(clang) 61 62if( NOT LLVM_INCLUDE_TOOLS STREQUAL "bootstrap-only" ) 63 add_llvm_external_project(lld) 64 add_llvm_external_project(lldb) 65 add_llvm_external_project(polly) 66endif() 67 68set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE) 69