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 "hardware_interfaces_license" 5 // to get the below license kinds: 6 // SPDX-license-identifier-Apache-2.0 7 default_applicable_licenses: ["frameworks_av_license"], 8} 9 10cc_defaults { 11 name: "aidl_clearkey_service_defaults-use-shared-deps", 12 13 shared_libs: [ 14 "android.hardware.drm-V1-ndk", 15 "libbase", 16 "libbinder_ndk", 17 "libcrypto", 18 "liblog", 19 "libprotobuf-cpp-lite", 20 "libutils", 21 ], 22 23 static_libs: [ 24 "android.hardware.common-V2-ndk", 25 "libclearkeybase", 26 "libjsoncpp", 27 ], 28} 29 30cc_defaults { 31 name: "aidl_clearkey_service_defaults-use-static-deps", 32 33 stl: "c++_static", 34 35 shared_libs: [ 36 "libbinder_ndk", 37 "libcrypto", 38 "liblog", 39 ], 40 41 static_libs: [ 42 "android.hardware.common-V2-ndk", 43 "android.hardware.drm.common-V1-ndk", 44 "android.hardware.drm-V1-ndk", 45 "libbase", 46 "libclearkeybase", 47 "libjsoncpp", 48 "libprotobuf-cpp-lite", 49 "libutils", 50 ], 51} 52 53cc_defaults { 54 name: "aidl_clearkey_service_defaults", 55 vendor: true, 56 57 srcs: [ 58 "CreatePluginFactories.cpp", 59 "CryptoPlugin.cpp", 60 "DrmFactory.cpp", 61 "DrmPlugin.cpp", 62 ], 63 64 relative_install_path: "hw", 65 66 cflags: [ 67 "-Wall", 68 "-Werror", 69 "-Wthread-safety", 70 ], 71 72 include_dirs: ["frameworks/av/include"], 73 74 local_include_dirs: ["include"], 75 76 sanitize: { 77 integer_overflow: true, 78 }, 79} 80 81cc_binary { 82 name: "android.hardware.drm-service.clearkey", 83 defaults: [ 84 "aidl_clearkey_service_defaults", 85 "aidl_clearkey_service_defaults-use-shared-deps", 86 ], 87 srcs: ["Service.cpp"], 88 init_rc: ["android.hardware.drm-service.clearkey.rc"], 89 vintf_fragment_modules: ["android.hardware.drm-service.clearkey.xml_vintf"], 90} 91 92cc_binary { 93 name: "android.hardware.drm-service-lazy.clearkey", 94 defaults: [ 95 "aidl_clearkey_service_defaults", 96 "aidl_clearkey_service_defaults-use-shared-deps", 97 ], 98 overrides: ["android.hardware.drm-service.clearkey"], 99 srcs: ["ServiceLazy.cpp"], 100 init_rc: ["android.hardware.drm-service-lazy.clearkey.rc"], 101 vintf_fragment_modules: ["android.hardware.drm-service.clearkey.xml_vintf"], 102} 103 104vintf_fragment { 105 name: "android.hardware.drm-service.clearkey.xml_vintf", 106 src: "android.hardware.drm-service.clearkey.xml", 107 vendor: true, 108} 109 110cc_binary { 111 name: "android.hardware.drm-service.clearkey.apex", 112 stem: "android.hardware.drm-service.clearkey", 113 defaults: [ 114 "aidl_clearkey_service_defaults", 115 "aidl_clearkey_service_defaults-use-static-deps", 116 ], 117 srcs: ["Service.cpp"], 118 installable: false, // installed in APEX 119} 120 121cc_binary { 122 name: "android.hardware.drm-service-lazy.clearkey.apex", 123 stem: "android.hardware.drm-service-lazy.clearkey", 124 defaults: [ 125 "aidl_clearkey_service_defaults", 126 "aidl_clearkey_service_defaults-use-static-deps", 127 ], 128 srcs: ["ServiceLazy.cpp"], 129 installable: false, // installed in APEX 130} 131 132phony { 133 name: "[email protected]", 134 required: [ 135 "com.android.hardware.drm.clearkey", 136 ], 137 vendor: true, 138} 139 140cc_defaults { 141 name: "fuzz_aidl_clearkey_service_defaults", 142 143 srcs: [ 144 "CreatePluginFactories.cpp", 145 "CryptoPlugin.cpp", 146 "DrmFactory.cpp", 147 "DrmPlugin.cpp", 148 ], 149 150 relative_install_path: "hw", 151 152 cflags: [ 153 "-Wall", 154 "-Werror", 155 "-Wthread-safety", 156 ], 157 158 include_dirs: ["frameworks/av/include"], 159 160 shared_libs: [ 161 "android.hardware.drm-V1-ndk", 162 "libbase", 163 "libbinder_ndk", 164 "libcrypto", 165 "liblog", 166 "libprotobuf-cpp-lite", 167 "libutils", 168 ], 169 170 static_libs: [ 171 "android.hardware.common-V2-ndk", 172 "libclearkeybase_fuzz", 173 "libjsoncpp", 174 ], 175 176 local_include_dirs: ["include"], 177 178 sanitize: { 179 integer_overflow: true, 180 }, 181} 182 183cc_fuzz { 184 name: "android.hardware.drm-service.clearkey.aidl_fuzzer", 185 defaults: [ 186 "fuzz_aidl_clearkey_service_defaults", 187 "service_fuzzer_defaults", 188 ], 189 srcs: ["fuzzer.cpp"], 190 fuzz_config: { 191 cc: [ 192 "[email protected]", 193 ], 194 }, 195} 196 197apex { 198 name: "com.android.hardware.drm.clearkey", 199 manifest: "manifest.json", 200 file_contexts: "file_contexts", 201 key: "com.android.hardware.key", 202 certificate: ":com.android.hardware.certificate", 203 vendor: true, 204 updatable: false, 205 206 binaries: [ 207 "android.hardware.drm-service.clearkey.apex", 208 ], 209 prebuilts: [ 210 "android.hardware.drm-service.clearkey.apex.rc", 211 "android.hardware.drm-service.clearkey.xml", 212 ], 213 overrides: [ 214 "android.hardware.drm-service.clearkey", 215 ], 216} 217 218prebuilt_etc { 219 name: "android.hardware.drm-service.clearkey.apex.rc", 220 src: ":gen-android.hardware.drm-service.clearkey.apex.rc", 221 installable: false, 222} 223 224genrule { 225 name: "gen-android.hardware.drm-service.clearkey.apex.rc", 226 srcs: ["android.hardware.drm-service.clearkey.rc"], 227 out: ["android.hardware.drm-service.clearkey.apex.rc"], 228 cmd: "sed -E 's%/vendor/bin/%/apex/com.android.hardware.drm.clearkey/bin/%' $(in) > $(out)", 229} 230 231prebuilt_etc { 232 name: "android.hardware.drm-service.clearkey.xml", 233 src: "android.hardware.drm-service.clearkey.xml", 234 sub_dir: "vintf", 235 installable: false, 236} 237 238apex { 239 name: "com.android.hardware.drm.clearkey.lazy", 240 manifest: "manifest.json", 241 file_contexts: "file_contexts", 242 key: "com.android.hardware.key", 243 certificate: ":com.android.hardware.certificate", 244 vendor: true, 245 updatable: false, 246 247 binaries: [ 248 "android.hardware.drm-service-lazy.clearkey.apex", 249 ], 250 prebuilts: [ 251 "android.hardware.drm-service-lazy.clearkey.apex.rc", 252 "android.hardware.drm-service.clearkey.xml", 253 ], 254 overrides: [ 255 "android.hardware.drm-service-lazy.clearkey", 256 "android.hardware.drm-service.clearkey", 257 "com.android.hardware.drm.clearkey", 258 ], 259} 260 261prebuilt_etc { 262 name: "android.hardware.drm-service-lazy.clearkey.apex.rc", 263 src: ":gen-android.hardware.drm-service-lazy.clearkey.apex.rc", 264 installable: false, 265} 266 267genrule { 268 name: "gen-android.hardware.drm-service-lazy.clearkey.apex.rc", 269 srcs: ["android.hardware.drm-service-lazy.clearkey.rc"], 270 out: ["android.hardware.drm-service-lazy.clearkey.apex.rc"], 271 cmd: "sed -E 's%/vendor/bin/%/apex/com.android.hardware.drm.clearkey/bin/%' $(in) > $(out)", 272} 273