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