[cfe-commits] r160851 - in /cfe/trunk/lib: ARCMigrate/CMakeLists.txt AST/CMakeLists.txt Analysis/CMakeLists.txt CodeGen/CMakeLists.txt Driver/CMakeLists.txt Edit/CMakeLists.txt Frontend/CMakeLists.txt FrontendTool/CMakeLists.txt Lex/CMakeLists.tx
NAKAMURA Takumi
geek4civic at gmail.com
Fri Jul 27 19:15:41 PDT 2012
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 <chandlerc at google.com>:
>> 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
-------------- next part --------------
From c1bb7bc5790eafa4a2b992a9bef600c0f13a4523 Mon Sep 17 00:00:00 2001
From: NAKAMURA Takumi <geek4civic at gmail.com>
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--
More information about the cfe-commits
mailing list