1package { 2 default_applicable_licenses: ["Android-Apache-2.0"], 3} 4 5rust_defaults { 6 name: "mmd_defaults", 7 srcs: [ 8 "src/main.rs", 9 ], 10 rustlibs: [ 11 "libanyhow", 12 "libbinder_rs", 13 "libflags_rust", 14 "liblogger", 15 "liblog_rust", 16 "libmmd", 17 "libmmd_flags_rust", 18 "libmockall", 19 "librustutils", 20 "mmd_aidl_interface-rust", 21 ], 22} 23 24rust_defaults { 25 name: "libmmd_defaults", 26 srcs: [ 27 "src/lib.rs", 28 ], 29 rustlibs: [ 30 "liblibc", 31 "libmockall", 32 "libnix", 33 "libthiserror", 34 ], 35} 36 37rust_binary { 38 name: "mm_daemon", 39 defaults: ["mmd_defaults"], 40 stem: "mmd", 41 init_rc: ["mmd.rc"], 42} 43 44rust_library { 45 name: "libmmd", 46 crate_name: "mmd", 47 defaults: ["libmmd_defaults"], 48 host_supported: true, 49} 50 51rust_test { 52 name: "mmd_unit_tests", 53 defaults: ["mmd_defaults"], 54 test_suites: ["general-tests"], 55 auto_gen_config: true, 56} 57 58rust_test_host { 59 name: "libmmd_unit_tests", 60 defaults: ["libmmd_defaults"], 61 test_suites: ["general-tests"], 62} 63 64aconfig_declarations { 65 name: "mmd_flags", 66 package: "android.mmd.flags", 67 container: "system", 68 srcs: ["flags.aconfig"], 69} 70 71rust_aconfig_library { 72 name: "libmmd_flags_rust", 73 crate_name: "mmd_flags", 74 aconfig_declarations: "mmd_flags", 75} 76 77java_aconfig_library { 78 name: "mmd_flags_lib", 79 aconfig_declarations: "mmd_flags", 80} 81 82aidl_interface { 83 name: "mmd_aidl_interface", 84 unstable: true, 85 srcs: [":mmd_aidl"], 86 local_include_dir: "aidl", 87 backend: { 88 rust: { 89 enabled: true, 90 }, 91 }, 92} 93 94filegroup { 95 name: "mmd_aidl", 96 srcs: [ 97 "aidl/android/os/IMmd.aidl", 98 ], 99 path: "aidl", 100} 101