]> granicus.if.org Git - llvm/commitdiff
[gn build] Add build files for clang/lib/Lex and clang/lib/AST
authorNico Weber <nicolasweber@gmx.de>
Thu, 20 Dec 2018 13:38:36 +0000 (13:38 +0000)
committerNico Weber <nicolasweber@gmx.de>
Thu, 20 Dec 2018 13:38:36 +0000 (13:38 +0000)
Differential Revision: https://reviews.llvm.org/D55912

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349756 91177308-0d34-0410-b5e6-96231b3b80d8

utils/gn/secondary/BUILD.gn
utils/gn/secondary/clang/include/clang/AST/BUILD.gn [new file with mode: 0644]
utils/gn/secondary/clang/lib/AST/BUILD.gn [new file with mode: 0644]
utils/gn/secondary/clang/lib/Lex/BUILD.gn [new file with mode: 0644]
utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn

index 69f645ad1020350d4747d2efe7427d88de369b55..1a2a366b594f8065885d910336a9ce8ae92ce05c 100644 (file)
@@ -1,6 +1,8 @@
 group("default") {
   deps = [
+    "//clang/lib/AST",
     "//clang/lib/Basic",
+    "//clang/lib/Lex",
     "//lld/test",
     "//llvm/tools/llvm-undname",
   ]
diff --git a/utils/gn/secondary/clang/include/clang/AST/BUILD.gn b/utils/gn/secondary/clang/include/clang/AST/BUILD.gn
new file mode 100644 (file)
index 0000000..5fa083f
--- /dev/null
@@ -0,0 +1,79 @@
+import("//clang/utils/TableGen/clang_tablegen.gni")
+
+clang_tablegen("Attrs") {
+  args = [
+    "-gen-clang-attr-classes",
+    "-I",
+    rebase_path("../..", root_out_dir),
+  ]
+  td_file = "../Basic/Attr.td"
+}
+
+clang_tablegen("AttrImpl") {
+  args = [
+    "-gen-clang-attr-impl",
+    "-I",
+    rebase_path("../..", root_out_dir),
+  ]
+  td_file = "../Basic/Attr.td"
+}
+
+clang_tablegen("AttrDump") {
+  args = [
+    "-gen-clang-attr-dump",
+    "-I",
+    rebase_path("../..", root_out_dir),
+  ]
+  td_file = "../Basic/Attr.td"
+}
+
+clang_tablegen("AttrVisitor") {
+  args = [
+    "-gen-clang-attr-ast-visitor",
+    "-I",
+    rebase_path("../..", root_out_dir),
+  ]
+  td_file = "../Basic/Attr.td"
+}
+
+clang_tablegen("StmtNodes") {
+  args = [ "-gen-clang-stmt-nodes" ]
+  td_file = "../Basic/StmtNodes.td"
+}
+
+clang_tablegen("DeclNodes") {
+  args = [ "-gen-clang-decl-nodes" ]
+  td_file = "../Basic/DeclNodes.td"
+}
+
+clang_tablegen("CommentNodes") {
+  args = [ "-gen-clang-comment-nodes" ]
+  td_file = "../Basic/CommentNodes.td"
+}
+
+clang_tablegen("CommentHTMLTags") {
+  args = [ "-gen-clang-comment-html-tags" ]
+}
+
+clang_tablegen("CommentHTMLTagsProperties") {
+  args = [ "-gen-clang-comment-html-tags-properties" ]
+  td_file = "CommentHTMLTags.td"
+}
+
+clang_tablegen("CommentHTMLNamedCharacterReferences") {
+  args = [ "-gen-clang-comment-html-named-character-references" ]
+}
+
+clang_tablegen("CommentCommandInfo") {
+  args = [ "-gen-clang-comment-command-info" ]
+  td_file = "CommentCommands.td"
+}
+
+clang_tablegen("CommentCommandList") {
+  args = [ "-gen-clang-comment-command-list" ]
+  td_file = "CommentCommands.td"
+}
+
+clang_tablegen("StmtDataCollectors") {
+  args = [ "-gen-clang-data-collectors" ]
+}
diff --git a/utils/gn/secondary/clang/lib/AST/BUILD.gn b/utils/gn/secondary/clang/lib/AST/BUILD.gn
new file mode 100644 (file)
index 0000000..ee884f9
--- /dev/null
@@ -0,0 +1,101 @@
+static_library("AST") {
+  output_name = "clangAST"
+  configs += [ "//llvm/utils/gn/build:clang_code" ]
+  deps = [
+    "//clang/include/clang/AST:AttrDump",
+    "//clang/include/clang/AST:AttrImpl",
+    "//clang/include/clang/AST:CommentCommandInfo",
+    "//clang/include/clang/AST:CommentHTMLNamedCharacterReferences",
+    "//clang/include/clang/AST:CommentHTMLTags",
+    "//clang/include/clang/AST:CommentHTMLTagsProperties",
+    "//clang/include/clang/AST:DeclNodes",
+    "//clang/lib/Basic",
+    "//clang/lib/Lex",
+    "//llvm/lib/BinaryFormat",
+    "//llvm/lib/Support",
+  ]
+
+  # Generated files used in public headers should be in public_deps, the rest
+  # in regular deps.
+  public_deps = [
+    "//clang/include/clang/AST:AttrVisitor",
+    "//clang/include/clang/AST:Attrs",
+    "//clang/include/clang/AST:CommentCommandList",
+    "//clang/include/clang/AST:CommentNodes",
+    "//clang/include/clang/AST:StmtNodes",
+  ]
+  sources = [
+    "APValue.cpp",
+    "ASTConsumer.cpp",
+    "ASTContext.cpp",
+    "ASTDiagnostic.cpp",
+    "ASTDumper.cpp",
+    "ASTImporter.cpp",
+    "ASTImporterLookupTable.cpp",
+    "ASTStructuralEquivalence.cpp",
+    "ASTTypeTraits.cpp",
+    "AttrImpl.cpp",
+    "CXXInheritance.cpp",
+    "Comment.cpp",
+    "CommentBriefParser.cpp",
+    "CommentCommandTraits.cpp",
+    "CommentLexer.cpp",
+    "CommentParser.cpp",
+    "CommentSema.cpp",
+    "ComparisonCategories.cpp",
+    "DataCollection.cpp",
+    "Decl.cpp",
+    "DeclBase.cpp",
+    "DeclCXX.cpp",
+    "DeclFriend.cpp",
+    "DeclGroup.cpp",
+    "DeclObjC.cpp",
+    "DeclOpenMP.cpp",
+    "DeclPrinter.cpp",
+    "DeclTemplate.cpp",
+    "DeclarationName.cpp",
+    "Expr.cpp",
+    "ExprCXX.cpp",
+    "ExprClassification.cpp",
+    "ExprConstant.cpp",
+    "ExprObjC.cpp",
+    "ExternalASTMerger.cpp",
+    "ExternalASTSource.cpp",
+    "FormatString.cpp",
+    "InheritViz.cpp",
+    "ItaniumCXXABI.cpp",
+    "ItaniumMangle.cpp",
+    "Mangle.cpp",
+    "MicrosoftCXXABI.cpp",
+    "MicrosoftMangle.cpp",
+    "NSAPI.cpp",
+    "NestedNameSpecifier.cpp",
+    "ODRHash.cpp",
+    "OSLog.cpp",
+    "OpenMPClause.cpp",
+    "ParentMap.cpp",
+    "PrintfFormatString.cpp",
+    "QualTypeNames.cpp",
+    "RawCommentList.cpp",
+    "RecordLayout.cpp",
+    "RecordLayoutBuilder.cpp",
+    "ScanfFormatString.cpp",
+    "SelectorLocationsKind.cpp",
+    "Stmt.cpp",
+    "StmtCXX.cpp",
+    "StmtIterator.cpp",
+    "StmtObjC.cpp",
+    "StmtOpenMP.cpp",
+    "StmtPrinter.cpp",
+    "StmtProfile.cpp",
+    "StmtViz.cpp",
+    "TemplateBase.cpp",
+    "TemplateName.cpp",
+    "TextNodeDumper.cpp",
+    "Type.cpp",
+    "TypeLoc.cpp",
+    "TypePrinter.cpp",
+    "VTTBuilder.cpp",
+    "VTableBuilder.cpp",
+  ]
+}
diff --git a/utils/gn/secondary/clang/lib/Lex/BUILD.gn b/utils/gn/secondary/clang/lib/Lex/BUILD.gn
new file mode 100644 (file)
index 0000000..2934e9c
--- /dev/null
@@ -0,0 +1,31 @@
+static_library("Lex") {
+  output_name = "clangLex"
+  configs += [ "//llvm/utils/gn/build:clang_code" ]
+  deps = [
+    "//clang/lib/Basic",
+    "//llvm/lib/Support",
+  ]
+  sources = [
+    "HeaderMap.cpp",
+    "HeaderSearch.cpp",
+    "Lexer.cpp",
+    "LiteralSupport.cpp",
+    "MacroArgs.cpp",
+    "MacroInfo.cpp",
+    "ModuleMap.cpp",
+    "PPCaching.cpp",
+    "PPCallbacks.cpp",
+    "PPConditionalDirectiveRecord.cpp",
+    "PPDirectives.cpp",
+    "PPExpressions.cpp",
+    "PPLexerChange.cpp",
+    "PPMacroExpansion.cpp",
+    "Pragma.cpp",
+    "PreprocessingRecord.cpp",
+    "Preprocessor.cpp",
+    "PreprocessorLexer.cpp",
+    "ScratchBuffer.cpp",
+    "TokenConcatenation.cpp",
+    "TokenLexer.cpp",
+  ]
+}
index 38d4b95f4bb0216087db4aedd550420d04022a3e..a798c4f3d3e762c7532a89e0ac30e1993af5905a 100644 (file)
@@ -39,9 +39,13 @@ action("BuildVariables.inc") {
     l = "-l"
     lib = ""
   }
+
   # Windows doesn't use any of libxml2,terminfo, zlib by default.
   # Make GN not warn about these variables being unused.
-  not_needed(["l", "lib"])
+  not_needed([
+               "l",
+               "lib",
+             ])
 
   system_libs = ""
   if (host_os == "win") {