From a2c157eb3ebc5ed7e8037f7942991bd344a882cc Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Tue, 8 Dec 2020 20:40:59 +0100 Subject: [PATCH] [cmake] Make ExecutionEngine/Orc/Shared depend on intrinsics_gen to fix modules build The LLVM_ENABLE_MODULES builds currently randomly fail due depending on the headers generated by the intrinsics_gen target, but the current dependency only model the non-modules dependencies: ``` While building module 'LLVM_ExecutionEngine' imported from llvm-project/llvm/lib/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.cpp:13: While building module 'LLVM_intrinsic_gen' imported from llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h:17: In file included from :1: In file included from llvm-project/llvm/include/llvm/IR/Argument.h:18: llvm/include/llvm/IR/Attributes.h:75:14: fatal error: 'llvm/IR/Attributes.inc' file not found #include "llvm/IR/Attributes.inc" ^~~~~~~~~~~~~~~~~~~~~~~~ ``` Depending on whether intrinsics_gen runs before compiling Orc/Shared files we either fail or include an outdated Attributes.inc in module builds. The Clang modules require these additional dependencies as including/importing one module requires all includes headers by that module to be parsable. Differential Revision: https://reviews.llvm.org/D92873 --- llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt b/llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt index 808408c..62da0c7 100644 --- a/llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt +++ b/llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt @@ -5,6 +5,9 @@ add_llvm_component_library(LLVMOrcShared ADDITIONAL_HEADER_DIRS ${LLVM_MAIN_INCLUDE_DIR}/llvm/ExecutionEngine/Orc + DEPENDS + intrinsics_gen + LINK_COMPONENTS Support ) -- 2.7.4