1//
2// libmediadrm
3//
4
5cc_library_headers {
6    name: "libmediadrm_headers",
7
8    export_include_dirs: [
9        "interface"
10    ],
11
12}
13
14cc_library_shared {
15    name: "libmediadrm",
16
17    srcs: [
18        "DrmPluginPath.cpp",
19        "DrmSessionManager.cpp",
20        "SharedLibrary.cpp",
21        "DrmHal.cpp",
22        "CryptoHal.cpp",
23        "DrmUtils.cpp",
24    ],
25
26    local_include_dirs: [
27        "include",
28        "interface"
29    ],
30
31    export_include_dirs: [
32        "include"
33    ],
34
35    header_libs: [
36        "libmedia_headers",
37    ],
38
39    shared_libs: [
40        "libbinder_ndk",
41        "libcutils",
42        "libdl",
43        "liblog",
44        "libmedia",
45        "libmediadrmmetrics_lite",
46        "libmediametrics#1",
47        "libmediautils",
48        "libstagefright_foundation",
49        "libutils",
50        "android.hardware.drm@1.0",
51        "android.hardware.drm@1.1",
52        "android.hardware.drm@1.2",
53        "android.hardware.drm@1.3",
54        "libhidlallocatorutils",
55        "libhidlbase",
56    ],
57
58    static_libs: [
59        "resourcemanager_aidl_interface-ndk_platform",
60    ],
61
62    export_shared_lib_headers: [
63        "android.hardware.drm@1.0",
64        "android.hardware.drm@1.1",
65        "android.hardware.drm@1.2",
66    ],
67
68    cflags: [
69        "-Werror",
70        "-Wall",
71    ],
72}
73
74// This is the version of the drm metrics configured for protobuf lite.
75cc_library_shared {
76    name: "libmediadrmmetrics_lite",
77    srcs: [
78        "DrmMetrics.cpp",
79        "PluginMetricsReporting.cpp",
80        "protos/metrics.proto",
81    ],
82
83    local_include_dirs: [
84        "include"
85    ],
86
87    proto: {
88        export_proto_headers: true,
89        type: "lite",
90    },
91    header_libs: [
92        "libmedia_headers",
93    ],
94    shared_libs: [
95        "android.hardware.drm@1.0",
96        "android.hardware.drm@1.1",
97        "android.hardware.drm@1.2",
98        "liblog",
99        "libmediametrics",
100        "libprotobuf-cpp-lite",
101        "libutils",
102    ],
103    cflags: [
104        // Suppress unused parameter and no error options. These cause problems
105        // with the when using the map type in a proto definition.
106        "-Wno-unused-parameter",
107    ],
108}
109
110// This is the version of the drm metrics library configured for full protobuf.
111cc_library_shared {
112    name: "libmediadrmmetrics_full",
113    srcs: [
114        "DrmMetrics.cpp",
115        "PluginMetricsReporting.cpp",
116        "protos/metrics.proto",
117    ],
118
119    local_include_dirs: [
120        "include"
121    ],
122
123    proto: {
124        export_proto_headers: true,
125        type: "full",
126    },
127    header_libs: [
128        "libmedia_headers",
129    ],
130    shared_libs: [
131        "android.hardware.drm@1.0",
132        "android.hardware.drm@1.1",
133        "android.hardware.drm@1.2",
134        "libbase",
135        "liblog",
136        "libmediametrics",
137        "libprotobuf-cpp-full",
138        "libstagefright_foundation",
139        "libutils",
140    ],
141    cflags: [
142        // Suppress unused parameter and no error options. These cause problems
143        // when using the map type in a proto definition.
144        "-Wno-unused-parameter",
145    ],
146}
147
148cc_library_shared {
149    name: "libmediadrmmetrics_consumer",
150    srcs: [
151        "DrmMetricsConsumer.cpp",
152    ],
153
154    include_dirs: [
155        "frameworks/av/media/libmedia/include"
156    ],
157
158    shared_libs: [
159        "android.hardware.drm@1.0",
160        "android.hardware.drm@1.1",
161        "android.hardware.drm@1.2",
162        "libbinder",
163        "libhidlbase",
164        "liblog",
165        "libmediadrm",
166        "libmediadrmmetrics_full",
167        "libutils",
168    ],
169
170    header_libs: [
171        "libmediametrics_headers",
172        "libstagefright_foundation_headers",
173    ],
174}
175