blob: a2eaf6f9737c3a532bee6cac8a4bce7026bed0f2 [file] [log] [blame]
Bob Badour8aedf252021-02-12 21:37:48 -08001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Colin Cross00b14112017-04-19 15:23:41 -07005cc_library_headers {
6 name: "rs-headers",
7 export_include_dirs: ["."],
8 sdk_version: "9",
9}
Colin Cross7a3e78a2017-05-04 13:50:58 -070010
Colin Crosse5b22622017-05-04 18:33:10 -070011cc_defaults {
12 name: "rs_defaults",
Colin Cross7a3e78a2017-05-04 13:50:58 -070013 cflags: [
14 "-Werror",
15 "-Wall",
16 "-Wextra",
Xusong Wangc4ba0282020-11-10 10:09:37 -080017 "-Wno-deprecated-declarations",
Colin Cross7a3e78a2017-05-04 13:50:58 -070018 "-Wno-unused-parameter",
19 "-Wno-unused-variable",
20 ],
Colin Crosse5b22622017-05-04 18:33:10 -070021}
22
23cc_library_shared {
24 name: "libRSDriver",
Jiyong Park6fa61412017-08-10 20:37:20 +090025 vendor_available: true,
Victor Khimenkof7c84f12020-07-08 22:30:33 +020026 native_bridge_supported: true,
Jiyong Park6fa61412017-08-10 20:37:20 +090027 vndk: {
28 enabled: true,
29 support_system_process: true,
30 },
Colin Crosse5b22622017-05-04 18:33:10 -070031 defaults: ["rs_defaults"],
32
33 srcs: [
34 "driver/rsdAllocation.cpp",
35 "driver/rsdBcc.cpp",
36 "driver/rsdCore.cpp",
37 "driver/rsdElement.cpp",
38 "driver/rsdFrameBuffer.cpp",
39 "driver/rsdFrameBufferObj.cpp",
40 "driver/rsdGL.cpp",
41 "driver/rsdMesh.cpp",
42 "driver/rsdMeshObj.cpp",
43 "driver/rsdProgram.cpp",
44 "driver/rsdProgramRaster.cpp",
45 "driver/rsdProgramStore.cpp",
46 "driver/rsdRuntimeStubs.cpp",
47 "driver/rsdSampler.cpp",
48 "driver/rsdScriptGroup.cpp",
49 "driver/rsdShader.cpp",
50 "driver/rsdShaderCache.cpp",
51 "driver/rsdType.cpp",
52 "driver/rsdVertexArray.cpp",
53 ],
54
55 shared_libs: [
56 "libRS_internal",
57 "libRSCpuRef",
58
59 "liblog",
60 "libEGL",
61 "libGLESv1_CM",
62 "libGLESv2",
63
64 "libnativewindow",
65
66 "libbcinfo",
67 ],
Mark Urbanus10ba9812017-06-02 12:21:44 -070068
Jiyong Park6fa61412017-08-10 20:37:20 +090069 static_libs: ["libarect"],
70
71 header_libs: [
72 "libcutils_headers",
73 "libutils_headers",
74 "libnativebase_headers",
75 ],
76
Mark Urbanus10ba9812017-06-02 12:21:44 -070077 product_variables: {
78 pdk: {
79 enabled: false,
80 },
81 },
Pirama Arumuga Nainar7bb9ca12018-04-02 11:07:07 -070082
83 // Bug: http://b/77445194 - Disable x86 asan where rsdRuntimeStubs.cpp has
84 // undefined reference to half-conversion routines (__gnu_h2f_ieee,
85 // __gnu_f2h_ieee).
86 arch: {
87 x86: {
88 sanitize: {
89 never: true,
90 },
91 },
92 },
Victor Khimenkof7c84f12020-07-08 22:30:33 +020093
94 target: {
95 native_bridge : {
96 header_libs: [
97 "libnativewindow_headers",
98 "media_ndk_headers",
99 ],
100 shared_libs: [
101 "libnative_bridge_guest_libEGL",
102 "libnative_bridge_guest_libGLESv1_CM",
103 "libnative_bridge_guest_libGLESv2",
104 "libnative_bridge_guest_libnativewindow",
105 ],
106 exclude_shared_libs: [
107 "libEGL",
108 "libGLESv1_CM",
109 "libGLESv2",
110 "libnativewindow",
111 ],
112 },
113 },
Colin Crosse5b22622017-05-04 18:33:10 -0700114}
115
116// Build rsg-generator ====================
117
118cc_binary_host {
119 name: "rsg-generator",
120
121 srcs: [
122 "spec.l",
123 "rsg_generator.c",
124 ],
125
Chih-Hung Hsieh24ab1762017-09-29 14:54:13 -0700126 cflags: [
Stephen Hinesed6b88a2018-12-11 13:05:36 -0800127 "-Wno-unused-function",
Chih-Hung Hsieh24ab1762017-09-29 14:54:13 -0700128 ],
129
Colin Crosse5b22622017-05-04 18:33:10 -0700130 stl: "none",
131 sanitize: {
132 never: true,
133 },
134}
135
136// Generate custom headers
137gensrcs {
138 name: "rs_generated_headers",
139 tools: ["rsg-generator"],
140 tool_files: [
141 "rs.spec",
142 "rsg.spec",
143 ],
144 cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
145 output_extension: "h",
146 srcs: [
147 "rsgApiStructs.h_rsg",
148 "rsgApiFuncDecl.h_rsg",
149 ],
150 export_include_dirs: ["."],
151}
152
153gensrcs {
154 name: "rs_generated_sources",
155 tools: ["rsg-generator"],
156 tool_files: [
157 "rs.spec",
158 "rsg.spec",
159 ],
160 cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
161 output_extension: "cpp",
162 srcs: [
163 "rsgApi.cpp_rsg",
164 "rsgApiReplay.cpp_rsg",
165 ],
166}
167
168cc_library_shared {
169 name: "libRS_internal",
Jiyong Park6fa61412017-08-10 20:37:20 +0900170 vendor_available: true,
Victor Khimenkof7c84f12020-07-08 22:30:33 +0200171 native_bridge_supported: true,
Jiyong Park6fa61412017-08-10 20:37:20 +0900172 vndk: {
173 enabled: true,
174 support_system_process: true,
175 },
Colin Crosse5b22622017-05-04 18:33:10 -0700176 defaults: ["rs_defaults"],
177
178 srcs: [
179 "rsApiAllocation.cpp",
180 "rsApiContext.cpp",
181 "rsApiDevice.cpp",
182 "rsApiElement.cpp",
183 "rsApiFileA3D.cpp",
184 "rsApiMesh.cpp",
185 "rsApiType.cpp",
186 "rsAllocation.cpp",
187 "rsAnimation.cpp",
188 "rsComponent.cpp",
189 "rsContext.cpp",
190 "rsClosure.cpp",
191 "rsCppUtils.cpp",
192 "rsDevice.cpp",
193 "rsDriverLoader.cpp",
194 "rsElement.cpp",
195 "rsFBOCache.cpp",
196 "rsFifoSocket.cpp",
197 "rsFileA3D.cpp",
198 "rsFont.cpp",
199 "rsGrallocConsumer.cpp",
200 "rsObjectBase.cpp",
201 "rsMatrix2x2.cpp",
202 "rsMatrix3x3.cpp",
203 "rsMatrix4x4.cpp",
204 "rsMesh.cpp",
205 "rsMutex.cpp",
206 "rsProgram.cpp",
207 "rsProgramFragment.cpp",
208 "rsProgramStore.cpp",
209 "rsProgramRaster.cpp",
210 "rsProgramVertex.cpp",
211 "rsSampler.cpp",
212 "rsScript.cpp",
213 "rsScriptC.cpp",
214 "rsScriptC_Lib.cpp",
215 "rsScriptC_LibGL.cpp",
216 "rsScriptGroup.cpp",
217 "rsScriptGroup2.cpp",
218 "rsScriptIntrinsic.cpp",
219 "rsSignal.cpp",
220 "rsStream.cpp",
221 "rsThreadIO.cpp",
222 "rsType.cpp",
223 ],
224
225 generated_sources: ["rs_generated_sources"],
226 generated_headers: ["rs_generated_headers"],
227
228 shared_libs: [
229 "liblog",
David Sehrafef47e2018-01-17 17:10:42 -0800230 "libutilscallstack",
Colin Crosse5b22622017-05-04 18:33:10 -0700231 "libutils",
232 "libEGL",
233 "libGLESv1_CM",
234 "libGLESv2",
235
236 "libdl",
237 "libnativewindow",
238
239 "libft2",
240
241 "libbcinfo",
242 "libmediandk",
243 ],
244
Jiyong Park6fa61412017-08-10 20:37:20 +0900245 static_libs: ["libarect"],
246
Colin Crosse5b22622017-05-04 18:33:10 -0700247 // These runtime modules, including libcompiler_rt.so, are required for
248 // RenderScript.
249 required: [
250 "libclcore.bc",
251 "libclcore_debug.bc",
Yang Nifb709342017-05-16 14:20:03 -0700252 "libclcore_debug_g.bc",
Colin Crosse5b22622017-05-04 18:33:10 -0700253 "libclcore_g.bc",
254 "libcompiler_rt",
255 ],
256
257 arch: {
258 x86: {
259 required: ["libclcore_x86.bc"],
260 },
261 x86_64: {
262 required: ["libclcore_x86.bc"],
263 },
264
265 arm: {
266 neon: {
267 required: ["libclcore_neon.bc"],
268 },
269 },
270 },
271
272 product_variables: {
273 override_rs_driver: {
274 cflags: ["-DOVERRIDE_RS_DRIVER=%s"],
275 },
Mark Urbanus10ba9812017-06-02 12:21:44 -0700276 pdk: {
277 enabled: false,
278 },
Colin Crosse5b22622017-05-04 18:33:10 -0700279 },
Victor Khimenkof7c84f12020-07-08 22:30:33 +0200280
281 target: {
282 native_bridge: {
283 header_libs: [
284 "libnativewindow_headers",
285 "media_ndk_headers",
286 ],
287 shared_libs: [
288 "libnative_bridge_guest_libEGL",
289 "libnative_bridge_guest_libGLESv1_CM",
290 "libnative_bridge_guest_libGLESv2",
291 "libnative_bridge_guest_libmediandk",
292 "libnative_bridge_guest_libnativewindow",
293 ],
294 exclude_shared_libs: [
295 "libEGL",
296 "libGLESv1_CM",
297 "libGLESv2",
298 "libmediandk",
299 "libnativewindow",
300 ],
301 },
302 },
Colin Crosse5b22622017-05-04 18:33:10 -0700303}
304
305cc_library_shared {
306 name: "libRS",
307 defaults: ["rs_defaults"],
Victor Khimenkof0890d02020-08-21 00:38:57 +0200308 native_bridge_supported: true,
Colin Cross38717bc2021-04-22 16:45:33 -0700309 llndk: {
310 symbol_file: "libRS.map",
311 },
Colin Crosse5b22622017-05-04 18:33:10 -0700312 srcs: [
313 "rsApiStubs.cpp",
314 "rsHidlAdaptation.cpp",
315 "rsFallbackAdaptation.cpp",
316 ],
Colin Cross7a3e78a2017-05-04 13:50:58 -0700317
318 // Default CPU fallback
319 required: [
320 "libRS_internal",
321 "libRSDriver",
Miao Wang9d238fd2017-07-18 22:46:32 -0700322 "libRSCacheDir",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700323 ],
324
325 // Treble configuration
326 shared_libs: [
327 "libhidlbase",
David Sehrafef47e2018-01-17 17:10:42 -0800328 "libutilscallstack",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700329 "libutils",
330 "android.hardware.renderscript@1.0",
331
332 "liblog",
333 "libcutils",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700334 ],
335
Mark Urbanus10ba9812017-06-02 12:21:44 -0700336 product_variables: {
337 pdk: {
338 enabled: false,
339 },
340 },
341
Colin Cross7a3e78a2017-05-04 13:50:58 -0700342 static_libs: ["libRSDispatch"],
343
344 version_script: "libRS.map",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700345}
Colin Crosse5b22622017-05-04 18:33:10 -0700346
Miao Wang9d238fd2017-07-18 22:46:32 -0700347cc_library_shared {
348 name: "libRSCacheDir",
349 defaults: ["rs_defaults"],
350
351 srcs: ["rsCacheDir.cpp"],
352 shared_libs: [
353 "libandroid_runtime",
354 "liblog",
355 ],
356
357 product_variables: {
358 pdk: {
359 enabled: false,
360 },
361 },
362}
363
Colin Crosse5b22622017-05-04 18:33:10 -0700364build = [
365 "support.bp",
366]
367
368subdirs = [
369 "cpp",
370 "cpu_ref",
I-Jui (Ray) Sung6e6b6562017-11-16 15:46:57 -0800371 "script_api",
Colin Crosse5b22622017-05-04 18:33:10 -0700372 "support",
Jean-Luc Brouillet7140c082021-03-02 10:28:22 -0800373 "toolkit",
Colin Crosse5b22622017-05-04 18:33:10 -0700374]