1*ec779b8eSAndroid Build Coastguard Worker// Copyright 2010 The Android Open Source Project 2*ec779b8eSAndroid Build Coastguard Worker// 3*ec779b8eSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*ec779b8eSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*ec779b8eSAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*ec779b8eSAndroid Build Coastguard Worker// 7*ec779b8eSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*ec779b8eSAndroid Build Coastguard Worker// 9*ec779b8eSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*ec779b8eSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*ec779b8eSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*ec779b8eSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*ec779b8eSAndroid Build Coastguard Worker// limitations under the License. 14*ec779b8eSAndroid Build Coastguard Worker 15*ec779b8eSAndroid Build Coastguard Workerpackage { 16*ec779b8eSAndroid Build Coastguard Worker default_team: "trendy_team_camera_framework", 17*ec779b8eSAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_av_camera_license"], 18*ec779b8eSAndroid Build Coastguard Worker} 19*ec779b8eSAndroid Build Coastguard Worker 20*ec779b8eSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 21*ec779b8eSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 22*ec779b8eSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 23*ec779b8eSAndroid Build Coastguard Worker// 24*ec779b8eSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 25*ec779b8eSAndroid Build Coastguard Worker// 26*ec779b8eSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 27*ec779b8eSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 28*ec779b8eSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 29*ec779b8eSAndroid Build Coastguard Worker// 30*ec779b8eSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 31*ec779b8eSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 32*ec779b8eSAndroid Build Coastguard Worker// used in the current project. 33*ec779b8eSAndroid Build Coastguard Worker// See: http://go/android-license-faq 34*ec779b8eSAndroid Build Coastguard Workerlicense { 35*ec779b8eSAndroid Build Coastguard Worker name: "frameworks_av_camera_license", 36*ec779b8eSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 37*ec779b8eSAndroid Build Coastguard Worker license_kinds: [ 38*ec779b8eSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 39*ec779b8eSAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 40*ec779b8eSAndroid Build Coastguard Worker "SPDX-license-identifier-Unicode-DFS", 41*ec779b8eSAndroid Build Coastguard Worker ], 42*ec779b8eSAndroid Build Coastguard Worker license_text: [ 43*ec779b8eSAndroid Build Coastguard Worker "NOTICE", 44*ec779b8eSAndroid Build Coastguard Worker ], 45*ec779b8eSAndroid Build Coastguard Worker} 46*ec779b8eSAndroid Build Coastguard Worker 47*ec779b8eSAndroid Build Coastguard Workeraconfig_declarations { 48*ec779b8eSAndroid Build Coastguard Worker name: "camera_platform_flags", 49*ec779b8eSAndroid Build Coastguard Worker package: "com.android.internal.camera.flags", 50*ec779b8eSAndroid Build Coastguard Worker container: "system", 51*ec779b8eSAndroid Build Coastguard Worker srcs: ["camera_platform.aconfig"], 52*ec779b8eSAndroid Build Coastguard Worker} 53*ec779b8eSAndroid Build Coastguard Worker 54*ec779b8eSAndroid Build Coastguard Workercc_aconfig_library { 55*ec779b8eSAndroid Build Coastguard Worker name: "camera_platform_flags_c_lib", 56*ec779b8eSAndroid Build Coastguard Worker aconfig_declarations: "camera_platform_flags", 57*ec779b8eSAndroid Build Coastguard Worker} 58*ec779b8eSAndroid Build Coastguard Worker 59*ec779b8eSAndroid Build Coastguard Workercc_aconfig_library { 60*ec779b8eSAndroid Build Coastguard Worker name: "camera_platform_flags_c_lib_for_test", 61*ec779b8eSAndroid Build Coastguard Worker aconfig_declarations: "camera_platform_flags", 62*ec779b8eSAndroid Build Coastguard Worker host_supported: true, 63*ec779b8eSAndroid Build Coastguard Worker mode: "test", 64*ec779b8eSAndroid Build Coastguard Worker} 65*ec779b8eSAndroid Build Coastguard Worker 66*ec779b8eSAndroid Build Coastguard Workerjava_aconfig_library { 67*ec779b8eSAndroid Build Coastguard Worker name: "camera_platform_flags_java_lib", 68*ec779b8eSAndroid Build Coastguard Worker aconfig_declarations: "camera_platform_flags", 69*ec779b8eSAndroid Build Coastguard Worker} 70*ec779b8eSAndroid Build Coastguard Worker 71*ec779b8eSAndroid Build Coastguard Workercc_library_headers { 72*ec779b8eSAndroid Build Coastguard Worker name: "camera_headers", 73*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: ["include"], 74*ec779b8eSAndroid Build Coastguard Worker} 75*ec779b8eSAndroid Build Coastguard Worker 76*ec779b8eSAndroid Build Coastguard Workercc_library { 77*ec779b8eSAndroid Build Coastguard Worker name: "libcamera_client", 78*ec779b8eSAndroid Build Coastguard Worker 79*ec779b8eSAndroid Build Coastguard Worker aidl: { 80*ec779b8eSAndroid Build Coastguard Worker export_aidl_headers: true, 81*ec779b8eSAndroid Build Coastguard Worker local_include_dirs: ["aidl"], 82*ec779b8eSAndroid Build Coastguard Worker include_dirs: [ 83*ec779b8eSAndroid Build Coastguard Worker "frameworks/native/aidl/gui", 84*ec779b8eSAndroid Build Coastguard Worker "frameworks/native/libs/permission/aidl", 85*ec779b8eSAndroid Build Coastguard Worker "hardware/interfaces/common/fmq/aidl", 86*ec779b8eSAndroid Build Coastguard Worker "hardware/interfaces/common/aidl", 87*ec779b8eSAndroid Build Coastguard Worker ], 88*ec779b8eSAndroid Build Coastguard Worker }, 89*ec779b8eSAndroid Build Coastguard Worker 90*ec779b8eSAndroid Build Coastguard Worker srcs: [ 91*ec779b8eSAndroid Build Coastguard Worker // AIDL files for camera interfaces 92*ec779b8eSAndroid Build Coastguard Worker // The headers for these interfaces will be available to any modules that 93*ec779b8eSAndroid Build Coastguard Worker // include libcamera_client, at the path "aidl/package/path/BnFoo.h" 94*ec779b8eSAndroid Build Coastguard Worker ":libcamera_client_aidl", 95*ec779b8eSAndroid Build Coastguard Worker 96*ec779b8eSAndroid Build Coastguard Worker // Source for camera interface parcelables, and manually-written interfaces 97*ec779b8eSAndroid Build Coastguard Worker "Camera.cpp", 98*ec779b8eSAndroid Build Coastguard Worker "CameraBase.cpp", 99*ec779b8eSAndroid Build Coastguard Worker "CameraMetadata.cpp", 100*ec779b8eSAndroid Build Coastguard Worker "CameraParameters.cpp", 101*ec779b8eSAndroid Build Coastguard Worker "CameraParameters2.cpp", 102*ec779b8eSAndroid Build Coastguard Worker "CameraSessionStats.cpp", 103*ec779b8eSAndroid Build Coastguard Worker "CameraUtils.cpp", 104*ec779b8eSAndroid Build Coastguard Worker "CaptureResult.cpp", 105*ec779b8eSAndroid Build Coastguard Worker "ICamera.cpp", 106*ec779b8eSAndroid Build Coastguard Worker "ICameraClient.cpp", 107*ec779b8eSAndroid Build Coastguard Worker "ICameraRecordingProxy.cpp", 108*ec779b8eSAndroid Build Coastguard Worker "VendorTagDescriptor.cpp", 109*ec779b8eSAndroid Build Coastguard Worker "camera2/CaptureRequest.cpp", 110*ec779b8eSAndroid Build Coastguard Worker "camera2/ConcurrentCamera.cpp", 111*ec779b8eSAndroid Build Coastguard Worker "camera2/OutputConfiguration.cpp", 112*ec779b8eSAndroid Build Coastguard Worker "camera2/SessionConfiguration.cpp", 113*ec779b8eSAndroid Build Coastguard Worker "camera2/SubmitInfo.cpp", 114*ec779b8eSAndroid Build Coastguard Worker ], 115*ec779b8eSAndroid Build Coastguard Worker 116*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 117*ec779b8eSAndroid Build Coastguard Worker "android.hardware.common.fmq-V1-cpp", 118*ec779b8eSAndroid Build Coastguard Worker "android.hardware.common-V2-cpp", 119*ec779b8eSAndroid Build Coastguard Worker "camera_platform_flags_c_lib", 120*ec779b8eSAndroid Build Coastguard Worker "framework-permission-aidl-cpp", 121*ec779b8eSAndroid Build Coastguard Worker "lib-platform-compat-native-api", 122*ec779b8eSAndroid Build Coastguard Worker "libbase", 123*ec779b8eSAndroid Build Coastguard Worker "libbinder", 124*ec779b8eSAndroid Build Coastguard Worker "libcamera_metadata", 125*ec779b8eSAndroid Build Coastguard Worker "libcutils", 126*ec779b8eSAndroid Build Coastguard Worker "libgui", 127*ec779b8eSAndroid Build Coastguard Worker "liblog", 128*ec779b8eSAndroid Build Coastguard Worker "libnativewindow", 129*ec779b8eSAndroid Build Coastguard Worker "libpermission", 130*ec779b8eSAndroid Build Coastguard Worker "libutils", 131*ec779b8eSAndroid Build Coastguard Worker ], 132*ec779b8eSAndroid Build Coastguard Worker 133*ec779b8eSAndroid Build Coastguard Worker include_dirs: [ 134*ec779b8eSAndroid Build Coastguard Worker "frameworks/native/include/media/openmax", 135*ec779b8eSAndroid Build Coastguard Worker "system/media/private/camera/include", 136*ec779b8eSAndroid Build Coastguard Worker ], 137*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: [ 138*ec779b8eSAndroid Build Coastguard Worker "include", 139*ec779b8eSAndroid Build Coastguard Worker "include/camera", 140*ec779b8eSAndroid Build Coastguard Worker ], 141*ec779b8eSAndroid Build Coastguard Worker export_shared_lib_headers: [ 142*ec779b8eSAndroid Build Coastguard Worker "framework-permission-aidl-cpp", 143*ec779b8eSAndroid Build Coastguard Worker "android.hardware.common.fmq-V1-cpp", 144*ec779b8eSAndroid Build Coastguard Worker "android.hardware.common-V2-cpp", 145*ec779b8eSAndroid Build Coastguard Worker "libcamera_metadata", 146*ec779b8eSAndroid Build Coastguard Worker "libgui", 147*ec779b8eSAndroid Build Coastguard Worker "libnativewindow", 148*ec779b8eSAndroid Build Coastguard Worker ], 149*ec779b8eSAndroid Build Coastguard Worker 150*ec779b8eSAndroid Build Coastguard Worker cflags: [ 151*ec779b8eSAndroid Build Coastguard Worker "-Wall", 152*ec779b8eSAndroid Build Coastguard Worker "-Werror", 153*ec779b8eSAndroid Build Coastguard Worker "-Wextra", 154*ec779b8eSAndroid Build Coastguard Worker ], 155*ec779b8eSAndroid Build Coastguard Worker 156*ec779b8eSAndroid Build Coastguard Worker} 157*ec779b8eSAndroid Build Coastguard Worker 158*ec779b8eSAndroid Build Coastguard Workercc_library_host_static { 159*ec779b8eSAndroid Build Coastguard Worker name: "libcamera_client_host", 160*ec779b8eSAndroid Build Coastguard Worker 161*ec779b8eSAndroid Build Coastguard Worker srcs: [ 162*ec779b8eSAndroid Build Coastguard Worker "CameraMetadata.cpp", 163*ec779b8eSAndroid Build Coastguard Worker "VendorTagDescriptor.cpp", 164*ec779b8eSAndroid Build Coastguard Worker ], 165*ec779b8eSAndroid Build Coastguard Worker 166*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 167*ec779b8eSAndroid Build Coastguard Worker "libbase", 168*ec779b8eSAndroid Build Coastguard Worker "libcamera_metadata", 169*ec779b8eSAndroid Build Coastguard Worker ], 170*ec779b8eSAndroid Build Coastguard Worker 171*ec779b8eSAndroid Build Coastguard Worker include_dirs: [ 172*ec779b8eSAndroid Build Coastguard Worker "frameworks/native/include/media/openmax", 173*ec779b8eSAndroid Build Coastguard Worker "system/media/private/camera/include", 174*ec779b8eSAndroid Build Coastguard Worker ], 175*ec779b8eSAndroid Build Coastguard Worker 176*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: [ 177*ec779b8eSAndroid Build Coastguard Worker "include", 178*ec779b8eSAndroid Build Coastguard Worker "include/camera", 179*ec779b8eSAndroid Build Coastguard Worker ], 180*ec779b8eSAndroid Build Coastguard Worker} 181*ec779b8eSAndroid Build Coastguard Worker 182*ec779b8eSAndroid Build Coastguard Worker// AIDL interface between camera clients and the camera service. 183*ec779b8eSAndroid Build Coastguard Workerfilegroup { 184*ec779b8eSAndroid Build Coastguard Worker name: "libcamera_client_aidl", 185*ec779b8eSAndroid Build Coastguard Worker srcs: [ 186*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/CameraExtensionSessionStats.aidl", 187*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/CameraFeatureCombinationStats.aidl", 188*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/ICameraService.aidl", 189*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/ICameraServiceListener.aidl", 190*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/ICameraServiceProxy.aidl", 191*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl", 192*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/camera2/ICameraDeviceUser.aidl", 193*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/camera2/ICameraInjectionCallback.aidl", 194*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/camera2/ICameraInjectionSession.aidl", 195*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/camera2/ICameraOfflineSession.aidl", 196*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/camera2/CameraMetadataInfo.aidl", 197*ec779b8eSAndroid Build Coastguard Worker ], 198*ec779b8eSAndroid Build Coastguard Worker path: "aidl", 199*ec779b8eSAndroid Build Coastguard Worker} 200*ec779b8eSAndroid Build Coastguard Worker 201*ec779b8eSAndroid Build Coastguard Worker// Extra AIDL files that are used by framework.jar but not libcamera_client 202*ec779b8eSAndroid Build Coastguard Worker// because they have hand-written native implementations. 203*ec779b8eSAndroid Build Coastguard Workerfilegroup { 204*ec779b8eSAndroid Build Coastguard Worker name: "libcamera_client_framework_aidl", 205*ec779b8eSAndroid Build Coastguard Worker srcs: [ 206*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/ICamera.aidl", 207*ec779b8eSAndroid Build Coastguard Worker "aidl/android/hardware/ICameraClient.aidl", 208*ec779b8eSAndroid Build Coastguard Worker ], 209*ec779b8eSAndroid Build Coastguard Worker path: "aidl", 210*ec779b8eSAndroid Build Coastguard Worker} 211