[llvm] 3618ac2 - Revert "Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups"
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 19 05:28:55 PDT 2020
Author: Nico Weber
Date: 2020-09-19T08:28:38-04:00
New Revision: 3618ac203f17316401a48b5810b3b9c5ac417f2a
URL: https://github.com/llvm/llvm-project/commit/3618ac203f17316401a48b5810b3b9c5ac417f2a
DIFF: https://github.com/llvm/llvm-project/commit/3618ac203f17316401a48b5810b3b9c5ac417f2a.diff
LOG: Revert "Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups"
This reverts commit 90fffdd0f705bfb480810cef087305567dc4f6cf.
The original change relanded.
Added:
llvm/utils/gn/secondary/clang-tools-extra/clangd/quality/gen_decision_forest.gni
Modified:
llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Removed:
################################################################################
diff --git a/llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn b/llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
index 7fa4cc8fd32c..20309f35d85a 100644
--- a/llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
+++ b/llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
@@ -1,3 +1,4 @@
+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")
@@ -20,10 +21,17 @@ write_cmake_config("features") {
public_configs = [ ":features_config" ]
}
+gen_decision_forest("CompletionModel") {
+ model = "quality/model"
+ filename = "CompletionModel"
+ cpp_class = "clang::clangd::Example"
+}
+
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",
diff --git a/llvm/utils/gn/secondary/clang-tools-extra/clangd/quality/gen_decision_forest.gni b/llvm/utils/gn/secondary/clang-tools-extra/clangd/quality/gen_decision_forest.gni
new file mode 100644
index 000000000000..09c7d3e96fff
--- /dev/null
+++ b/llvm/utils/gn/secondary/clang-tools-extra/clangd/quality/gen_decision_forest.gni
@@ -0,0 +1,37 @@
+template("gen_decision_forest") {
+ model = invoker.model
+ filename = invoker.filename
+ cpp_class = invoker.cpp_class
+
+ action("${target_name}Cpp") {
+ script = "//clang-tools-extra/clangd/quality/CompletionModelCodegen.py"
+ outputs = [
+ "$target_gen_dir/$filename.cpp",
+ "$target_gen_dir/$filename.h",
+ ]
+ args = [
+ "--model",
+ rebase_path(model, root_build_dir),
+ "--output_dir",
+ rebase_path(target_gen_dir, root_build_dir),
+ "--filename",
+ filename,
+ "--cpp_class",
+ cpp_class,
+ ]
+ }
+
+ config("${target_name}Config") {
+ cflags = [ "-Wno-unused-label" ]
+ }
+
+ source_set(target_name) {
+ configs += [
+ "//llvm/utils/gn/build:clang_code",
+ ":${target_name}Config",
+ ]
+ deps = [ ":${target_name}Cpp" ]
+ include_dirs = [ "." ]
+ sources = get_target_outputs(":${target_name}Cpp")
+ }
+}
diff --git a/llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn b/llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
index f732e837a88e..409eaf8105a1 100644
--- a/llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
+++ b/llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
@@ -1,8 +1,16 @@
+import("//clang-tools-extra/clangd/quality/gen_decision_forest.gni")
import("//llvm/utils/unittest/unittest.gni")
+gen_decision_forest("DecisionForestRuntimeTest") {
+ model = "decision_forest_model"
+ filename = "DecisionForestRuntimeTest"
+ cpp_class = "::ns1::ns2::test::Example"
+}
+
unittest("ClangdTests") {
configs += [ "//llvm/utils/gn/build:clang_code" ]
deps = [
+ ":DecisionForestRuntimeTest",
"//clang-tools-extra/clang-tidy",
"//clang-tools-extra/clangd",
"//clang-tools-extra/clangd:features",
@@ -28,6 +36,9 @@ unittest("ClangdTests") {
# To pick up the generated inc files.
"$target_gen_dir/../../clangd/tool",
+
+ # To pick up the generated DecisionForestRuntimeTest.h file.
+ target_gen_dir,
]
sources = [
"ASTTests.cpp",
@@ -44,6 +55,7 @@ unittest("ClangdTests") {
"ConfigCompileTests.cpp",
"ConfigProviderTests.cpp",
"ConfigYAMLTests.cpp",
+ "DecisionForestTests.cpp",
"DexTests.cpp",
"DiagnosticsTests.cpp",
"DraftStoreTests.cpp",
More information about the llvm-commits
mailing list