-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix race condition when building LLVM for Windows (#28433)
`llvm-tblgen` and `llvm-config` both try to build in the same NATIVE directory and end up stomping on each other. Co-authored-by: Valentin Churavy <[email protected]>
- Loading branch information
Showing
2 changed files
with
26 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
commit c0be37352f6d91505d964a7d33ad79b40750d370 | ||
Author: Keno Fischer <[email protected]> | ||
Date: Fri Aug 3 21:03:32 2018 -0400 | ||
|
||
[CrossCompile] Add a dependency llvm-config-host -> llvm-tblgen-host | ||
|
||
These use the same working directory and without a dependency | ||
edge between them race to build some of the utility libraries | ||
causing build failures. | ||
|
||
diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt | ||
index f59402ac4b0..f3b4e60fd99 100644 | ||
--- a/tools/llvm-config/CMakeLists.txt | ||
+++ b/tools/llvm-config/CMakeLists.txt | ||
@@ -77,5 +77,10 @@ if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) | ||
add_custom_target(${project}NativeLLVMConfig DEPENDS ${${project}_LLVM_CONFIG_EXE}) | ||
add_dependencies(${project}NativeLLVMConfig CONFIGURE_LLVM_NATIVE) | ||
|
||
+ # Add a dependency on the host tblgen, which uses the same working | ||
+ # directory and with which we're otherwise racing to build some | ||
+ # of the utility libraries. | ||
+ add_dependencies(${project}NativeLLVMConfig LLVM-tablegen-host) | ||
+ | ||
add_dependencies(llvm-config ${project}NativeLLVMConfig) | ||
endif(CMAKE_CROSSCOMPILING) |