| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 
 | import("//clang-tools-extra/clangd/quality/gen_decision_forest.gni")
import("//clang-tools-extra/clangd/xpc/enable.gni")
import("//llvm/utils/gn/build/write_cmake_config.gni")
config("features_config") {
  # To pick up the generated inc files.
  include_dirs = [ target_gen_dir ]
  visibility = [ ":features" ]
}
write_cmake_config("features") {
  input = "Features.inc.in"
  output = "$target_gen_dir/Features.inc"
  values = [
    "CLANGD_ENABLE_REMOTE=0",
    "CLANGD_MALLOC_TRIM=1",
    "CLANGD_TIDY_CHECKS=1",
    "ENABLE_GRPC_REFLECTION=0",
  ]
  if (clangd_build_xpc) {
    values += [ "CLANGD_BUILD_XPC=1" ]
  } else {
    values += [ "CLANGD_BUILD_XPC=0" ]
  }
  public_configs = [ ":features_config" ]
}
gen_decision_forest("CompletionModel") {
  model = "quality/model"
  filename = "CompletionModel"
  cpp_class = "clang::clangd::Example"
  deps = [ "//clang/lib/Sema" ]
}
static_library("clangd") {
  output_name = "clangDaemon"
  configs += [ "//llvm/utils/gn/build:clang_code" ]
  deps = [
    ":CompletionModel",
    ":features",
    "//clang-tools-extra/clang-tidy",
    "//clang-tools-extra/clang-tidy:all-checks",
    "//clang-tools-extra/clang-tidy:clang-tidy-config",
    "//clang-tools-extra/clangd/support",
    "//clang/lib/AST",
    "//clang/lib/ASTMatchers",
    "//clang/lib/Basic",
    "//clang/lib/Driver",
    "//clang/lib/Format",
    "//clang/lib/Frontend",
    "//clang/lib/Index",
    "//clang/lib/Lex",
    "//clang/lib/Sema",
    "//clang/lib/Serialization",
    "//clang/lib/Tooling",
    "//clang/lib/Tooling/Core",
    "//clang/lib/Tooling/Inclusions",
    "//clang/lib/Tooling/Refactoring",
    "//clang/lib/Tooling/Syntax",
    "//llvm/lib/Support",
    "//llvm/lib/Target:AllTargetsInfos",
    "//llvm/utils/gn/build/libs/pthread",
  ]
  include_dirs = [
    ".",
    # To pick up the generated inc files.
    "$target_gen_dir/tool",
  ]
  sources = [
    "AST.cpp",
    "ASTSignals.cpp",
    "ClangdLSPServer.cpp",
    "ClangdServer.cpp",
    "CodeComplete.cpp",
    "CodeCompletionStrings.cpp",
    "CollectMacros.cpp",
    "CompileCommands.cpp",
    "Compiler.cpp",
    "Config.cpp",
    "ConfigCompile.cpp",
    "ConfigProvider.cpp",
    "ConfigYAML.cpp",
    "Diagnostics.cpp",
    "DraftStore.cpp",
    "DumpAST.cpp",
    "ExpectedTypes.cpp",
    "FS.cpp",
    "Feature.cpp",
    "FeatureModule.cpp",
    "FileDistance.cpp",
    "FindSymbols.cpp",
    "FindTarget.cpp",
    "Format.cpp",
    "FuzzyMatch.cpp",
    "GlobalCompilationDatabase.cpp",
    "HeaderSourceSwitch.cpp",
    "Headers.cpp",
    "HeuristicResolver.cpp",
    "Hover.cpp",
    "IncludeCleaner.cpp",
    "IncludeFixer.cpp",
    "InlayHints.cpp",
    "JSONTransport.cpp",
    "ParsedAST.cpp",
    "PathMapping.cpp",
    "Preamble.cpp",
    "Protocol.cpp",
    "Quality.cpp",
    "QueryDriverDatabase.cpp",
    "RIFF.cpp",
    "Selection.cpp",
    "SemanticHighlighting.cpp",
    "SemanticSelection.cpp",
    "SourceCode.cpp",
    "TUScheduler.cpp",
    "TidyProvider.cpp",
    "URI.cpp",
    "XRefs.cpp",
    "index/Background.cpp",
    "index/BackgroundIndexLoader.cpp",
    "index/BackgroundIndexStorage.cpp",
    "index/BackgroundQueue.cpp",
    "index/BackgroundRebuild.cpp",
    "index/CanonicalIncludes.cpp",
    "index/FileIndex.cpp",
    "index/Index.cpp",
    "index/IndexAction.cpp",
    "index/MemIndex.cpp",
    "index/Merge.cpp",
    "index/ProjectAware.cpp",
    "index/Ref.cpp",
    "index/Relation.cpp",
    "index/Serialization.cpp",
    "index/Symbol.cpp",
    "index/SymbolCollector.cpp",
    "index/SymbolID.cpp",
    "index/SymbolLocation.cpp",
    "index/SymbolOrigin.cpp",
    "index/YAMLSerialization.cpp",
    "index/dex/Dex.cpp",
    "index/dex/Iterator.cpp",
    "index/dex/PostingList.cpp",
    "index/dex/Trigram.cpp",
    "refactor/InsertionPoint.cpp",
    "refactor/Rename.cpp",
    "refactor/Tweak.cpp",
  ]
}
 |