[llvm] r357182 - gn build: Add some build files for clangd
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 28 09:53:32 PDT 2019
Author: nico
Date: Thu Mar 28 09:53:32 2019
New Revision: 357182
URL: http://llvm.org/viewvc/llvm-project?rev=357182&view=rev
Log:
gn build: Add some build files for clangd
Enough to build the clangd binaries, but this is still missing build
files for:
- fuzzer
- indexer
- index/dex/dexp
- benchmarks
- xpc
Differential Revision: https://reviews.llvm.org/D59899
Added:
llvm/trunk/utils/gn/build/libs/atomic/
llvm/trunk/utils/gn/build/libs/atomic/BUILD.gn
llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/
llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/refactor/
llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/
llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/tool/
llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn
Modified:
llvm/trunk/utils/gn/secondary/BUILD.gn
llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/BUILD.gn
Added: llvm/trunk/utils/gn/build/libs/atomic/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/build/libs/atomic/BUILD.gn?rev=357182&view=auto
==============================================================================
--- llvm/trunk/utils/gn/build/libs/atomic/BUILD.gn (added)
+++ llvm/trunk/utils/gn/build/libs/atomic/BUILD.gn Thu Mar 28 09:53:32 2019
@@ -0,0 +1,14 @@
+config("atomic_config") {
+ visibility = [ ":atomic" ]
+ libs = [ "atomic" ]
+}
+
+group("atomic") {
+ # Needed on platforms that have no native support for 64-bit atomics.
+ # FIXME: Check which platforms need this; certainly needs to be false on
+ # macOS and Windows, and doesn't seem to be needed on Linux either.
+ needs_explicit_lib_atomic = false
+ if (needs_explicit_lib_atomic) {
+ public_configs = [ ":atomic_config" ]
+ }
+}
Modified: llvm/trunk/utils/gn/secondary/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/BUILD.gn?rev=357182&r1=357181&r2=357182&view=diff
==============================================================================
--- llvm/trunk/utils/gn/secondary/BUILD.gn (original)
+++ llvm/trunk/utils/gn/secondary/BUILD.gn Thu Mar 28 09:53:32 2019
@@ -13,6 +13,7 @@ group("default") {
"//clang-tools-extra/clang-query/tool:clang-query",
"//clang-tools-extra/clang-reorder-fields/tool:clang-reorder-fields",
"//clang-tools-extra/clang-tidy/tool:clang-tidy",
+ "//clang-tools-extra/clangd/tool:clangd",
"//clang-tools-extra/modularize",
"//clang-tools-extra/pp-trace",
"//clang/test",
Modified: llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/BUILD.gn?rev=357182&r1=357181&r2=357182&view=diff
==============================================================================
--- llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/BUILD.gn (original)
+++ llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/BUILD.gn Thu Mar 28 09:53:32 2019
@@ -1,4 +1,5 @@
static_library("clang-apply-replacements") {
+ output_name = "clangApplyReplacements"
configs += [ "//llvm/utils/gn/build:clang_code" ]
deps = [
"//clang/lib/AST",
Added: llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn?rev=357182&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn Thu Mar 28 09:53:32 2019
@@ -0,0 +1,96 @@
+static_library("clangd") {
+ output_name = "clangDaemon"
+ configs += [ "//llvm/utils/gn/build:clang_code" ]
+ deps = [
+ "//clang-tools-extra/clang-tidy/abseil",
+ "//clang-tools-extra/clang-tidy/android",
+ "//clang-tools-extra/clang-tidy/boost",
+ "//clang-tools-extra/clang-tidy/bugprone",
+ "//clang-tools-extra/clang-tidy/cert",
+ "//clang-tools-extra/clang-tidy/cppcoreguidelines",
+ "//clang-tools-extra/clang-tidy/fuchsia",
+ "//clang-tools-extra/clang-tidy/google",
+ "//clang-tools-extra/clang-tidy/hicpp",
+ "//clang-tools-extra/clang-tidy/llvm",
+ "//clang-tools-extra/clang-tidy/misc",
+ "//clang-tools-extra/clang-tidy/modernize",
+ "//clang-tools-extra/clang-tidy/objc",
+ "//clang-tools-extra/clang-tidy/performance",
+ "//clang-tools-extra/clang-tidy/portability",
+ "//clang-tools-extra/clang-tidy/readability",
+ "//clang-tools-extra/clang-tidy/zircon",
+ "//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",
+ "//llvm/lib/Support",
+ "//llvm/utils/gn/build/libs/atomic",
+ "//llvm/utils/gn/build/libs/pthread",
+ ]
+ include_dirs = [ "." ]
+ sources = [
+ "AST.cpp",
+ "Cancellation.cpp",
+ "ClangdLSPServer.cpp",
+ "ClangdServer.cpp",
+ "ClangdUnit.cpp",
+ "CodeComplete.cpp",
+ "CodeCompletionStrings.cpp",
+ "Compiler.cpp",
+ "Context.cpp",
+ "Diagnostics.cpp",
+ "DraftStore.cpp",
+ "ExpectedTypes.cpp",
+ "FS.cpp",
+ "FSProvider.cpp",
+ "FileDistance.cpp",
+ "FindSymbols.cpp",
+ "FuzzyMatch.cpp",
+ "GlobalCompilationDatabase.cpp",
+ "Headers.cpp",
+ "IncludeFixer.cpp",
+ "JSONTransport.cpp",
+ "Logger.cpp",
+ "Protocol.cpp",
+ "Quality.cpp",
+ "RIFF.cpp",
+ "Selection.cpp",
+ "SourceCode.cpp",
+ "TUScheduler.cpp",
+ "Threading.cpp",
+ "Trace.cpp",
+ "URI.cpp",
+ "XRefs.cpp",
+ "index/Background.cpp",
+ "index/BackgroundIndexStorage.cpp",
+ "index/CanonicalIncludes.cpp",
+ "index/FileIndex.cpp",
+ "index/Index.cpp",
+ "index/IndexAction.cpp",
+ "index/MemIndex.cpp",
+ "index/Merge.cpp",
+ "index/Ref.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/Tweak.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn?rev=357182&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn Thu Mar 28 09:53:32 2019
@@ -0,0 +1,17 @@
+# A target containing all code tweaks (i.e. mini-refactorings) provided by
+# clangd.
+# Built as a source_set to make sure the linker does not remove global
+# constructors that register individual tweaks in a global registry.
+source_set("tweaks") {
+ configs += [ "//llvm/utils/gn/build:clang_code" ]
+ deps = [
+ "//clang-tools-extra/clangd",
+ "//clang/lib/AST",
+ "//clang/lib/Tooling/Core",
+ "//llvm/lib/Support",
+ ]
+ include_dirs = [ "../.." ]
+ sources = [
+ "SwapIfBranches.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn?rev=357182&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn Thu Mar 28 09:53:32 2019
@@ -0,0 +1,50 @@
+import("//llvm/utils/gn/build/write_cmake_config.gni")
+
+declare_args() {
+ # Whether to build clangd's XPC components.
+ clangd_build_xpc = false
+}
+
+write_cmake_config("features") {
+ # FIXME: Try moving Features.inc.in to tools, seems like a better location.
+ input = "../Features.inc.in"
+ output = "$target_gen_dir/Features.inc"
+ values = []
+ if (clangd_build_xpc) {
+ values += [ "CLANGD_BUILD_XPC=1" ]
+ } else {
+ values += [ "CLANGD_BUILD_XPC=0" ]
+ }
+}
+
+executable("clangd") {
+ configs += [ "//llvm/utils/gn/build:clang_code" ]
+ deps = [
+ ":features",
+ "//clang-tools-extra/clang-tidy",
+ "//clang-tools-extra/clangd",
+ "//clang-tools-extra/clangd/refactor/tweaks",
+ "//clang/lib/AST",
+ "//clang/lib/Basic",
+ "//clang/lib/Format",
+ "//clang/lib/Frontend",
+ "//clang/lib/Sema",
+ "//clang/lib/Tooling",
+ "//clang/lib/Tooling/Core",
+ "//llvm/lib/Support",
+ ]
+
+ include_dirs = [
+ "..",
+
+ # To pick up the generated inc files.
+ "$target_gen_dir",
+ ]
+ sources = [
+ "ClangdMain.cpp",
+ ]
+
+ if (clangd_build_xpc) {
+ # FIXME: Depend on clangdXpcJsonConversions, clangdXpcTransport
+ }
+}
More information about the llvm-commits
mailing list