r201842 - [CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce CLANG_TABLEGEN_TARGETS.

Chandler Carruth chandlerc at google.com
Fri Feb 21 00:12:35 PST 2014


On Fri, Feb 21, 2014 at 12:00 AM, NAKAMURA Takumi <geek4civic at gmail.com>wrote:

> Author: chapuni
> Date: Fri Feb 21 01:59:59 2014
> New Revision: 201842
>
> URL: http://llvm.org/viewvc/llvm-project?rev=201842&view=rev
> Log:
> [CMake] Get rid of explicit dependencies to include/clang/*.inc and
> introduce CLANG_TABLEGEN_TARGETS.
>
> This does;
>   - clang_tablegen() adds each tblgen'd target to global property
> CLANG_TABLEGEN_TARGETS as list.
>   - List of targets is added to LLVM_COMMON_DEPENDS.
>   - all clang libraries and targets depend on generated headers.
>
> You might wonder this would be regression, but in fact, this is little
> loss.
>   - Almost all of clang libraries depend on tblgen'd files and
> clang-tblgen.
>   - clang-tblgen may cause short stall-out but doesn't cause unconditional
> rebuild.
>   - Each library's dependencies to tblgen'd files might vary along
> headers' structure.
>     It made hard to track and update *really optimal* dependencies.
>
> Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS.
>

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.

Implicit, silent dependencies make the entire thing much harder to
understand and track. I would like direct and explicit dependencies instead.

-Chandler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140221/66f46757/attachment.html>


More information about the cfe-commits mailing list