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-ranlib)
18add_subdirectory(llvm-ar)
19add_subdirectory(llvm-nm)
20add_subdirectory(llvm-size)
21
22add_subdirectory(llvm-cov)
23add_subdirectory(llvm-prof)
24add_subdirectory(llvm-link)
25add_subdirectory(lli)
26
27add_subdirectory(llvm-extract)
28add_subdirectory(llvm-diff)
29add_subdirectory(macho-dump)
30add_subdirectory(llvm-objdump)
31add_subdirectory(llvm-readobj)
32add_subdirectory(llvm-rtdyld)
33add_subdirectory(llvm-dwarfdump)
34
35add_subdirectory(bugpoint)
36add_subdirectory(bugpoint-passes)
37add_subdirectory(llvm-bcanalyzer)
38add_subdirectory(llvm-stress)
39
40if( NOT WIN32 )
41  add_subdirectory(lto)
42endif()
43
44if( LLVM_ENABLE_PIC )
45  # TODO: support other systems:
46  if( CMAKE_SYSTEM_NAME STREQUAL "Linux" )
47    add_subdirectory(gold)
48  endif()
49endif()
50
51add_llvm_external_project(clang)
52add_llvm_external_project(lld)
53add_llvm_external_project(polly)
54
55set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)
56