# in parallel builds. Please retain this ordering.
if( NOT MSVC )
- add_subdirectory(llvm-config)
+ # It is useful to build llvm-config before the other tools, so we
+ # have a fresh LibDeps.txt for regenerating the hard-coded library
+ # dependencies. llvm-config/CMakeLists.txt takes care of this but we
+ # must keep llvm-config as the first entry on the list of tools to
+ # be built.
+ add_subdirectory(llvm-config)
endif()
add_subdirectory(opt)
add_dependencies(llvm-config.target ${llvm_lib_targets})
+# Make sure that llvm-config builds before the llvm tools, so we have
+# LibDeps.txt and can use it for updating the hard-coded library
+# dependencies on cmake/modules/LLVMLibDeps.cmake when the tools'
+# build fail due to outdated dependencies:
+set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} llvm-config.target)
+
install(FILES ${LLVM_CONFIG}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE