import("//clang/utils/TableGen/clang_tablegen.gni")
clang_tablegen("Opcodes") {
visibility = [ ":AST" ]
args = [ "-gen-clang-opcodes" ]
td_file = "ByteCode/Opcodes.td"
}
clang_tablegen("AttrDocTable") {
visibility = [ ":AST" ]
args = [ "-gen-clang-attr-doc-table" ]
td_file = "//clang/include/clang/Basic/Attr.td"
}
static_library("AST") {
output_name = "clangAST"
configs += [ "//llvm/utils/gn/build:clang_code" ]
deps = [
":AttrDocTable",
":Opcodes",
"//clang/include/clang/AST:AttrImpl",
"//clang/include/clang/AST:AttrNodeTraverse",
"//clang/include/clang/AST:AttrTextNodeDump",
"//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/Frontend/OpenMP",
"//llvm/lib/Support",
"//llvm/lib/TargetParser",
]
# Generated files used in public headers should be in public_deps, the rest
# in regular deps.
public_deps = [
"//clang/include/clang/AST:AbstractBasicReader",
"//clang/include/clang/AST:AbstractBasicWriter",
"//clang/include/clang/AST:AbstractTypeReader",
"//clang/include/clang/AST:AbstractTypeWriter",
"//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",
"//clang/include/clang/AST:TypeNodes",
]
sources = [
"APValue.cpp",
"ASTConcept.cpp",
"ASTConsumer.cpp",
"ASTContext.cpp",
"ASTDiagnostic.cpp",
"ASTDumper.cpp",
"ASTImporter.cpp",
"ASTImporterLookupTable.cpp",
"ASTStructuralEquivalence.cpp",
"ASTTypeTraits.cpp",
"AttrDocTable.cpp",
"AttrImpl.cpp",
"Availability.cpp",
"ByteCode/ByteCodeEmitter.cpp",
"ByteCode/Compiler.cpp",
"ByteCode/Context.cpp",
"ByteCode/Descriptor.cpp",
"ByteCode/Disasm.cpp",
"ByteCode/DynamicAllocator.cpp",
"ByteCode/EvalEmitter.cpp",
"ByteCode/EvaluationResult.cpp",
"ByteCode/Floating.cpp",
"ByteCode/Frame.cpp",
"ByteCode/Function.cpp",
"ByteCode/FunctionPointer.cpp",
"ByteCode/Interp.cpp",
"ByteCode/InterpBlock.cpp",
"ByteCode/InterpBuiltin.cpp",
"ByteCode/InterpFrame.cpp",
"ByteCode/InterpShared.cpp",
"ByteCode/InterpStack.cpp",
"ByteCode/InterpState.cpp",
"ByteCode/MemberPointer.cpp",
"ByteCode/Pointer.cpp",
"ByteCode/PrimType.cpp",
"ByteCode/Program.cpp",
"ByteCode/Record.cpp",
"ByteCode/Source.cpp",
"ByteCode/State.cpp",
"CXXInheritance.cpp",
"Comment.cpp",
"CommentBriefParser.cpp",
"CommentCommandTraits.cpp",
"CommentLexer.cpp",
"CommentParser.cpp",
"CommentSema.cpp",
"ComparisonCategories.cpp",
"ComputeDependence.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",
"ExprConcepts.cpp",
"ExprConstant.cpp",
"ExprObjC.cpp",
"ExternalASTMerger.cpp",
"ExternalASTSource.cpp",
"FormatString.cpp",
"InheritViz.cpp",
"ItaniumCXXABI.cpp",
"ItaniumMangle.cpp",
"JSONNodeDumper.cpp",
"Mangle.cpp",
"MicrosoftCXXABI.cpp",
"MicrosoftMangle.cpp",
"NSAPI.cpp",
"NestedNameSpecifier.cpp",
"ODRDiagsEmitter.cpp",
"ODRHash.cpp",
"OSLog.cpp",
"OpenACCClause.cpp",
"OpenMPClause.cpp",
"ParentMap.cpp",
"ParentMapContext.cpp",
"PrintfFormatString.cpp",
"QualTypeNames.cpp",
"Randstruct.cpp",
"RawCommentList.cpp",
"RecordLayout.cpp",
"RecordLayoutBuilder.cpp",
"ScanfFormatString.cpp",
"SelectorLocationsKind.cpp",
"Stmt.cpp",
"StmtCXX.cpp",
"StmtIterator.cpp",
"StmtObjC.cpp",
"StmtOpenACC.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",
]
}