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 5 if( 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) 9 endif() 10 11 add_subdirectory(opt) 12 add_subdirectory(llvm-as) 13 add_subdirectory(llvm-dis) 14 add_subdirectory(llvm-mc) 15 16 add_subdirectory(llc) 17 add_subdirectory(llvm-ar) 18 add_subdirectory(llvm-nm) 19 add_subdirectory(llvm-size) 20 21 add_subdirectory(llvm-cov) 22 add_subdirectory(llvm-prof) 23 add_subdirectory(llvm-link) 24 add_subdirectory(lli) 25 26 add_subdirectory(llvm-extract) 27 add_subdirectory(llvm-diff) 28 add_subdirectory(macho-dump) 29 add_subdirectory(llvm-objdump) 30 add_subdirectory(llvm-readobj) 31 add_subdirectory(llvm-rtdyld) 32 add_subdirectory(llvm-dwarfdump) 33 if( LLVM_USE_INTEL_JITEVENTS ) 34 add_subdirectory(llvm-jitlistener) 35 endif( LLVM_USE_INTEL_JITEVENTS ) 36 37 add_subdirectory(bugpoint) 38 add_subdirectory(bugpoint-passes) 39 add_subdirectory(llvm-bcanalyzer) 40 add_subdirectory(llvm-stress) 41 add_subdirectory(llvm-mcmarkup) 42 43 add_subdirectory(llvm-symbolizer) 44 45 add_subdirectory(obj2yaml) 46 add_subdirectory(yaml2obj) 47 48 if( NOT WIN32 ) 49 add_subdirectory(lto) 50 endif() 51 52 if( 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() 58 endif() 59 60 add_llvm_external_project(clang) 61 62 if( 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) 66 endif() 67 68 set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE) 69