From 7d3e97d6fa78fc52fc3f55b074cdbcff547dbc1e Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Tue, 2 Apr 2019 14:39:34 +0000 Subject: [PATCH] gn build: Add build files for non-framework xpc clangd bits Differential Revision: https://reviews.llvm.org/D60124 llvm-svn: 357476 --- .../utils/gn/build/sync_source_lists_from_cmake.py | 3 +-- .../clang-tools-extra/clangd/tool/BUILD.gn | 16 ++++++------- .../clang-tools-extra/clangd/xpc/BUILD.gn | 26 ++++++++++++++++++++++ .../clang-tools-extra/clangd/xpc/enable.gni | 4 ++++ .../secondary/clang-tools-extra/unittests/BUILD.gn | 6 ++++- .../unittests/clangd/xpc/BUILD.gn | 15 +++++++++++++ 6 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/BUILD.gn create mode 100644 llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/enable.gni create mode 100644 llvm/utils/gn/secondary/clang-tools-extra/unittests/clangd/xpc/BUILD.gn diff --git a/llvm/utils/gn/build/sync_source_lists_from_cmake.py b/llvm/utils/gn/build/sync_source_lists_from_cmake.py index dac45b2a..a390720 100755 --- a/llvm/utils/gn/build/sync_source_lists_from_cmake.py +++ b/llvm/utils/gn/build/sync_source_lists_from_cmake.py @@ -61,8 +61,7 @@ def sync_unittests(): # Matches e.g. |add_llvm_unittest_with_input_files|. unittest_re = re.compile(r'^add_\S+_unittest', re.MULTILINE) - # FIXME: Add 'clang-tools-extra'. - checked = [ 'clang', 'lld', 'llvm' ] + checked = [ 'clang', 'clang-tools-extra', 'lld', 'llvm' ] for c in checked: for root, _, _ in os.walk(os.path.join(c, 'unittests')): cmake_file = os.path.join(root, 'CMakeLists.txt') diff --git a/llvm/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn b/llvm/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn index 1d64e70..9fe6b27 100644 --- a/llvm/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn +++ b/llvm/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn @@ -1,10 +1,6 @@ +import("//clang-tools-extra/clangd/xpc/enable.gni") 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" @@ -33,6 +29,12 @@ executable("clangd") { "//clang/lib/Tooling/Core", "//llvm/lib/Support", ] + if (clangd_build_xpc) { + deps += [ + "//clang-tools-extra/clangd/xpc:conversions", + "//clang-tools-extra/clangd/xpc:transport", + ] + } include_dirs = [ "..", @@ -43,8 +45,4 @@ executable("clangd") { sources = [ "ClangdMain.cpp", ] - - if (clangd_build_xpc) { - # FIXME: Depend on clangdXpcJsonConversions, clangdXpcTransport - } } diff --git a/llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/BUILD.gn b/llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/BUILD.gn new file mode 100644 index 0000000..f8e11866 --- /dev/null +++ b/llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/BUILD.gn @@ -0,0 +1,26 @@ +static_library("conversions") { + output_name = "clangdXpcJsonConversions" + configs += [ "//llvm/utils/gn/build:clang_code" ] + deps = [ + "//clang-tools-extra/clangd", + "//llvm/lib/Support", + ] + include_dirs = [ ".." ] + sources = [ + "Conversion.cpp", + ] +} + +static_library("transport") { + output_name = "clangdXpcTransport" + configs += [ "//llvm/utils/gn/build:clang_code" ] + deps = [ + ":conversions", + "//clang-tools-extra/clangd", + "//llvm/lib/Support", + ] + include_dirs = [ ".." ] + sources = [ + "XPCTransport.cpp", + ] +} diff --git a/llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/enable.gni b/llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/enable.gni new file mode 100644 index 0000000..843badb --- /dev/null +++ b/llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/enable.gni @@ -0,0 +1,4 @@ +declare_args() { + # Whether to build clangd's XPC components. + clangd_build_xpc = current_os == "mac" +} diff --git a/llvm/utils/gn/secondary/clang-tools-extra/unittests/BUILD.gn b/llvm/utils/gn/secondary/clang-tools-extra/unittests/BUILD.gn index 57daee5..f2fab1e 100644 --- a/llvm/utils/gn/secondary/clang-tools-extra/unittests/BUILD.gn +++ b/llvm/utils/gn/secondary/clang-tools-extra/unittests/BUILD.gn @@ -1,3 +1,5 @@ +import("//clang-tools-extra/clangd/xpc/enable.gni") + group("unittests") { deps = [ "clang-apply-replacements:ClangApplyReplacementsTests", @@ -10,6 +12,8 @@ group("unittests") { "clang-tidy:ClangTidyTests", "clangd:ClangdTests", ] - # FIXME: dep on clangd/xpc:ClangdXpcTests once it exists + if (clangd_build_xpc) { + deps += [ "clangd/xpc:ClangdXpcTests" ] + } testonly = true } diff --git a/llvm/utils/gn/secondary/clang-tools-extra/unittests/clangd/xpc/BUILD.gn b/llvm/utils/gn/secondary/clang-tools-extra/unittests/clangd/xpc/BUILD.gn new file mode 100644 index 0000000..2d20e16 --- /dev/null +++ b/llvm/utils/gn/secondary/clang-tools-extra/unittests/clangd/xpc/BUILD.gn @@ -0,0 +1,15 @@ +import("//llvm/utils/unittest/unittest.gni") + +unittest("ClangdXpcTests") { + configs += [ "//llvm/utils/gn/build:clang_code" ] + deps = [ + "//clang-tools-extra/clangd", + "//clang-tools-extra/clangd/xpc:conversions", + "//llvm/lib/Support", + "//llvm/lib/Testing/Support", + ] + include_dirs = [ "//clang-tools-extra/clangd" ] + sources = [ + "ConversionTests.cpp", + ] +} -- 2.7.4