Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 1 | # Support libraries that the generated Rust/C++ bindings depend upon. |
Marcel Hlopko | 9a94fc4 | 2022-04-06 23:35:36 -0700 | [diff] [blame] | 2 | load("@rules_rust//rust:defs.bzl", "rust_library", "rust_proc_macro", "rust_test") |
Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 3 | |
Lukasz Anforowicz | aaa2a0f | 2023-04-11 09:01:14 -0700 | [diff] [blame] | 4 | package(default_applicable_licenses = ["//:license"]) |
Googler | 49e20fb | 2023-02-09 16:47:44 -0800 | [diff] [blame] | 5 | |
Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 6 | rust_library( |
| 7 | name = "ctor", |
| 8 | srcs = ["ctor.rs"], |
| 9 | proc_macro_deps = [":ctor_proc_macros"], |
Googler | 75c7ad0 | 2022-05-23 13:27:49 -0700 | [diff] [blame] | 10 | visibility = ["//:__subpackages__"], |
Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 11 | ) |
| 12 | |
| 13 | rust_proc_macro( |
| 14 | name = "ctor_proc_macros", |
| 15 | srcs = ["ctor_proc_macros.rs"], |
| 16 | deps = [ |
Googler | 75c7ad0 | 2022-05-23 13:27:49 -0700 | [diff] [blame] | 17 | "@crate_index//:proc-macro2", |
| 18 | "@crate_index//:quote", |
| 19 | "@crate_index//:syn", |
Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 20 | ], |
| 21 | ) |
| 22 | |
| 23 | rust_test( |
Devin Jeanpierre | d6f3e2a | 2022-07-20 18:45:42 -0700 | [diff] [blame] | 24 | name = "ctor_proc_macros_test", |
| 25 | crate = ":ctor_proc_macros", |
| 26 | deps = [ |
Lukasz Anforowicz | efd635d | 2022-09-22 10:12:49 -0700 | [diff] [blame] | 27 | "//common:token_stream_matchers", |
Devin Jeanpierre | d6f3e2a | 2022-07-20 18:45:42 -0700 | [diff] [blame] | 28 | ], |
| 29 | ) |
| 30 | |
| 31 | rust_test( |
Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 32 | name = "ctor_test", |
| 33 | srcs = ["ctor.rs"], |
| 34 | proc_macro_deps = [":ctor_proc_macros"], |
Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 35 | ) |
| 36 | |
| 37 | rust_test( |
Devin Jeanpierre | d6f3e2a | 2022-07-20 18:45:42 -0700 | [diff] [blame] | 38 | name = "ctor_proc_macros_e2e_test", |
Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 39 | srcs = ["ctor_proc_macros_test.rs"], |
| 40 | deps = [ |
| 41 | ":ctor", |
Googler | 6c3de12 | 2022-03-28 11:40:41 +0000 | [diff] [blame] | 42 | ], |
| 43 | ) |
| 44 | |
| 45 | rust_test( |
| 46 | name = "ctor_macro_test", |
| 47 | srcs = ["ctor_macro_test.rs"], |
| 48 | deps = [ |
| 49 | ":ctor", |
| 50 | ], |
| 51 | ) |
Devin Jeanpierre | 3dd5f4d | 2022-03-31 02:18:36 -0700 | [diff] [blame] | 52 | |
| 53 | rust_library( |
| 54 | name = "forward_declare", |
| 55 | srcs = ["forward_declare.rs"], |
| 56 | proc_macro_deps = [":forward_declare_proc_macros"], |
Googler | 75c7ad0 | 2022-05-23 13:27:49 -0700 | [diff] [blame] | 57 | visibility = ["//:__subpackages__"], |
Devin Jeanpierre | 3dd5f4d | 2022-03-31 02:18:36 -0700 | [diff] [blame] | 58 | ) |
| 59 | |
| 60 | rust_proc_macro( |
| 61 | name = "forward_declare_proc_macros", |
| 62 | srcs = ["forward_declare_proc_macros.rs"], |
| 63 | deps = [ |
Googler | 75c7ad0 | 2022-05-23 13:27:49 -0700 | [diff] [blame] | 64 | "@crate_index//:proc-macro2", |
| 65 | "@crate_index//:quote", |
| 66 | "@crate_index//:syn", |
Devin Jeanpierre | 3dd5f4d | 2022-03-31 02:18:36 -0700 | [diff] [blame] | 67 | ], |
| 68 | ) |
| 69 | |
| 70 | rust_test( |
| 71 | name = "forward_declare_macros_test", |
| 72 | srcs = ["forward_declare_macros_test.rs"], |
| 73 | deps = [":forward_declare"], |
| 74 | ) |
Devin Jeanpierre | b368e68 | 2022-05-03 02:23:44 -0700 | [diff] [blame] | 75 | |
| 76 | rust_library( |
| 77 | name = "oops", |
| 78 | srcs = ["oops.rs"], |
| 79 | visibility = [ |
Googler | 75c7ad0 | 2022-05-23 13:27:49 -0700 | [diff] [blame] | 80 | "//:__subpackages__", |
Devin Jeanpierre | b368e68 | 2022-05-03 02:23:44 -0700 | [diff] [blame] | 81 | ], |
| 82 | ) |
| 83 | |
| 84 | rust_test( |
| 85 | name = "oops_test", |
| 86 | srcs = ["oops.rs"], |
| 87 | ) |