xref: /aosp_15_r20/frameworks/av/drm/drmserver/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1//
2// Copyright (C) 2010 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17package {
18    default_applicable_licenses: ["frameworks_av_drm_drmserver_license"],
19}
20
21// Added automatically by a large-scale-change
22// See: http://go/android-license-faq
23license {
24    name: "frameworks_av_drm_drmserver_license",
25    visibility: [":__subpackages__"],
26    license_kinds: [
27        "SPDX-license-identifier-Apache-2.0",
28    ],
29    license_text: [
30        "NOTICE",
31    ],
32}
33
34prebuilt_etc {
35    name: "drmserver.zygote64_32.rc",
36    src: "drmserver.zygote64_32.rc",
37    sub_dir: "init/hw",
38}
39
40prebuilt_etc {
41    name: "drmserver.zygote64.rc",
42    src: "drmserver.zygote64.rc",
43    sub_dir: "init/hw",
44}
45
46soong_config_module_type {
47    name: "drmserver_cc_binary",
48    module_type: "cc_binary",
49    config_namespace: "ANDROID",
50    bool_variables: ["TARGET_DYNAMIC_64_32_DRMSERVER"],
51    properties: [
52        "compile_multilib",
53        "init_rc",
54        "multilib.lib32.suffix",
55        "multilib.lib64.suffix",
56        "required",
57    ],
58}
59
60drmserver_cc_binary {
61    name: "drmserver",
62
63    srcs: [
64        "main_drmserver.cpp",
65        "DrmManager.cpp",
66        "DrmManagerService.cpp",
67    ],
68
69    shared_libs: [
70        "libmediametrics",
71        "libmediautils",
72        "libcutils",
73        "libutils",
74        "liblog",
75        "libbinder",
76        "libdl",
77        "libdrmframeworkcommon",
78        "libselinux",
79        "libstagefright_foundation",
80    ],
81
82    cflags: [
83        "-Wall",
84        "-Wextra",
85        "-Werror",
86    ],
87
88    compile_multilib: "prefer32",
89
90    soong_config_variables: {
91        TARGET_DYNAMIC_64_32_DRMSERVER: {
92            compile_multilib: "both",
93            multilib: {
94                lib32: {
95                    suffix: "32",
96                },
97                lib64: {
98                    suffix: "64",
99                },
100            },
101            required: [
102                "drmserver.zygote64_32.rc",
103                "drmserver.zygote64.rc",
104            ],
105            init_rc: ["drmserver_dynamic.rc"],
106            conditions_default: {
107                init_rc: ["drmserver.rc"],
108            },
109        },
110    },
111}
112
113cc_fuzz {
114    name: "drmserver_fuzzer",
115
116    defaults: [
117        "service_fuzzer_defaults",
118    ],
119
120    srcs: [
121        "fuzzer/DrmFuzzer.cpp",
122        "DrmManagerService.cpp",
123        "DrmManager.cpp",
124    ],
125
126    static_libs: [
127        "libmediautils",
128        "liblog",
129        "libdrmframeworkcommon",
130        "libselinux",
131        "libstagefright_foundation",
132    ],
133
134     shared_libs: [
135         "libmediametrics",
136     ],
137
138     fuzz_config: {
139         libfuzzer_options: [
140             "max_len=50000",
141         ],
142         cc: [
143             "[email protected]",
144         ],
145     },
146}
147