• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2016 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// Headers module is in frameworks/av/Android.bp because modules are not allowed
16// to refer to headers in parent directories and the headers live in
17// frameworks/av/include.
18
19ndk_library {
20    name: "libcamera2ndk",
21    symbol_file: "libcamera2ndk.map.txt",
22    first_version: "24",
23    unversioned_until: "current",
24}
25
26ndk_headers {
27    name: "libcamera2ndk_headers",
28    from: "include/camera",
29    to: "camera",
30    srcs: ["include/camera/**/*.h"],
31    license: "NOTICE",
32}
33
34cc_library_shared {
35    name: "libcamera2ndk",
36    srcs: [
37        "NdkCameraManager.cpp",
38        "NdkCameraMetadata.cpp",
39        "NdkCameraDevice.cpp",
40        "NdkCaptureRequest.cpp",
41        "NdkCameraCaptureSession.cpp",
42        "impl/ACameraManager.cpp",
43        "impl/ACameraMetadata.cpp",
44        "impl/ACameraDevice.cpp",
45        "impl/ACameraCaptureSession.cpp",
46    ],
47    shared_libs: [
48        "libbinder",
49        "liblog",
50        "libgui",
51        "libutils",
52        "libandroid_runtime",
53        "libcamera_client",
54        "libstagefright_foundation",
55        "libcutils",
56        "libcamera_metadata",
57        "libmediandk",
58        "libnativewindow",
59    ],
60    header_libs: [
61        "jni_headers",
62    ],
63    cflags: [
64        "-fvisibility=hidden",
65        "-DEXPORT=__attribute__ ((visibility (\"default\")))",
66        "-Wall",
67        "-Wextra",
68        "-Werror",
69    ],
70    // TODO: jchowdhary@, use header_libs instead b/131165718
71    include_dirs: [
72        "system/media/private/camera/include",
73    ],
74    export_include_dirs: ["include"],
75    export_shared_lib_headers: [
76        "libnativewindow",
77    ],
78    version_script: "libcamera2ndk.map.txt",
79}
80
81cc_library_shared {
82    name: "libcamera2ndk_vendor",
83    vendor: true,
84    srcs: [
85        "ndk_vendor/impl/ACameraDevice.cpp",
86        "ndk_vendor/impl/ACameraManager.cpp",
87        "ndk_vendor/impl/utils.cpp",
88        "impl/ACameraMetadata.cpp",
89        "impl/ACameraCaptureSession.cpp",
90        "NdkCameraMetadata.cpp",
91        "NdkCameraCaptureSession.cpp",
92        "NdkCameraManager.cpp",
93        "NdkCameraDevice.cpp",
94        "NdkCaptureRequest.cpp",
95    ],
96
97    export_include_dirs: ["include"],
98    export_shared_lib_headers: [
99        "libcutils",
100    ],
101    local_include_dirs: [
102        ".",
103        "include",
104        "impl",
105    ],
106    cflags: [
107        "-fvisibility=hidden",
108        "-DEXPORT=__attribute__((visibility(\"default\")))",
109        "-D__ANDROID_VNDK__",
110    ],
111
112    shared_libs: [
113        "libfmq",
114        "libhidlbase",
115        "libhardware",
116        "libnativewindow",
117        "liblog",
118        "libutils",
119        "libstagefright_foundation",
120        "libcutils",
121        "libcamera_metadata",
122        "libmediandk",
123        "android.frameworks.cameraservice.device@2.0",
124        "android.frameworks.cameraservice.common@2.0",
125        "android.frameworks.cameraservice.service@2.0",
126        "android.frameworks.cameraservice.service@2.1",
127    ],
128    static_libs: [
129        "android.hardware.camera.common@1.0-helper",
130        "libarect",
131    ],
132    // TODO: jchowdhary@, use header_libs instead b/131165718
133    include_dirs: [
134        "system/media/private/camera/include",
135    ],
136    product_variables: {
137        pdk: {
138            enabled: false,
139        },
140    },
141}
142
143cc_test {
144    name: "ACameraNdkVendorTest",
145    vendor: true,
146    srcs: [
147        "ndk_vendor/tests/AImageReaderVendorTest.cpp",
148        "ndk_vendor/tests/ACameraManagerTest.cpp",
149    ],
150    shared_libs: [
151        "libcamera2ndk_vendor",
152        "libcamera_metadata",
153        "libmediandk",
154        "libnativewindow",
155        "libutils",
156        "libui",
157        "libcutils",
158        "liblog",
159    ],
160    static_libs: [
161        "android.hardware.camera.common@1.0-helper",
162    ],
163    cflags: [
164        "-D__ANDROID_VNDK__",
165    ],
166}
167