<div dir="ltr">I am afraid if it broke clang standalone build. Investigating.<div>See also; <a href="http://bb.pgr.jp/builders/msbuild-llvmclang-x64-msc19-DA/builds/1565">http://bb.pgr.jp/builders/msbuild-llvmclang-x64-msc19-DA/builds/1565</a></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Dec 6, 2016 at 1:55 PM Chris Bieneman via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: cbieneman<br class="gmail_msg">
Date: Mon Dec  5 22:45:11 2016<br class="gmail_msg">
New Revision: 288770<br class="gmail_msg">
<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=288770&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=288770&view=rev</a><br class="gmail_msg">
Log:<br class="gmail_msg">
[CMake] Cleanup TableGen include flags<br class="gmail_msg">
<br class="gmail_msg">
It is kinda crazy to have llvm/include and llvm/lib/Target in the include path for every tablegen invocation for every tablegen-like tool.<br class="gmail_msg">
<br class="gmail_msg">
This patch removes those flags from the tablgen function that is called everywhere by instead creating a variable LLVM_TABLEGEN_FLAGS which is setup in the LLVM source directories.<br class="gmail_msg">
<br class="gmail_msg">
This removes TableGen.cmake's dependency on LLVM_MAIN_SRC_DIR, and LLVM_MAIN_INCLUDE_DIR.<br class="gmail_msg">
<br class="gmail_msg">
Modified:<br class="gmail_msg">
    llvm/trunk/CMakeLists.txt<br class="gmail_msg">
    llvm/trunk/cmake/modules/TableGen.cmake<br class="gmail_msg">
    llvm/trunk/lib/Target/CMakeLists.txt<br class="gmail_msg">
<br class="gmail_msg">
Modified: llvm/trunk/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=288770&r1=288769&r2=288770&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=288770&r1=288769&r2=288770&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- llvm/trunk/CMakeLists.txt (original)<br class="gmail_msg">
+++ llvm/trunk/CMakeLists.txt Mon Dec  5 22:45:11 2016<br class="gmail_msg">
@@ -803,6 +803,8 @@ endif()<br class="gmail_msg">
 include(AddLLVM)<br class="gmail_msg">
 include(TableGen)<br class="gmail_msg">
<br class="gmail_msg">
+set(LLVM_TABLEGEN_FLAGS -I ${LLVM_MAIN_INCLUDE_DIR})<br class="gmail_msg">
+<br class="gmail_msg">
 if( MINGW )<br class="gmail_msg">
   # People report that -O3 is unreliable on MinGW. The traditional<br class="gmail_msg">
   # build also uses -O2 for that reason:<br class="gmail_msg">
<br class="gmail_msg">
Modified: llvm/trunk/cmake/modules/TableGen.cmake<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/TableGen.cmake?rev=288770&r1=288769&r2=288770&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/TableGen.cmake?rev=288770&r1=288769&r2=288770&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- llvm/trunk/cmake/modules/TableGen.cmake (original)<br class="gmail_msg">
+++ llvm/trunk/cmake/modules/TableGen.cmake Mon Dec  5 22:45:11 2016<br class="gmail_msg">
@@ -6,15 +6,9 @@ include(LLVMExternalProjectUtils)<br class="gmail_msg">
<br class="gmail_msg">
 function(tablegen project ofn)<br class="gmail_msg">
   # Validate calling context.<br class="gmail_msg">
-  foreach(v<br class="gmail_msg">
-      ${project}_TABLEGEN_EXE<br class="gmail_msg">
-      LLVM_MAIN_SRC_DIR<br class="gmail_msg">
-      LLVM_MAIN_INCLUDE_DIR<br class="gmail_msg">
-      )<br class="gmail_msg">
-    if(NOT ${v})<br class="gmail_msg">
-      message(FATAL_ERROR "${v} not set")<br class="gmail_msg">
-    endif()<br class="gmail_msg">
-  endforeach()<br class="gmail_msg">
+  if(NOT ${project}_TABLEGEN_EXE)<br class="gmail_msg">
+    message(FATAL_ERROR "${project}_TABLEGEN_EXE not set")<br class="gmail_msg">
+  endif()<br class="gmail_msg">
<br class="gmail_msg">
   file(GLOB local_tds "*.td")<br class="gmail_msg">
   file(GLOB_RECURSE global_tds "${LLVM_MAIN_INCLUDE_DIR}/llvm/*.td")<br class="gmail_msg">
@@ -28,7 +22,7 @@ function(tablegen project ofn)<br class="gmail_msg">
   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp<br class="gmail_msg">
     # Generate tablegen output in a temporary file.<br class="gmail_msg">
     COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}<br class="gmail_msg">
-    -I ${LLVM_MAIN_SRC_DIR}/lib/Target -I ${LLVM_MAIN_INCLUDE_DIR}<br class="gmail_msg">
+    ${LLVM_TABLEGEN_FLAGS}<br class="gmail_msg">
     ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}<br class="gmail_msg">
     -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp<br class="gmail_msg">
     # The file in LLVM_TARGET_DEFINITIONS may be not in the current<br class="gmail_msg">
<br class="gmail_msg">
Modified: llvm/trunk/lib/Target/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CMakeLists.txt?rev=288770&r1=288769&r2=288770&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CMakeLists.txt?rev=288770&r1=288769&r2=288770&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- llvm/trunk/lib/Target/CMakeLists.txt (original)<br class="gmail_msg">
+++ llvm/trunk/lib/Target/CMakeLists.txt Mon Dec  5 22:45:11 2016<br class="gmail_msg">
@@ -1,5 +1,7 @@<br class="gmail_msg">
 list(APPEND LLVM_COMMON_DEPENDS intrinsics_gen)<br class="gmail_msg">
<br class="gmail_msg">
+list(APPEND LLVM_TABLEGEN_FLAGS -I ${LLVM_MAIN_SRC_DIR}/lib/Target)<br class="gmail_msg">
+<br class="gmail_msg">
 add_llvm_library(LLVMTarget<br class="gmail_msg">
   Target.cpp<br class="gmail_msg">
   TargetIntrinsicInfo.cpp<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
llvm-commits mailing list<br class="gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div>