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
19cc_library_shared {
20    name: "libcameraservice",
21
22    // Camera service source
23
24    srcs: [
25        "CameraService.cpp",
26        "CameraFlashlight.cpp",
27        "common/Camera2ClientBase.cpp",
28        "common/CameraDeviceBase.cpp",
29        "common/CameraOfflineSessionBase.cpp",
30        "common/CameraProviderManager.cpp",
31        "common/DepthPhotoProcessor.cpp",
32        "common/FrameProcessorBase.cpp",
33        "api1/CameraClient.cpp",
34        "api1/Camera2Client.cpp",
35        "api1/client2/Parameters.cpp",
36        "api1/client2/FrameProcessor.cpp",
37        "api1/client2/StreamingProcessor.cpp",
38        "api1/client2/JpegProcessor.cpp",
39        "api1/client2/CallbackProcessor.cpp",
40        "api1/client2/JpegCompressor.cpp",
41        "api1/client2/CaptureSequencer.cpp",
42        "api1/client2/ZslProcessor.cpp",
43        "api2/CameraDeviceClient.cpp",
44        "api2/CameraOfflineSessionClient.cpp",
45        "api2/CompositeStream.cpp",
46        "api2/DepthCompositeStream.cpp",
47        "api2/HeicEncoderInfoManager.cpp",
48        "api2/HeicCompositeStream.cpp",
49        "device1/CameraHardwareInterface.cpp",
50        "device3/BufferUtils.cpp",
51        "device3/Camera3Device.cpp",
52        "device3/Camera3OfflineSession.cpp",
53        "device3/Camera3Stream.cpp",
54        "device3/Camera3IOStreamBase.cpp",
55        "device3/Camera3InputStream.cpp",
56        "device3/Camera3OutputStream.cpp",
57        "device3/Camera3DummyStream.cpp",
58        "device3/Camera3SharedOutputStream.cpp",
59        "device3/StatusTracker.cpp",
60        "device3/Camera3BufferManager.cpp",
61        "device3/Camera3StreamSplitter.cpp",
62        "device3/CoordinateMapper.cpp",
63        "device3/DistortionMapper.cpp",
64        "device3/ZoomRatioMapper.cpp",
65        "device3/RotateAndCropMapper.cpp",
66        "device3/Camera3OutputStreamInterface.cpp",
67        "device3/Camera3OutputUtils.cpp",
68        "gui/RingBufferConsumer.cpp",
69        "hidl/AidlCameraDeviceCallbacks.cpp",
70        "hidl/AidlCameraServiceListener.cpp",
71        "hidl/Convert.cpp",
72        "hidl/HidlCameraDeviceUser.cpp",
73        "hidl/HidlCameraService.cpp",
74        "utils/CameraThreadState.cpp",
75        "utils/CameraTraces.cpp",
76        "utils/AutoConditionLock.cpp",
77        "utils/ExifUtils.cpp",
78        "utils/SessionConfigurationUtils.cpp",
79        "utils/TagMonitor.cpp",
80        "utils/LatencyHistogram.cpp",
81    ],
82
83    header_libs: [
84        "libmediadrm_headers",
85        "libmediametrics_headers",
86    ],
87
88    shared_libs: [
89        "libbase",
90        "libdl",
91        "libexif",
92        "libui",
93        "liblog",
94        "libutilscallstack",
95        "libutils",
96        "libbinder",
97        "libcutils",
98        "libmedia",
99        "libmediautils",
100        "libcamera_client",
101        "libcamera_metadata",
102        "libdynamic_depth",
103        "libfmq",
104        "libgui",
105        "libhardware",
106        "libhidlbase",
107        "libimage_io",
108        "libjpeg",
109        "libmedia_codeclist",
110        "libmedia_omx",
111        "libmemunreachable",
112        "libsensorprivacy",
113        "libstagefright",
114        "libstagefright_foundation",
115        "libxml2",
116        "libyuv",
117        "android.frameworks.cameraservice.common@2.0",
118        "android.frameworks.cameraservice.service@2.0",
119        "android.frameworks.cameraservice.service@2.1",
120        "android.frameworks.cameraservice.device@2.0",
121        "android.hardware.camera.common@1.0",
122        "android.hardware.camera.provider@2.4",
123        "android.hardware.camera.provider@2.5",
124        "android.hardware.camera.provider@2.6",
125        "android.hardware.camera.device@1.0",
126        "android.hardware.camera.device@3.2",
127        "android.hardware.camera.device@3.3",
128        "android.hardware.camera.device@3.4",
129        "android.hardware.camera.device@3.5",
130        "android.hardware.camera.device@3.6"
131    ],
132
133    static_libs: [
134        "libbinderthreadstateutils",
135    ],
136
137    export_shared_lib_headers: [
138        "libbinder",
139        "libcamera_client",
140        "libfmq",
141        "libsensorprivacy",
142    ],
143
144    include_dirs: [
145        "system/media/private/camera/include",
146        "frameworks/native/include/media/openmax",
147        "frameworks/av/media/ndk",
148        "external/dynamic_depth/includes",
149        "external/dynamic_depth/internal",
150    ],
151
152    export_include_dirs: ["."],
153
154    cflags: [
155        "-Wall",
156        "-Wextra",
157        "-Werror",
158        "-Wno-ignored-qualifiers",
159    ],
160
161}
162
163