blob: 1bb56926e118a5c1da9f21f8f537aed6f26bd3a8 [file] [log] [blame]
David Brazdil1baa9a92022-06-28 14:47:50 +01001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_bindgen {
6 name: "liblibfdt_bindgen",
7 crate_name: "libfdt_bindgen",
Nikita Ioffeda1b2732023-09-04 13:46:56 +01008 defaults: ["avf_build_flags_rust"],
David Brazdil1baa9a92022-06-28 14:47:50 +01009 wrapper_src: "bindgen/fdt.h",
10 source_stem: "bindings",
11 bindgen_flags: [
David Brazdil1baa9a92022-06-28 14:47:50 +010012 "--allowlist-type=fdt_.*",
13 "--allowlist-function=fdt_.*",
14 "--allowlist-var=FDT_.*",
15 "--use-core",
16 "--raw-line=#![no_std]",
17 "--ctypes-prefix=core::ffi",
18 ],
19 static_libs: [
20 "libfdt",
21 ],
22 apex_available: ["com.android.virt"],
23}
24
25rust_library_rlib {
26 name: "liblibfdt",
27 crate_name: "libfdt",
Nikita Ioffeda1b2732023-09-04 13:46:56 +010028 defaults: ["avf_build_flags_rust"],
David Brazdil1baa9a92022-06-28 14:47:50 +010029 srcs: [
30 "src/lib.rs",
31 ":liblibfdt_bindgen",
32 ],
33 edition: "2021",
34 no_stdlibs: true,
35 prefer_rlib: true,
36 stdlibs: [
37 "libcore.rust_sysroot",
38 ],
39 rustlibs: [
Pierre-Clément Tosi1bf532b2023-11-13 11:06:20 +000040 "libcstr",
David Brazdil1baa9a92022-06-28 14:47:50 +010041 "liblibfdt_bindgen",
Pierre-Clément Tosieabe1f52024-01-23 22:47:43 +000042 "libmemoffset_nostd",
Pierre-Clément Tosi566723a2024-01-24 13:01:54 +000043 "libstatic_assertions",
Pierre-Clément Tosic27c4272023-05-19 15:46:26 +000044 "libzerocopy_nostd",
David Brazdil1baa9a92022-06-28 14:47:50 +010045 ],
46 whole_static_libs: [
47 "libfdt",
48 ],
49 apex_available: ["com.android.virt"],
50}
Alice Wang9d4df702023-05-25 14:14:12 +000051
52rust_test {
53 name: "liblibfdt.integration_test",
54 crate_name: "libfdt_test",
Nikita Ioffeda1b2732023-09-04 13:46:56 +010055 defaults: ["avf_build_flags_rust"],
Alice Wang9d4df702023-05-25 14:14:12 +000056 srcs: ["tests/*.rs"],
57 test_suites: ["general-tests"],
58 data: [
Alice Wang2422bdc2023-06-12 08:37:55 +000059 ":fdt_test_tree_one_memory_range_dtb",
60 ":fdt_test_tree_multiple_memory_ranges_dtb",
61 ":fdt_test_tree_empty_memory_range_dtb",
62 ":fdt_test_tree_no_memory_node_dtb",
Jaewan Kim17ba7a32023-10-19 13:25:15 +090063 ":fdt_test_tree_phandle_dtb",
Alice Wang9d4df702023-05-25 14:14:12 +000064 ],
65 prefer_rlib: true,
66 rustlibs: [
Pierre-Clément Tosi1bf532b2023-11-13 11:06:20 +000067 "libcstr",
Alice Wang9d4df702023-05-25 14:14:12 +000068 "liblibfdt",
69 ],
70}
71
72genrule {
Alice Wang2422bdc2023-06-12 08:37:55 +000073 name: "fdt_test_tree_one_memory_range_dtb",
Cole Faustcad8d5e2023-11-20 15:09:27 -080074 tools: ["dtc"],
75 srcs: [
76 "tests/data/test_tree_one_memory_range.dts",
77 "tests/data/test_tree_no_memory_node.dts",
78 ],
79 cmd: "$(location dtc) -I dts -O dtb $(location tests/data/test_tree_one_memory_range.dts) -o $(out)",
Alice Wang2422bdc2023-06-12 08:37:55 +000080 out: ["data/test_tree_one_memory_range.dtb"],
81}
82
83genrule {
84 name: "fdt_test_tree_multiple_memory_ranges_dtb",
Cole Faustcad8d5e2023-11-20 15:09:27 -080085 tools: ["dtc"],
86 srcs: [
87 "tests/data/test_tree_multiple_memory_ranges.dts",
88 "tests/data/test_tree_no_memory_node.dts",
89 ],
90 cmd: "$(location dtc) -I dts -O dtb $(location tests/data/test_tree_multiple_memory_ranges.dts) -o $(out)",
Alice Wang2422bdc2023-06-12 08:37:55 +000091 out: ["data/test_tree_multiple_memory_ranges.dtb"],
92}
93
94genrule {
95 name: "fdt_test_tree_empty_memory_range_dtb",
Cole Faustcad8d5e2023-11-20 15:09:27 -080096 tools: ["dtc"],
97 srcs: [
98 "tests/data/test_tree_empty_memory_range.dts",
99 "tests/data/test_tree_no_memory_node.dts",
100 ],
101 cmd: "$(location dtc) -I dts -O dtb $(location tests/data/test_tree_empty_memory_range.dts) -o $(out)",
Alice Wang2422bdc2023-06-12 08:37:55 +0000102 out: ["data/test_tree_empty_memory_range.dtb"],
103}
104
105genrule {
106 name: "fdt_test_tree_no_memory_node_dtb",
Jaewan Kim0df5fb12023-09-24 23:33:54 +0900107 defaults: ["dts_to_dtb"],
Alice Wang2422bdc2023-06-12 08:37:55 +0000108 srcs: ["tests/data/test_tree_no_memory_node.dts"],
109 out: ["data/test_tree_no_memory_node.dtb"],
Alice Wang9d4df702023-05-25 14:14:12 +0000110}
Jaewan Kim17ba7a32023-10-19 13:25:15 +0900111
112genrule {
113 name: "fdt_test_tree_phandle_dtb",
114 defaults: ["dts_to_dtb"],
115 srcs: ["tests/data/test_tree_phandle.dts"],
116 out: ["data/test_tree_phandle.dtb"],
117}