summaryrefslogtreecommitdiff
path: root/build_extra/flatbuffers/rust/rust_flatbuffer.gni
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2018-07-23 14:13:12 -0400
committerRyan Dahl <ry@tinyclouds.org>2018-07-24 12:29:54 -0400
commit0213053856148379992212b189390f222c6cb460 (patch)
treef62e02bf4d8d91cddcc45169ce5afb0c2d4bf5de /build_extra/flatbuffers/rust/rust_flatbuffer.gni
parentb79ce93010d0cc80a9345f646e562326de4588e5 (diff)
Remove handlers crate target.
- Add build scripts for Rust flatbuffers. - Rewrites some reply.cc methods in Rust. - Changes some struct elements to table in msg.fbs (rust flatbuffers lacks support currently) - Renames handlers_test to test_rs. - This reorg is needed to make progress on the code cache handler.
Diffstat (limited to 'build_extra/flatbuffers/rust/rust_flatbuffer.gni')
-rw-r--r--build_extra/flatbuffers/rust/rust_flatbuffer.gni44
1 files changed, 44 insertions, 0 deletions
diff --git a/build_extra/flatbuffers/rust/rust_flatbuffer.gni b/build_extra/flatbuffers/rust/rust_flatbuffer.gni
new file mode 100644
index 000000000..f5280a8d3
--- /dev/null
+++ b/build_extra/flatbuffers/rust/rust_flatbuffer.gni
@@ -0,0 +1,44 @@
+import("//build_extra/rust/rust.gni")
+
+# TODO(ry) "flatbuffer.gni" should be "flatbuffers.gni" we should be consistant
+# in our pluralization.
+import("//build_extra/flatbuffers/flatbuffer.gni")
+
+template("rust_flatbuffer") {
+ action_name = "${target_name}_gen"
+ source_set_name = target_name
+ compiled_action_foreach(action_name) {
+ tool = "$flatbuffers_build_location:flatc"
+
+ sources = invoker.sources
+ deps = []
+ out_dir = target_gen_dir
+
+ outputs = [
+ "$out_dir/{{source_name_part}}_generated.rs",
+ ]
+
+ args = [
+ "--rust",
+ "-o",
+ rebase_path(out_dir, root_build_dir),
+ "-I",
+ rebase_path("//", root_build_dir),
+ ]
+ args += [ "{{source}}" ]
+
+ # The deps may have steps that have to run before running flatc.
+ if (defined(invoker.deps)) {
+ deps += invoker.deps
+ }
+ }
+
+ rust_component(source_set_name) {
+ sources = get_target_outputs(":$action_name")
+ source_root = sources[0]
+ deps = [
+ ":$action_name",
+ ]
+ extern = [ "//build_extra/flatbuffers/rust:flatbuffers" ]
+ }
+}