group("default") {
deps = [
+ "//clang/lib/AST",
"//clang/lib/Basic",
+ "//clang/lib/Lex",
"//lld/test",
"//llvm/tools/llvm-undname",
]
--- /dev/null
+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" ]
+}
--- /dev/null
+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",
+ ]
+}
--- /dev/null
+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",
+ ]
+}
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") {