1package { 2 // See: http://go/android-license-faq 3 // A large-scale-change added 'default_applicable_licenses' to import 4 // all of the 'license_kinds' from "frameworks_native_license" 5 // to get the below license kinds: 6 // SPDX-license-identifier-Apache-2.0 7 default_applicable_licenses: ["frameworks_native_license"], 8} 9 10cc_defaults { 11 name: "servicemanager_defaults", 12 13 cflags: [ 14 "-Wall", 15 "-Wextra", 16 "-Werror", 17 "-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION", 18 ], 19 20 srcs: [ 21 "Access.cpp", 22 "ServiceManager.cpp", 23 ], 24 25 shared_libs: [ 26 "libbase", 27 "libvintf", 28 "libcutils", 29 "liblog", 30 "libutils", 31 "libselinux", 32 "libperfetto_c", 33 ], 34 35 target: { 36 android: { 37 shared_libs: [ 38 "libbinder", 39 "libutils", 40 ], 41 }, 42 host: { 43 static_libs: [ 44 "libbinder", 45 "libutils", 46 ], 47 }, 48 darwin: { 49 enabled: false, 50 }, 51 vendor: { 52 exclude_shared_libs: [ 53 "libvintf", 54 "libperfetto_c", 55 ], 56 }, 57 recovery: { 58 exclude_shared_libs: ["libperfetto_c"], 59 }, 60 }, 61} 62 63cc_binary { 64 name: "servicemanager", 65 defaults: ["servicemanager_defaults"], 66 init_rc: ["servicemanager.rc"], 67 srcs: ["main.cpp"], 68 bootstrap: true, 69} 70 71cc_binary { 72 name: "servicemanager.recovery", 73 stem: "servicemanager", 74 recovery: true, 75 defaults: ["servicemanager_defaults"], 76 init_rc: ["servicemanager.recovery.rc"], 77 srcs: ["main.cpp"], 78} 79 80cc_binary { 81 name: "vndservicemanager", 82 defaults: ["servicemanager_defaults"], 83 init_rc: ["vndservicemanager.rc"], 84 vendor: true, 85 cflags: [ 86 "-DVENDORSERVICEMANAGER=1", 87 ], 88 required: [ 89 "vndservice", 90 ], 91 srcs: ["main.cpp"], 92} 93 94cc_test { 95 name: "servicemanager_test", 96 host_supported: true, 97 test_suites: ["device-tests"], 98 defaults: ["servicemanager_defaults"], 99 srcs: [ 100 "test_sm.cpp", 101 ], 102 static_libs: ["libgmock"], 103} 104 105cc_test_host { 106 name: "servicemanager_unittest", 107 test_suites: ["general-tests"], 108 defaults: ["servicemanager_defaults"], 109 srcs: [ 110 "ServiceManagerUnittest.cpp", 111 ], 112 static_libs: ["libgmock"], 113} 114 115cc_fuzz { 116 name: "servicemanager_fuzzer", 117 defaults: [ 118 "servicemanager_defaults", 119 "service_fuzzer_defaults", 120 ], 121 host_supported: true, 122 srcs: ["ServiceManagerFuzzer.cpp"], 123 fuzz_config: { 124 libfuzzer_options: [ 125 "max_len=50000", 126 ], 127 cc: [ 128 "[email protected]", 129 "[email protected]", 130 ], 131 }, 132} 133