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/OutputConfiguration.cpp", 44 "camera2/SessionConfiguration.cpp", 45 "camera2/SubmitInfo.cpp", 46 "CameraBase.cpp", 47 "CameraUtils.cpp", 48 "VendorTagDescriptor.cpp", 49 ], 50 51 shared_libs: [ 52 "libcutils", 53 "libutils", 54 "liblog", 55 "libbinder", 56 "libgui", 57 "libcamera_metadata", 58 "libnativewindow", 59 ], 60 61 include_dirs: [ 62 "system/media/private/camera/include", 63 "frameworks/native/include/media/openmax", 64 ], 65 export_include_dirs: [ 66 "include", 67 "include/camera" 68 ], 69 export_shared_lib_headers: ["libcamera_metadata"], 70 71 cflags: [ 72 "-Werror", 73 "-Wall", 74 "-Wextra", 75 ], 76 77} 78 79// AIDL interface between camera clients and the camera service. 80filegroup { 81 name: "libcamera_client_aidl", 82 srcs: [ 83 "aidl/android/hardware/ICameraService.aidl", 84 "aidl/android/hardware/ICameraServiceListener.aidl", 85 "aidl/android/hardware/ICameraServiceProxy.aidl", 86 "aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl", 87 "aidl/android/hardware/camera2/ICameraDeviceUser.aidl", 88 ], 89} 90 91// Extra AIDL files that are used by framework.jar but not libcamera_client 92// because they have hand-written native implementations. 93filegroup { 94 name: "libcamera_client_framework_aidl", 95 srcs: [ 96 "aidl/android/hardware/ICamera.aidl", 97 "aidl/android/hardware/ICameraClient.aidl", 98 ], 99} 100