diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2018-07-23 14:13:12 -0400 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-07-24 12:29:54 -0400 |
commit | 0213053856148379992212b189390f222c6cb460 (patch) | |
tree | f62e02bf4d8d91cddcc45169ce5afb0c2d4bf5de /build_extra/flatbuffers/rust/rust_flatbuffer.gni | |
parent | b79ce93010d0cc80a9345f646e562326de4588e5 (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.gni | 44 |
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" ] + } +} |