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 15 subdirs = ["ndk"] 16 17 cc_library_shared { 18 name: "libcamera_client", 19 20 aidl: { 21 export_aidl_headers: true, 22 local_include_dirs: ["aidl"], 23 include_dirs: [ 24 "frameworks/native/aidl/gui", 25 ], 26 }, 27 28 srcs: [ 29 // AIDL files for camera interfaces 30 // The headers for these interfaces will be available to any modules that 31 // include libcamera_client, at the path "aidl/package/path/BnFoo.h" 32 ":libcamera_client_aidl", 33 34 // Source for camera interface parcelables, and manually-written interfaces 35 "Camera.cpp", 36 "CameraMetadata.cpp", 37 "CameraParameters.cpp", 38 "CaptureResult.cpp", 39 "CameraParameters2.cpp", 40 "ICamera.cpp", 41 "ICameraClient.cpp", 42 "ICameraRecordingProxy.cpp", 43 "ICameraRecordingProxyListener.cpp", 44 "camera2/CaptureRequest.cpp", 45 "camera2/OutputConfiguration.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"], 71 72 cflags: [ 73 "-Werror", 74 "-Wall", 75 "-Wextra", 76 ], 77 78 } 79 80 // AIDL interface between camera clients and the camera service. 81 filegroup { 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 ], 90 } 91 92 // Extra AIDL files that are used by framework.jar but not libcamera_client 93 // because they have hand-written native implementations. 94 filegroup { 95 name: "libcamera_client_framework_aidl", 96 srcs: [ 97 "aidl/android/hardware/ICamera.aidl", 98 "aidl/android/hardware/ICameraClient.aidl", 99 ], 100 } 101