mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-03 03:11:27 +00:00
Fix missing build dependency on omp_gen.
Summary: `include/llvm/Frontend/OpenMP/CMakeLists.txt` creates a new target called `omp_gen` which builds the generated include file `OMP.h.inc`. This target must therefore be a dependency of every compilation step whose transitive #include dependencies contain `OMP.h.inc`, or else it's possible for builds to fail if Ninja (or make or whatever) schedules that compilation step before building `OMP.h.inc` at all. A few of those dependencies are currently missing, which leads to intermittent build failures, depending on the order that Ninja (or whatever) happens to schedule its commands. As far as I can see, compiles in `clang/lib/CodeGen`, `clang/lib/Frontend`, and `clang/examples` all depend transitivily on `OMP.h.inc` (usually via `clang/AST/AST.h`), but don't have the formal dependency in the ninja graph. Adding `omp_gen` to the dependencies of `clang-tablegen-targets` seems to be the way to get the missing dependency into the `clang/examples` subdirectory. This also fixes the other two clang subdirectories, as far as I can see. Reviewers: clementval, thakis, chandlerc, jdoerfert Reviewed By: clementval Subscribers: cfe-commits, jdenny, mgorny, sstefan1, llvm-commits Tags: #llvm, #clang Differential Revision: https://reviews.llvm.org/D82659
This commit is contained in:
parent
c7df35d2b2
commit
9e6f19fd83
@ -517,7 +517,10 @@ add_subdirectory(include)
|
||||
|
||||
# All targets below may depend on all tablegen'd files.
|
||||
get_property(CLANG_TABLEGEN_TARGETS GLOBAL PROPERTY CLANG_TABLEGEN_TARGETS)
|
||||
add_custom_target(clang-tablegen-targets DEPENDS ${CLANG_TABLEGEN_TARGETS})
|
||||
add_custom_target(clang-tablegen-targets
|
||||
DEPENDS
|
||||
omp_gen
|
||||
${CLANG_TABLEGEN_TARGETS})
|
||||
set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "Misc")
|
||||
list(APPEND LLVM_COMMON_DEPENDS clang-tablegen-targets)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user