xref: /aosp_15_r20/frameworks/av/services/camera/libcameraservice/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1// Copyright 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//
16// libcameraservice
17//
18
19package {
20    default_applicable_licenses: [
21        "frameworks_av_services_camera_libcameraservice_license",
22    ],
23}
24
25// Added automatically by a large-scale-change
26// See: http://go/android-license-faq
27license {
28    name: "frameworks_av_services_camera_libcameraservice_license",
29    visibility: [":__subpackages__"],
30    license_kinds: [
31        "SPDX-license-identifier-Apache-2.0",
32    ],
33    license_text: [
34        "NOTICE",
35    ],
36}
37
38cc_defaults {
39    name: "libcameraservice_deps",
40    defaults: ["android.hardware.graphics.common-ndk_shared"],
41    shared_libs: [
42        "libactivitymanager_aidl",
43        "libbase",
44        "libdl",
45        "libui",
46        "liblog",
47        "libutilscallstack",
48        "libutils",
49        "libbinder",
50        "libbinder_ndk",
51        "libactivitymanager_aidl",
52        "libpermission",
53        "libcutils",
54        "libexif",
55        "libmedia",
56        "libmediautils",
57        "libcamera_client",
58        "libcamera_metadata",
59        "libfmq",
60        "libgui",
61        "libguiflags",
62        "libhardware",
63        "libhidlbase",
64        "libimage_io",
65        "libjpeg",
66        "libultrahdr",
67        "libmedia_codeclist",
68        "libmedia_omx",
69        "libmemunreachable",
70        "libnativewindow",
71        "libprocessgroup",
72        "libprocinfo",
73        "libsensorprivacy",
74        "libstagefright",
75        "libstagefright_foundation",
76        "libvendorsupport",
77        "libxml2",
78        "libyuv",
79        "android.companion.virtual.virtualdevice_aidl-cpp",
80        "android.companion.virtualdevice.flags-aconfig-cc",
81        "[email protected]",
82        "[email protected]",
83        "[email protected]",
84        "[email protected]",
85        "[email protected]",
86        "[email protected]",
87        "[email protected]",
88        "[email protected]",
89        "android.hardware.common-V2-ndk",
90        "android.hardware.common-V2-cpp",
91        "android.hardware.common.fmq-V1-ndk",
92        "android.hardware.common.fmq-V1-cpp",
93        "camera_platform_flags_c_lib",
94        "com.android.window.flags.window-aconfig_flags_c_lib",
95        "media_permission-aidl-cpp",
96    ],
97
98    static_libs: [
99        "[email protected]",
100        "[email protected]",
101        "[email protected]",
102        "[email protected]",
103        "[email protected]",
104        "[email protected]",
105        "android.frameworks.cameraservice.common-V1-ndk",
106        "android.frameworks.cameraservice.service-V3-ndk",
107        "android.frameworks.cameraservice.device-V3-ndk",
108        "android.hardware.camera.common-V1-ndk",
109        "android.hardware.camera.device-V3-ndk",
110        "android.hardware.camera.metadata-V3-ndk",
111        "[email protected]",
112        "[email protected]",
113        "[email protected]",
114        "[email protected]",
115        "android.hardware.camera.provider-V3-ndk",
116        "libaidlcommonsupport",
117        "libbinderthreadstateutils",
118        "libcameraservice_device_independent",
119        "libdynamic_depth",
120        "libprocessinfoservice_aidl",
121        "libvirtualdevicebuildflags",
122        "media_permission-aidl-cpp",
123    ],
124}
125
126cc_library {
127    name: "libcameraservice",
128
129    defaults: [
130        "libcameraservice_deps",
131    ],
132    // Camera service source
133
134    srcs: [
135        "CameraService.cpp",
136        "CameraServiceWatchdog.cpp",
137        "CameraFlashlight.cpp",
138        "common/Camera2ClientBase.cpp",
139        "common/CameraDeviceBase.cpp",
140        "common/CameraOfflineSessionBase.cpp",
141        "common/CameraProviderManager.cpp",
142        "common/FrameProcessorBase.cpp",
143        "common/hidl/HidlProviderInfo.cpp",
144        "common/aidl/AidlProviderInfo.cpp",
145        "api1/Camera2Client.cpp",
146        "api1/client2/Parameters.cpp",
147        "api1/client2/FrameProcessor.cpp",
148        "api1/client2/StreamingProcessor.cpp",
149        "api1/client2/JpegProcessor.cpp",
150        "api1/client2/CallbackProcessor.cpp",
151        "api1/client2/CaptureSequencer.cpp",
152        "api1/client2/ZslProcessor.cpp",
153        "api2/CameraDeviceClient.cpp",
154        "api2/CameraOfflineSessionClient.cpp",
155        "api2/CompositeStream.cpp",
156        "api2/DepthCompositeStream.cpp",
157        "api2/HeicEncoderInfoManager.cpp",
158        "api2/HeicCompositeStream.cpp",
159        "api2/JpegRCompositeStream.cpp",
160        "device3/BufferUtils.cpp",
161        "device3/Camera3Device.cpp",
162        "device3/Camera3OfflineSession.cpp",
163        "device3/Camera3Stream.cpp",
164        "device3/Camera3IOStreamBase.cpp",
165        "device3/Camera3InputStream.cpp",
166        "device3/Camera3OutputStream.cpp",
167        "device3/Camera3FakeStream.cpp",
168        "device3/Camera3SharedOutputStream.cpp",
169        "device3/StatusTracker.cpp",
170        "device3/Camera3BufferManager.cpp",
171        "device3/Camera3StreamSplitter.cpp",
172        "device3/Camera3OutputStreamInterface.cpp",
173        "device3/Camera3OutputUtils.cpp",
174        "device3/Camera3DeviceInjectionMethods.cpp",
175        "device3/deprecated/DeprecatedCamera3StreamSplitter.cpp",
176        "device3/UHRCropAndMeteringRegionMapper.cpp",
177        "device3/PreviewFrameSpacer.cpp",
178        "device3/hidl/HidlCamera3Device.cpp",
179        "device3/hidl/HidlCamera3OfflineSession.cpp",
180        "device3/hidl/HidlCamera3OutputUtils.cpp",
181        "device3/aidl/AidlCamera3Device.cpp",
182        "device3/aidl/AidlCamera3OutputUtils.cpp",
183        "device3/aidl/AidlCamera3OfflineSession.cpp",
184        "device3/aidl/AidlCamera3SharedDevice.cpp",
185        "gui/RingBufferConsumer.cpp",
186        "hidl/AidlCameraDeviceCallbacks.cpp",
187        "hidl/AidlCameraServiceListener.cpp",
188        "hidl/HidlCameraDeviceUser.cpp",
189        "hidl/HidlCameraService.cpp",
190        "hidl/Utils.cpp",
191        "aidl/AidlCameraDeviceCallbacks.cpp",
192        "aidl/AidlCameraDeviceUser.cpp",
193        "aidl/AidlCameraService.cpp",
194        "aidl/AidlCameraServiceListener.cpp",
195        "aidl/AidlUtils.cpp",
196        "aidl/DeathPipe.cpp",
197        "utils/AttributionAndPermissionUtils.cpp",
198        "utils/CameraServiceProxyWrapper.cpp",
199        "utils/CameraTraces.cpp",
200        "utils/AutoConditionLock.cpp",
201        "utils/SchedulingPolicyUtils.cpp",
202        "utils/SessionConfigurationUtils.cpp",
203        "utils/SessionConfigurationUtilsHidl.cpp",
204        "utils/TagMonitor.cpp",
205        "utils/LatencyHistogram.cpp",
206        "utils/Utils.cpp",
207        "utils/VirtualDeviceCameraIdMapper.cpp",
208    ],
209
210    header_libs: [
211        "libdynamic_depth-internal_headers",
212        "libdynamic_depth-public_headers",
213        "libmediadrm_headers",
214        "libmediametrics_headers",
215    ],
216
217    export_shared_lib_headers: [
218        "libbinder",
219        "libactivitymanager_aidl",
220        "libpermission",
221        "libcamera_client",
222        "libfmq",
223        "libsensorprivacy",
224    ],
225
226    include_dirs: [
227        "system/media/private/camera/include",
228        "frameworks/native/include/media/openmax",
229    ],
230
231    export_include_dirs: ["."],
232
233    cflags: [
234        "-Wall",
235        "-Wextra",
236        "-Werror",
237        "-Wno-ignored-qualifiers",
238    ],
239}
240
241cc_library_static {
242    name: "libcameraservice_device_independent",
243    host_supported: true,
244
245    // Camera service source
246
247    srcs: [
248        "common/DepthPhotoProcessor.cpp",
249        "device3/CoordinateMapper.cpp",
250        "device3/DistortionMapper.cpp",
251        "device3/RotateAndCropMapper.cpp",
252        "device3/ZoomRatioMapper.cpp",
253        "utils/ExifUtils.cpp",
254        "utils/SessionConfigurationUtilsHost.cpp",
255        "utils/SessionStatsBuilder.cpp",
256    ],
257
258    header_libs: [
259        "libdynamic_depth-internal_headers",
260        "libdynamic_depth-public_headers",
261    ],
262
263    shared_libs: [
264        "libbase",
265        "libbinder",
266        "libcamera_metadata",
267        "libdynamic_depth",
268        "libexif",
269        "libjpeg",
270        "liblog",
271        "libutils",
272        "libxml2",
273    ],
274
275    target: {
276        android: {
277            shared_libs: [
278                "camera_platform_flags_c_lib",
279            ],
280        },
281        host: {
282            shared_libs: [
283                "camera_platform_flags_c_lib_for_test",
284            ],
285        },
286    },
287
288    include_dirs: [
289        "frameworks/av/camera/include",
290        "frameworks/av/camera/include/camera",
291    ],
292
293    export_include_dirs: ["."],
294
295    cflags: [
296        "-Wall",
297        "-Wextra",
298        "-Werror",
299        "-Wno-ignored-qualifiers",
300    ],
301}
302