blob: c61b790893f33e3e593c5205171d94e25de24992 [file] [log] [blame]
Googler6c3de122022-03-28 11:40:41 +00001# Support libraries that the generated Rust/C++ bindings depend upon.
Marcel Hlopko9a94fc42022-04-06 23:35:36 -07002load("@rules_rust//rust:defs.bzl", "rust_library", "rust_proc_macro", "rust_test")
Googler6c3de122022-03-28 11:40:41 +00003
Lukasz Anforowiczaaa2a0f2023-04-11 09:01:14 -07004package(default_applicable_licenses = ["//:license"])
Googler49e20fb2023-02-09 16:47:44 -08005
Googler6c3de122022-03-28 11:40:41 +00006rust_library(
7 name = "ctor",
8 srcs = ["ctor.rs"],
9 proc_macro_deps = [":ctor_proc_macros"],
Googler75c7ad02022-05-23 13:27:49 -070010 visibility = ["//:__subpackages__"],
Googler6c3de122022-03-28 11:40:41 +000011)
12
13rust_proc_macro(
14 name = "ctor_proc_macros",
15 srcs = ["ctor_proc_macros.rs"],
16 deps = [
Googler75c7ad02022-05-23 13:27:49 -070017 "@crate_index//:proc-macro2",
18 "@crate_index//:quote",
19 "@crate_index//:syn",
Googler6c3de122022-03-28 11:40:41 +000020 ],
21)
22
23rust_test(
Devin Jeanpierred6f3e2a2022-07-20 18:45:42 -070024 name = "ctor_proc_macros_test",
25 crate = ":ctor_proc_macros",
26 deps = [
Lukasz Anforowiczefd635d2022-09-22 10:12:49 -070027 "//common:token_stream_matchers",
Devin Jeanpierred6f3e2a2022-07-20 18:45:42 -070028 ],
29)
30
31rust_test(
Googler6c3de122022-03-28 11:40:41 +000032 name = "ctor_test",
33 srcs = ["ctor.rs"],
34 proc_macro_deps = [":ctor_proc_macros"],
Googler6c3de122022-03-28 11:40:41 +000035)
36
37rust_test(
Devin Jeanpierred6f3e2a2022-07-20 18:45:42 -070038 name = "ctor_proc_macros_e2e_test",
Googler6c3de122022-03-28 11:40:41 +000039 srcs = ["ctor_proc_macros_test.rs"],
40 deps = [
41 ":ctor",
Googler6c3de122022-03-28 11:40:41 +000042 ],
43)
44
45rust_test(
46 name = "ctor_macro_test",
47 srcs = ["ctor_macro_test.rs"],
48 deps = [
49 ":ctor",
50 ],
51)
Devin Jeanpierre3dd5f4d2022-03-31 02:18:36 -070052
53rust_library(
54 name = "forward_declare",
55 srcs = ["forward_declare.rs"],
56 proc_macro_deps = [":forward_declare_proc_macros"],
Googler75c7ad02022-05-23 13:27:49 -070057 visibility = ["//:__subpackages__"],
Devin Jeanpierre3dd5f4d2022-03-31 02:18:36 -070058)
59
60rust_proc_macro(
61 name = "forward_declare_proc_macros",
62 srcs = ["forward_declare_proc_macros.rs"],
63 deps = [
Googler75c7ad02022-05-23 13:27:49 -070064 "@crate_index//:proc-macro2",
65 "@crate_index//:quote",
66 "@crate_index//:syn",
Devin Jeanpierre3dd5f4d2022-03-31 02:18:36 -070067 ],
68)
69
70rust_test(
71 name = "forward_declare_macros_test",
72 srcs = ["forward_declare_macros_test.rs"],
73 deps = [":forward_declare"],
74)
Devin Jeanpierreb368e682022-05-03 02:23:44 -070075
76rust_library(
77 name = "oops",
78 srcs = ["oops.rs"],
79 visibility = [
Googler75c7ad02022-05-23 13:27:49 -070080 "//:__subpackages__",
Devin Jeanpierreb368e682022-05-03 02:23:44 -070081 ],
82)
83
84rust_test(
85 name = "oops_test",
86 srcs = ["oops.rs"],
87)