Chandler, I would like dare to say; I prefer "simple, tweakable, robust, and scalable" build scripts. ;)
FYI, I pushed my wip branches to github. https://github.com/chapuni/llvm-project/commits/llvmbuild/trunk https://github.com/chapuni/llvm-project/commits/cmakedep/trunk 2012/7/27 Chandler Carruth <[email protected]>: >> I think it would not be the right way that preceding(dependent) rules >> and actions satisfy generating headers. >> >> My intention is; Each of modules should have rules for itself to >> generate required headers. > > I think we fundamentally disagree here. What rules generate which AST > headers is an implementation detail of the AST library (for instance). I do > not want that information leaked to users of the AST library, they should > just depend on the AST library and be done with it. Also it is odd. The generated headers needed by clangAST should not be properties of clangAST, but public ones, I think. Anyway, on ToT, dependencies for tblgen'd headers are still inconsistent. 0001.patch.txt - I tried to prune header deps extremely. Would it satisfy you? >> I am working for; >> >> - LLVMBuild-izing clang > > Why? I think this would be a step in the wrong direction. Currently Clang > has no need of this -- adding it would add complexity and overhead to the > understanding of the build system for no tangible gain. I don't agree the word *wrong*. I am certain we could get more clear and robust rules to introduce LLLVMBuild to clang. Note, LLVMBuild-generated libdeps may be available also on autoconf build. One of options, I shall propose patches soon. I have expected many objections would come. :D >> - Cutting inter-libs deps > > I think we need to preserve proper layering and *simple* deps that are > easily understood. I also think we need the system to be simple, easy to > understand, and easy for developers to get right. What you're proposing > doesn't provide enough encapsulation for this. I would like to propose when I am ready. To be convinced, I will show you both patches and description then. >> With them, "make -j100" reaches loadavg to 100.0 :p > > I have no such load problems today. I think there must be some other cause > that only happens to be solved by the changes you are making, and frankly, I > don't think the changes justify the cost. It is not my point nor problem, excuse me. loadavg=100 is expected, and good to me. :) It says, 100 of processes could be processed in parallel, if I had 100-nodes distributed builder. (I have not tried hundreds of parallelism. 32GB of RAM is too small) In contrast, even with ninja -j100, loadavg reaches at most around 60, without cutting deps. As far as target_link_libraries() chokes dependencies, I would like to avoid it. I could restore target_link_libraries() when its behavior were improved to be scalabe. >> I shall propose patches when I am ready. Please discuss then. > > No, we should discuss here. ;] You're already committing changes that > violate the encapsulation we previously had, and otherwise shifting the > cmake build in a direction that we've talked about before, and I've > expressed specific objections to. I think we need to resolve the direction > issues now. =D I didn't suppose my last message was posted to the list for public discussion, excuse me. I don't understand what is violation. The patch is adding redundant dependencies, and it is not adding extra dependencies. I assumed it is "trivial but safe" and not specific to coming my patchset. ...Takumi
From c1bb7bc5790eafa4a2b992a9bef600c0f13a4523 Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi <[email protected]> Date: Fri, 27 Jul 2012 21:26:14 +0900 Subject: [PATCH] [CMake] Prune header deps as possible. I don't hope it would be applied. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------1.7.4.1" This is a multi-part message in MIME format. --------------1.7.4.1 Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit It assumes reverting r160849 and r160851. --- clang/lib/ARCMigrate/CMakeLists.txt | 8 -------- clang/lib/AST/CMakeLists.txt | 3 --- clang/lib/ASTMatchers/CMakeLists.txt | 1 - clang/lib/Analysis/CMakeLists.txt | 9 --------- clang/lib/Basic/CMakeLists.txt | 2 -- clang/lib/CodeGen/CMakeLists.txt | 8 -------- clang/lib/Driver/CMakeLists.txt | 2 -- clang/lib/Edit/CMakeLists.txt | 4 ---- clang/lib/Frontend/CMakeLists.txt | 12 ------------ clang/lib/FrontendTool/CMakeLists.txt | 4 ---- clang/lib/Lex/CMakeLists.txt | 1 - clang/lib/Parse/CMakeLists.txt | 6 ------ clang/lib/Rewrite/CMakeLists.txt | 8 -------- clang/lib/Sema/CMakeLists.txt | 8 -------- clang/lib/Serialization/CMakeLists.txt | 8 -------- clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt | 6 ------ clang/lib/StaticAnalyzer/Core/CMakeLists.txt | 8 -------- clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt | 10 ---------- clang/lib/Tooling/CMakeLists.txt | 4 ---- 19 files changed, 0 insertions(+), 112 deletions(-) --------------1.7.4.1 Content-Type: text/x-patch; name="0001-CMake-Prune-header-deps-as-possible.-I-don-t-hop.patch.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-CMake-Prune-header-deps-as-possible.-I-don-t-hop.patch.txt" diff --git a/clang/lib/ARCMigrate/CMakeLists.txt b/clang/lib/ARCMigrate/CMakeLists.txt index ee64148..c5bf08c 100644 --- a/clang/lib/ARCMigrate/CMakeLists.txt +++ b/clang/lib/ARCMigrate/CMakeLists.txt @@ -20,14 +20,6 @@ add_clang_library(clangARCMigrate TransZeroOutPropsInDealloc.cpp ) -add_dependencies(clangARCMigrate - ClangAttrClasses - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangStmtNodes - ) - target_link_libraries(clangARCMigrate clangBasic clangAST diff --git a/clang/lib/AST/CMakeLists.txt b/clang/lib/AST/CMakeLists.txt index dc99084..d52242f 100644 --- a/clang/lib/AST/CMakeLists.txt +++ b/clang/lib/AST/CMakeLists.txt @@ -59,14 +59,11 @@ add_clang_library(clangAST ) add_dependencies(clangAST - ClangARMNeon ClangAttrClasses ClangAttrList ClangAttrImpl ClangCommentNodes ClangDeclNodes - ClangDiagnosticAST - ClangDiagnosticComment ClangStmtNodes ) diff --git a/clang/lib/ASTMatchers/CMakeLists.txt b/clang/lib/ASTMatchers/CMakeLists.txt index 8fc7d4b..4fe9c22 100644 --- a/clang/lib/ASTMatchers/CMakeLists.txt +++ b/clang/lib/ASTMatchers/CMakeLists.txt @@ -8,7 +8,6 @@ add_clang_library(clangASTMatchers add_dependencies(clangASTMatchers ClangAttrClasses - ClangAttrImpl ClangAttrList ClangCommentNodes ClangDeclNodes diff --git a/clang/lib/Analysis/CMakeLists.txt b/clang/lib/Analysis/CMakeLists.txt index 89042db..96f927e 100644 --- a/clang/lib/Analysis/CMakeLists.txt +++ b/clang/lib/Analysis/CMakeLists.txt @@ -18,15 +18,6 @@ add_clang_library(clangAnalysis UninitializedValues.cpp ) -add_dependencies(clangAnalysis - ClangAttrClasses - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangDiagnosticAnalysis - ClangStmtNodes - ) - target_link_libraries(clangAnalysis clangBasic clangAST diff --git a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt index 73e693b..b638816 100644 --- a/clang/lib/Basic/CMakeLists.txt +++ b/clang/lib/Basic/CMakeLists.txt @@ -35,7 +35,6 @@ endif() add_dependencies(clangBasic ClangARMNeon - ClangAttrList ClangDiagnosticAnalysis ClangDiagnosticAST ClangDiagnosticComment @@ -43,7 +42,6 @@ add_dependencies(clangBasic ClangDiagnosticDriver ClangDiagnosticFrontend ClangDiagnosticGroups - ClangDiagnosticIndexName ClangDiagnosticLex ClangDiagnosticParse ClangDiagnosticSema diff --git a/clang/lib/CodeGen/CMakeLists.txt b/clang/lib/CodeGen/CMakeLists.txt index 6aa487d..b379c2e 100644 --- a/clang/lib/CodeGen/CMakeLists.txt +++ b/clang/lib/CodeGen/CMakeLists.txt @@ -50,14 +50,6 @@ add_clang_library(clangCodeGen TargetInfo.cpp ) -add_dependencies(clangCodeGen - ClangAttrClasses - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangStmtNodes - ) - target_link_libraries(clangCodeGen clangBasic clangAST diff --git a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt index ee832d2..2d315c5 100644 --- a/clang/lib/Driver/CMakeLists.txt +++ b/clang/lib/Driver/CMakeLists.txt @@ -19,9 +19,7 @@ add_clang_library(clangDriver ) add_dependencies(clangDriver - ClangAttrList ClangCC1AsOptions - ClangDiagnosticDriver ClangDriverOptions ) diff --git a/clang/lib/Edit/CMakeLists.txt b/clang/lib/Edit/CMakeLists.txt index 391c571..2bb63a7 100644 --- a/clang/lib/Edit/CMakeLists.txt +++ b/clang/lib/Edit/CMakeLists.txt @@ -4,10 +4,6 @@ add_clang_library(clangEdit RewriteObjCFoundationAPI.cpp ) -add_dependencies(clangEdit - ClangDiagnosticCommon - ) - target_link_libraries(clangEdit clangBasic clangAST diff --git a/clang/lib/Frontend/CMakeLists.txt b/clang/lib/Frontend/CMakeLists.txt index 58a8f47..baa67b9 100644 --- a/clang/lib/Frontend/CMakeLists.txt +++ b/clang/lib/Frontend/CMakeLists.txt @@ -30,18 +30,6 @@ add_clang_library(clangFrontend Warnings.cpp ) -add_dependencies(clangFrontend - ClangAttrClasses - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangDiagnosticFrontend - ClangDiagnosticLex - ClangDiagnosticSema - ClangDriverOptions - ClangStmtNodes - ) - target_link_libraries(clangFrontend clangAST clangBasic diff --git a/clang/lib/FrontendTool/CMakeLists.txt b/clang/lib/FrontendTool/CMakeLists.txt index 47cdf17..c5c123b 100644 --- a/clang/lib/FrontendTool/CMakeLists.txt +++ b/clang/lib/FrontendTool/CMakeLists.txt @@ -2,10 +2,6 @@ add_clang_library(clangFrontendTool ExecuteCompilerInvocation.cpp ) -add_dependencies(clangFrontendTool - ClangDiagnosticFrontend - ) - target_link_libraries(clangFrontendTool clangDriver clangFrontend diff --git a/clang/lib/Lex/CMakeLists.txt b/clang/lib/Lex/CMakeLists.txt index 7e19fd6..9ee8491 100644 --- a/clang/lib/Lex/CMakeLists.txt +++ b/clang/lib/Lex/CMakeLists.txt @@ -28,7 +28,6 @@ add_clang_library(clangLex add_dependencies(clangLex ClangAttrSpellings - ClangDiagnosticLex ) target_link_libraries(clangLex diff --git a/clang/lib/Parse/CMakeLists.txt b/clang/lib/Parse/CMakeLists.txt index 941fce0..d072e13 100644 --- a/clang/lib/Parse/CMakeLists.txt +++ b/clang/lib/Parse/CMakeLists.txt @@ -15,13 +15,7 @@ add_clang_library(clangParse ) add_dependencies(clangParse - ClangAttrClasses ClangAttrLateParsed - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangDiagnosticParse - ClangStmtNodes ) target_link_libraries(clangParse diff --git a/clang/lib/Rewrite/CMakeLists.txt b/clang/lib/Rewrite/CMakeLists.txt index d8d90fa..3494fd4 100644 --- a/clang/lib/Rewrite/CMakeLists.txt +++ b/clang/lib/Rewrite/CMakeLists.txt @@ -14,14 +14,6 @@ add_clang_library(clangRewrite TokenRewriter.cpp ) -add_dependencies(clangRewrite - ClangAttrClasses - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangStmtNodes - ) - target_link_libraries(clangRewrite clangBasic clangAST diff --git a/clang/lib/Sema/CMakeLists.txt b/clang/lib/Sema/CMakeLists.txt index 515c5b6..3d86c9c 100644 --- a/clang/lib/Sema/CMakeLists.txt +++ b/clang/lib/Sema/CMakeLists.txt @@ -43,17 +43,9 @@ add_clang_library(clangSema ) add_dependencies(clangSema - ClangARMNeon - ClangAttrClasses - ClangAttrList ClangAttrParsedAttrList ClangAttrParsedAttrKinds ClangAttrTemplateInstantiate - ClangCommentNodes - ClangDeclNodes - ClangDiagnosticComment - ClangDiagnosticSema - ClangStmtNodes ) target_link_libraries(clangSema diff --git a/clang/lib/Serialization/CMakeLists.txt b/clang/lib/Serialization/CMakeLists.txt index 874ce6e..7a3daf1 100644 --- a/clang/lib/Serialization/CMakeLists.txt +++ b/clang/lib/Serialization/CMakeLists.txt @@ -14,16 +14,8 @@ add_clang_library(clangSerialization ) add_dependencies(clangSerialization - ClangAttrClasses - ClangAttrList ClangAttrPCHRead ClangAttrPCHWrite - ClangCommentNodes - ClangDeclNodes - ClangDiagnosticLex - ClangDiagnosticSema - ClangDiagnosticSerialization - ClangStmtNodes ) target_link_libraries(clangSerialization diff --git a/clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt b/clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt index 16ba5da..4159800 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt +++ b/clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt @@ -70,12 +70,6 @@ add_clang_library(clangStaticAnalyzerCheckers ) add_dependencies(clangStaticAnalyzerCheckers - clangStaticAnalyzerCore - ClangAttrClasses - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangStmtNodes ClangSACheckers ) diff --git a/clang/lib/StaticAnalyzer/Core/CMakeLists.txt b/clang/lib/StaticAnalyzer/Core/CMakeLists.txt index e4f70a9..0c59387 100644 --- a/clang/lib/StaticAnalyzer/Core/CMakeLists.txt +++ b/clang/lib/StaticAnalyzer/Core/CMakeLists.txt @@ -40,14 +40,6 @@ add_clang_library(clangStaticAnalyzerCore TextPathDiagnostics.cpp ) -add_dependencies(clangStaticAnalyzerCore - ClangAttrClasses - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangStmtNodes - ) - target_link_libraries(clangStaticAnalyzerCore clangBasic clangLex diff --git a/clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt b/clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt index c45326f..4000e96 100644 --- a/clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt +++ b/clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt @@ -8,16 +8,6 @@ add_clang_library(clangStaticAnalyzerFrontend FrontendActions.cpp ) -add_dependencies(clangStaticAnalyzerFrontend - clangStaticAnalyzerCheckers - clangStaticAnalyzerCore - ClangAttrClasses - ClangAttrList - ClangCommentNodes - ClangDeclNodes - ClangStmtNodes - ) - target_link_libraries(clangStaticAnalyzerFrontend clangBasic clangLex diff --git a/clang/lib/Tooling/CMakeLists.txt b/clang/lib/Tooling/CMakeLists.txt index 7e3547b..48c6690 100644 --- a/clang/lib/Tooling/CMakeLists.txt +++ b/clang/lib/Tooling/CMakeLists.txt @@ -9,10 +9,6 @@ add_clang_library(clangTooling Tooling.cpp ) -add_dependencies(clangTooling - ClangDiagnosticCommon - ) - target_link_libraries(clangTooling clangBasic clangFrontend --------------1.7.4.1--
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
