1// Copyright 2010 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 15cc_library_shared { 16 name: "libcamera_client", 17 18 aidl: { 19 export_aidl_headers: true, 20 local_include_dirs: ["aidl"], 21 include_dirs: [ 22 "frameworks/native/aidl/gui", 23 ], 24 }, 25 26 srcs: [ 27 // AIDL files for camera interfaces 28 // The headers for these interfaces will be available to any modules that 29 // include libcamera_client, at the path "aidl/package/path/BnFoo.h" 30 ":libcamera_client_aidl", 31 32 // Source for camera interface parcelables, and manually-written interfaces 33 "Camera.cpp", 34 "CameraMetadata.cpp", 35 "CameraParameters.cpp", 36 "CaptureResult.cpp", 37 "CameraParameters2.cpp", 38 "ICamera.cpp", 39 "ICameraClient.cpp", 40 "ICameraRecordingProxy.cpp", 41 "ICameraRecordingProxyListener.cpp", 42 "camera2/CaptureRequest.cpp", 43 "camera2/ConcurrentCamera.cpp", 44 "camera2/OutputConfiguration.cpp", 45 "camera2/SessionConfiguration.cpp", 46 "camera2/SubmitInfo.cpp", 47 "CameraBase.cpp", 48 "CameraUtils.cpp", 49 "VendorTagDescriptor.cpp", 50 ], 51 52 shared_libs: [ 53 "libcutils", 54 "libutils", 55 "liblog", 56 "libbinder", 57 "libgui", 58 "libcamera_metadata", 59 "libnativewindow", 60 ], 61 62 include_dirs: [ 63 "system/media/private/camera/include", 64 "frameworks/native/include/media/openmax", 65 ], 66 export_include_dirs: [ 67 "include", 68 "include/camera" 69 ], 70 export_shared_lib_headers: ["libcamera_metadata", "libnativewindow", "libgui"], 71 72 cflags: [ 73 "-Werror", 74 "-Wall", 75 "-Wextra", 76 ], 77 78} 79 80// AIDL interface between camera clients and the camera service. 81filegroup { 82 name: "libcamera_client_aidl", 83 srcs: [ 84 "aidl/android/hardware/ICameraService.aidl", 85 "aidl/android/hardware/ICameraServiceListener.aidl", 86 "aidl/android/hardware/ICameraServiceProxy.aidl", 87 "aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl", 88 "aidl/android/hardware/camera2/ICameraDeviceUser.aidl", 89 "aidl/android/hardware/camera2/ICameraOfflineSession.aidl", 90 ], 91 path: "aidl", 92} 93 94// Extra AIDL files that are used by framework.jar but not libcamera_client 95// because they have hand-written native implementations. 96filegroup { 97 name: "libcamera_client_framework_aidl", 98 srcs: [ 99 "aidl/android/hardware/ICamera.aidl", 100 "aidl/android/hardware/ICameraClient.aidl", 101 ], 102 path: "aidl", 103} 104