set(LLVM_TOOL_LLVM_JITLISTENER_BUILD Off)
endif()
-if(CYGWIN OR NOT LLVM_ENABLE_PIC)
+if(CYGWIN)
set(LLVM_TOOL_LTO_BUILD Off)
set(LLVM_TOOL_LLVM_LTO_BUILD Off)
endif()
+# Add LTO, llvm-ar, and llvm-config before clang, ExternalProject requires
+# targets specified in DEPENDS to exist before the call to ExternalProject_Add.
+add_llvm_tool_subdirectory(lto)
+add_llvm_tool_subdirectory(llvm-ar)
+add_llvm_tool_subdirectory(llvm-config)
+
+# Projects supported via LLVM_EXTERNAL_*_SOURCE_DIR need to be explicitly
+# specified.
+add_llvm_external_project(clang)
+add_llvm_external_project(llgo)
+add_llvm_external_project(lld)
+add_llvm_external_project(lldb)
+
# Automatically add remaining sub-directories containing a 'CMakeLists.txt'
# file as external projects.
add_llvm_implicit_projects()