summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD.gn1
-rw-r--r--third_party/flatbuffers/flatbuffer.gni85
-rw-r--r--third_party/flatbuffers/ts_flatbuffer.gni84
3 files changed, 81 insertions, 89 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 9ff3d1011..563058dbf 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1,7 +1,6 @@
import("//third_party/v8/gni/v8.gni")
import("//third_party/v8/snapshot_toolchain.gni")
import("//third_party/flatbuffers/flatbuffer.gni")
-import("//third_party/flatbuffers/ts_flatbuffer.gni")
import("//build_extra/deno.gni")
import("//build_extra/rust/rust.gni")
diff --git a/third_party/flatbuffers/flatbuffer.gni b/third_party/flatbuffers/flatbuffer.gni
index 11aae5ed7..3e34465cd 100644
--- a/third_party/flatbuffers/flatbuffer.gni
+++ b/third_party/flatbuffers/flatbuffer.gni
@@ -2,7 +2,9 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-# Compile a flatbuffer.
+import("//build/compiled_action.gni")
+
+# Compile a flatbuffer for C++.
#
# flatc_out_dir (optional)
# Specifies the path suffix that output files are generated under. This
@@ -48,9 +50,6 @@
# "foo.fbs",
# ]
# }
-
-import("//build/compiled_action.gni")
-
template("flatbuffer") {
assert(defined(invoker.sources), "Need sources for flatbuffers_library")
@@ -146,3 +145,81 @@ template("flatbuffer") {
}
}
}
+
+# Compile a flatbuffer to typescript.
+#
+# flatc_include_dirs (optional)
+# Specifies the directories which FlatBuffers compiler uses to find
+# included .fbs files in. Almost always should be empty.
+#
+# The list always has an implicit first item corresponding to the root of
+# the source tree. This enables including .fbs files by absolute path.
+#
+# The compiler will try the directories in the order given, and if all
+# fail it will try to load relative to the directory of the schema file
+# being parsed.
+#
+# deps (optional)
+# Additional dependencies.
+#
+# Example:
+# ts_flatbuffer("foo_ts") {
+# sources = [
+# "foo.fbs",
+# ]
+# }
+template("ts_flatbuffer") {
+ assert(defined(invoker.sources), "Need sources for flatbuffers_library")
+
+ # Don't apply OS-specific sources filtering to the assignments later on.
+ # Platform files should have gotten filtered out in the sources assignment
+ # when this template was invoked. If they weren't, it was on purpose and
+ # this template shouldn't re-apply the filter.
+ set_sources_assignment_filter([])
+
+ copy_name = target_name + "_copy"
+
+ copy(copy_name) {
+ sources = [ "//third_party/flatbuffers/src/js/flatbuffers.js" ]
+ outputs = [ "$target_gen_dir/flatbuffers.js" ]
+ }
+
+ compiled_action_foreach(target_name) {
+ tool = "//third_party/flatbuffers:flatc"
+
+ sources = invoker.sources
+ deps = [ ":" + copy_name ]
+
+ out_dir = target_gen_dir
+
+ outputs = [
+ "$out_dir/{{source_name_part}}_generated.ts",
+ ]
+
+ args = [
+ "--ts",
+ "--no-fb-import",
+ "--gen-mutable",
+ "-o",
+ rebase_path(out_dir, root_build_dir),
+ "-I",
+ rebase_path("//", root_build_dir),
+ ]
+
+ if (defined(invoker.flatc_include_dirs)) {
+ foreach(include_dir, invoker.flatc_include_dirs) {
+ args += [
+ "-I",
+ rebase_path(include_dir, root_build_dir),
+ ]
+ }
+ }
+
+ args += [ "{{source}}" ]
+
+ # The deps may have steps that have to run before running flatc.
+ if (defined(invoker.deps)) {
+ deps += invoker.deps
+ }
+ }
+}
diff --git a/third_party/flatbuffers/ts_flatbuffer.gni b/third_party/flatbuffers/ts_flatbuffer.gni
deleted file mode 100644
index d9c090aa6..000000000
--- a/third_party/flatbuffers/ts_flatbuffer.gni
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Compile a flatbuffer to typescript.
-#
-# flatc_include_dirs (optional)
-# Specifies the directories which FlatBuffers compiler uses to find
-# included .fbs files in. Almost always should be empty.
-#
-# The list always has an implicit first item corresponding to the root of
-# the source tree. This enables including .fbs files by absolute path.
-#
-# The compiler will try the directories in the order given, and if all
-# fail it will try to load relative to the directory of the schema file
-# being parsed.
-#
-# deps (optional)
-# Additional dependencies.
-#
-# Example:
-# ts_flatbuffer("foo_ts") {
-# sources = [
-# "foo.fbs",
-# ]
-# }
-
-import("//build/compiled_action.gni")
-
-template("ts_flatbuffer") {
- assert(defined(invoker.sources), "Need sources for flatbuffers_library")
-
- # Don't apply OS-specific sources filtering to the assignments later on.
- # Platform files should have gotten filtered out in the sources assignment
- # when this template was invoked. If they weren't, it was on purpose and
- # this template shouldn't re-apply the filter.
- set_sources_assignment_filter([])
-
- copy_name = target_name + "_copy"
-
- copy(copy_name) {
- sources = [ "//third_party/flatbuffers/src/js/flatbuffers.js" ]
- outputs = [ "$target_gen_dir/flatbuffers.js" ]
- }
-
- compiled_action_foreach(target_name) {
- tool = "//third_party/flatbuffers:flatc"
-
- sources = invoker.sources
- deps = [ ":" + copy_name ]
-
- out_dir = target_gen_dir
-
- outputs = [
- "$out_dir/{{source_name_part}}_generated.ts",
- ]
-
- args = [
- "--ts",
- "--no-fb-import",
- "--gen-mutable",
- "-o",
- rebase_path(out_dir, root_build_dir),
- "-I",
- rebase_path("//", root_build_dir),
- ]
-
- if (defined(invoker.flatc_include_dirs)) {
- foreach(include_dir, invoker.flatc_include_dirs) {
- args += [
- "-I",
- rebase_path(include_dir, root_build_dir),
- ]
- }
- }
-
- args += [ "{{source}}" ]
-
- # The deps may have steps that have to run before running flatc.
- if (defined(invoker.deps)) {
- deps += invoker.deps
- }
- }
-}