<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 21, 2014 at 12:00 AM, NAKAMURA Takumi <span dir="ltr"><<a href="mailto:geek4civic@gmail.com" target="_blank">geek4civic@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1dz" class="a3s" style="overflow:hidden">Author: chapuni<br>
Date: Fri Feb 21 01:59:59 2014<br>
New Revision: 201842<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=201842&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=201842&view=rev</a><br>
Log:<br>
[CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce CLANG_TABLEGEN_TARGETS.<br>
<br>
This does;<br>
  - clang_tablegen() adds each tblgen'd target to global property CLANG_TABLEGEN_TARGETS as list.<br>
  - List of targets is added to LLVM_COMMON_DEPENDS.<br>
  - all clang libraries and targets depend on generated headers.<br>
<br>
You might wonder this would be regression, but in fact, this is little loss.<br>
  - Almost all of clang libraries depend on tblgen'd files and clang-tblgen.<br>
  - clang-tblgen may cause short stall-out but doesn't cause unconditional rebuild.<br>
  - Each library's dependencies to tblgen'd files might vary along headers' structure.<br>
    It made hard to track and update *really optimal* dependencies.<br>
<br>
Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS.</div></blockquote></div><br>I really don't understand this. I specifically worked to make Clang's tablegen dependencies be explicit. You've said why not doing that doesn't cause huge problems, but not at all why it is a good idea.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Implicit, silent dependencies make the entire thing much harder to understand and track. I would like direct and explicit dependencies instead.</div><div class="gmail_extra">
<br></div><div class="gmail_extra">-Chandler</div></div>