blob: fc58583144d612831ade47a25a44e5f49aea4ee8 [file] [log] [blame]
Dan Albert2975a242016-09-23 16:17:45 -07001// 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 {
Dan Willemsen2c885592017-04-07 15:48:32 -070020 name: "libmediandk",
Dan Albert2975a242016-09-23 16:17:45 -070021 symbol_file: "libmediandk.map.txt",
22 first_version: "21",
Dan Albert1714f2e2017-01-05 16:00:15 -080023 unversioned_until: "current",
Dan Albert2975a242016-09-23 16:17:45 -070024}
Colin Cross7e8d4ba2017-05-04 16:17:42 -070025
26ndk_headers {
27 name: "libmediandk_headers",
28 from: "include/media",
29 to: "media",
30 srcs: ["include/media/**/*.h"],
31 license: "NOTICE",
32}
Colin Cross3f4c0df2017-05-04 16:19:06 -070033
34cc_library_shared {
35 name: "libmediandk",
36
37 srcs: [
38 "NdkMediaCodec.cpp",
39 "NdkMediaCrypto.cpp",
Robert Shih0df451b2017-12-08 14:16:50 -080040 "NdkMediaDataSource.cpp",
Colin Cross3f4c0df2017-05-04 16:19:06 -070041 "NdkMediaExtractor.cpp",
Robert Shiha303ec82018-09-19 16:29:43 -070042 "NdkMediaError.cpp",
Colin Cross3f4c0df2017-05-04 16:19:06 -070043 "NdkMediaFormat.cpp",
44 "NdkMediaMuxer.cpp",
45 "NdkMediaDrm.cpp",
46 "NdkImage.cpp",
47 "NdkImageReader.cpp",
48 ],
49
50 include_dirs: [
51 "bionic/libc/private",
52 "frameworks/base/core/jni",
53 "frameworks/native/include/media/openmax",
54 "system/media/camera/include",
55 ],
56
57 cflags: [
58 "-fvisibility=hidden",
59 "-DEXPORT=__attribute__((visibility(\"default\")))",
Colin Cross3f4c0df2017-05-04 16:19:06 -070060 "-Werror",
61 "-Wall",
62 ],
63
64 static_libs: [
65 "libgrallocusage",
66 ],
67
68 shared_libs: [
Jayant Chowdhary249e1f22018-09-24 15:07:45 -070069 "android.hardware.graphics.bufferqueue@1.0",
70 "android.hidl.token@1.0-utils",
Colin Cross3f4c0df2017-05-04 16:19:06 -070071 "libbinder",
72 "libmedia",
Jae Shin8568cb92017-10-30 11:13:36 +090073 "libmedia_omx",
Colin Cross3f4c0df2017-05-04 16:19:06 -070074 "libmedia_jni",
75 "libmediadrm",
Dongwon Kang7dc218e2018-01-29 08:59:33 -080076 "libmediaextractor",
Colin Cross3f4c0df2017-05-04 16:19:06 -070077 "libstagefright",
78 "libstagefright_foundation",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -070079 "libstagefright_bufferqueue_helper",
Colin Cross3f4c0df2017-05-04 16:19:06 -070080 "liblog",
81 "libutils",
82 "libcutils",
83 "libandroid",
84 "libandroid_runtime",
85 "libbinder",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -070086 "libhwbinder",
87 "libhidlbase",
Colin Cross3f4c0df2017-05-04 16:19:06 -070088 "libgui",
89 "libui",
Robert Shih730af222018-09-14 14:02:57 -070090 "libmedia2_jni_core",
Robert Shih2568eb92018-09-19 10:00:46 -070091 "libmediandk_utils",
Colin Cross3f4c0df2017-05-04 16:19:06 -070092 ],
93
94 export_include_dirs: ["include"],
95
96 product_variables: {
97 pdk: {
98 enabled: false,
99 },
100 },
101}
Jiyong Parka88ef502017-08-10 20:12:24 +0900102
103llndk_library {
104 name: "libmediandk",
105 symbol_file: "libmediandk.map.txt",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700106 export_include_dirs: [
107 "include",
108 ],
Jiyong Parka88ef502017-08-10 20:12:24 +0900109}
Robert Shih2568eb92018-09-19 10:00:46 -0700110
111cc_library {
112 name: "libmediandk_utils",
113
114 srcs: [
115 "NdkMediaDataSourceCallbacks.cpp",
Robert Shiha303ec82018-09-19 16:29:43 -0700116 "NdkMediaError.cpp",
Robert Shih2568eb92018-09-19 10:00:46 -0700117 ],
118
119 include_dirs: [
120 "frameworks/av/media/libstagefright/include",
121 "frameworks/av/media/ndk/include",
122 ],
123
124 export_include_dirs: [
125 "include",
126 ],
127
128 cflags: [
129 "-Werror",
130 "-Wno-error=deprecated-declarations",
131 "-Wall",
132 ],
133
134 shared_libs: [
135 "libstagefright_foundation",
136 "liblog",
137 "libutils",
138 "libcutils",
139 ],
140
141 sanitize: {
142 misc_undefined: [
143 "unsigned-integer-overflow",
144 "signed-integer-overflow",
145 ],
146 cfi: true,
147 diag: {
148 cfi: true,
149 },
150 },
151}
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700152
153cc_test {
154 name: "AImageReaderWindowHandleTest",
155 srcs: ["tests/AImageReaderWindowHandleTest.cpp"],
156 shared_libs: [
157 "libbinder",
158 "libmediandk",
159 "libnativewindow",
160 "libgui",
161 "libutils",
162 "libui",
163 "libcutils",
164 "android.hardware.graphics.bufferqueue@1.0",
165 ],
166 cflags: [
167 "-D__ANDROID_VNDK__",
168 ],
169 include_dirs: [
170 "frameworks/av/media/ndk/",
171 ],
172}