[llvm] r249911 - [CMake] Parallel make breaks on native tablegen
Chris Bieneman via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 9 15:26:05 PDT 2015
Author: cbieneman
Date: Fri Oct 9 17:26:04 2015
New Revision: 249911
URL: http://llvm.org/viewvc/llvm-project?rev=249911&view=rev
Log:
[CMake] Parallel make breaks on native tablegen
Patch by Alex Wang
This patch resolves a parallelization issue that occurs when native tablegen targets are built at the same time. They both try to build libSupport and clobber each other causing the builds to fail.
Modified:
llvm/trunk/cmake/modules/TableGen.cmake
Modified: llvm/trunk/cmake/modules/TableGen.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/TableGen.cmake?rev=249911&r1=249910&r2=249911&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/TableGen.cmake (original)
+++ llvm/trunk/cmake/modules/TableGen.cmake Fri Oct 9 17:26:04 2015
@@ -70,6 +70,15 @@ function(add_public_tablegen_target targ
set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} ${target} PARENT_SCOPE)
endfunction()
+if(LLVM_USE_HOST_TOOLS)
+ add_custom_command(OUTPUT LIB_LLVMSUPPORT
+ COMMAND ${CMAKE_COMMAND} --build . --target LLVMSupport --config Release
+ DEPENDS CONFIGURE_LLVM_NATIVE
+ WORKING_DIRECTORY ${LLVM_NATIVE_BUILD}
+ COMMENT "Building libLLVMSupport for native TableGen...")
+ add_custom_target(NATIVE_LIB_LLVMSUPPORT DEPENDS LIB_LLVMSUPPORT)
+endif(LLVM_USE_HOST_TOOLS)
+
macro(add_tablegen target project)
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
@@ -109,7 +118,7 @@ macro(add_tablegen target project)
add_custom_command(OUTPUT ${${project}_TABLEGEN_EXE}
COMMAND ${CMAKE_COMMAND} --build . --target ${target} --config Release
- DEPENDS CONFIGURE_LLVM_NATIVE ${target}
+ DEPENDS ${target} NATIVE_LIB_LLVMSUPPORT
WORKING_DIRECTORY ${LLVM_NATIVE_BUILD}
COMMENT "Building native TableGen...")
add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE})
More information about the llvm-commits
mailing list