blob: 389ee580162df4aca5e6d47880a9dace21031416 [file] [log] [blame]
David Tolnay63576d42020-02-25 00:07:13 -08001load("//tools/bazel:rust.bzl", "rust_binary", "rust_library")
David Tolnayc19936c2020-02-22 11:48:47 -08002
3rust_binary(
David Tolnay671dff82020-02-24 16:46:55 -08004 name = "demo-rs",
David Tolnayc19936c2020-02-22 11:48:47 -08005 srcs = glob(["src/**"]),
6 deps = [
7 ":gen",
8 "//:cxx",
9 "//demo-cxx",
10 ],
11)
12
13cc_library(
14 name = "gen",
15 srcs = [":gen-source"],
16 deps = [
17 ":include",
18 "//demo-cxx:include",
19 ],
20)
21
22genrule(
23 name = "gen-header",
24 srcs = ["src/main.rs"],
25 outs = ["main.rs"],
26 cmd = "$(location //:codegen) --header $< > $@",
27 tools = ["//:codegen"],
28)
29
30genrule(
31 name = "gen-source",
32 srcs = ["src/main.rs"],
33 outs = ["gen-demo.cc"],
34 cmd = "$(location //:codegen) $< > $@",
35 tools = ["//:codegen"],
36)
37
38cc_library(
39 name = "include",
40 hdrs = [":gen-header"],
41 include_prefix = "demo-rs/src",
42 visibility = ["//visibility:public"],
43)