blob: 228bcaf0311b05f6a93bad2abfb2532ca80c234f [file] [log] [blame]
Colin Cross00b14112017-04-19 15:23:41 -07001cc_library_headers {
2 name: "rs-headers",
3 export_include_dirs: ["."],
4 sdk_version: "9",
5}
Colin Cross7a3e78a2017-05-04 13:50:58 -07006
Colin Crosse5b22622017-05-04 18:33:10 -07007cc_defaults {
8 name: "rs_defaults",
Colin Cross7a3e78a2017-05-04 13:50:58 -07009 cflags: [
10 "-Werror",
11 "-Wall",
12 "-Wextra",
13 "-Wno-unused-parameter",
14 "-Wno-unused-variable",
15 ],
Colin Crosse5b22622017-05-04 18:33:10 -070016}
17
18cc_library_shared {
19 name: "libRSDriver",
Jiyong Park6fa61412017-08-10 20:37:20 +090020 vendor_available: true,
Victor Khimenko6baf7712020-07-08 22:30:33 +020021 native_bridge_supported: true,
Jiyong Park6fa61412017-08-10 20:37:20 +090022 vndk: {
23 enabled: true,
24 support_system_process: true,
25 },
Colin Crosse5b22622017-05-04 18:33:10 -070026 defaults: ["rs_defaults"],
27
28 srcs: [
29 "driver/rsdAllocation.cpp",
30 "driver/rsdBcc.cpp",
31 "driver/rsdCore.cpp",
32 "driver/rsdElement.cpp",
33 "driver/rsdFrameBuffer.cpp",
34 "driver/rsdFrameBufferObj.cpp",
35 "driver/rsdGL.cpp",
36 "driver/rsdMesh.cpp",
37 "driver/rsdMeshObj.cpp",
38 "driver/rsdProgram.cpp",
39 "driver/rsdProgramRaster.cpp",
40 "driver/rsdProgramStore.cpp",
41 "driver/rsdRuntimeStubs.cpp",
42 "driver/rsdSampler.cpp",
43 "driver/rsdScriptGroup.cpp",
44 "driver/rsdShader.cpp",
45 "driver/rsdShaderCache.cpp",
46 "driver/rsdType.cpp",
47 "driver/rsdVertexArray.cpp",
48 ],
49
50 shared_libs: [
51 "libRS_internal",
52 "libRSCpuRef",
53
54 "liblog",
55 "libEGL",
56 "libGLESv1_CM",
57 "libGLESv2",
58
59 "libnativewindow",
60
61 "libbcinfo",
62 ],
Mark Urbanus10ba9812017-06-02 12:21:44 -070063
Jiyong Park6fa61412017-08-10 20:37:20 +090064 static_libs: ["libarect"],
65
66 header_libs: [
67 "libcutils_headers",
68 "libutils_headers",
69 "libnativebase_headers",
70 ],
71
Mark Urbanus10ba9812017-06-02 12:21:44 -070072 product_variables: {
73 pdk: {
74 enabled: false,
75 },
76 },
Pirama Arumuga Nainar7bb9ca12018-04-02 11:07:07 -070077
78 // Bug: http://b/77445194 - Disable x86 asan where rsdRuntimeStubs.cpp has
79 // undefined reference to half-conversion routines (__gnu_h2f_ieee,
80 // __gnu_f2h_ieee).
81 arch: {
82 x86: {
83 sanitize: {
84 never: true,
85 },
86 },
87 },
Victor Khimenko6baf7712020-07-08 22:30:33 +020088
89 target: {
90 native_bridge : {
91 header_libs: [
92 "libnativewindow_headers",
93 "media_ndk_headers",
94 ],
95 shared_libs: [
96 "libnative_bridge_guest_libEGL",
97 "libnative_bridge_guest_libGLESv1_CM",
98 "libnative_bridge_guest_libGLESv2",
99 "libnative_bridge_guest_libnativewindow",
100 ],
101 exclude_shared_libs: [
102 "libEGL",
103 "libGLESv1_CM",
104 "libGLESv2",
105 "libnativewindow",
106 ],
107 },
108 },
Colin Crosse5b22622017-05-04 18:33:10 -0700109}
110
111// Build rsg-generator ====================
112
113cc_binary_host {
114 name: "rsg-generator",
115
116 srcs: [
117 "spec.l",
118 "rsg_generator.c",
119 ],
120
Chih-Hung Hsieh24ab1762017-09-29 14:54:13 -0700121 cflags: [
Stephen Hinesed6b88a2018-12-11 13:05:36 -0800122 "-Wno-unused-function",
Chih-Hung Hsieh24ab1762017-09-29 14:54:13 -0700123 ],
124
Colin Crosse5b22622017-05-04 18:33:10 -0700125 stl: "none",
126 sanitize: {
127 never: true,
128 },
129}
130
131// Generate custom headers
132gensrcs {
133 name: "rs_generated_headers",
134 tools: ["rsg-generator"],
135 tool_files: [
136 "rs.spec",
137 "rsg.spec",
138 ],
139 cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
140 output_extension: "h",
141 srcs: [
142 "rsgApiStructs.h_rsg",
143 "rsgApiFuncDecl.h_rsg",
144 ],
145 export_include_dirs: ["."],
146}
147
148gensrcs {
149 name: "rs_generated_sources",
150 tools: ["rsg-generator"],
151 tool_files: [
152 "rs.spec",
153 "rsg.spec",
154 ],
155 cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
156 output_extension: "cpp",
157 srcs: [
158 "rsgApi.cpp_rsg",
159 "rsgApiReplay.cpp_rsg",
160 ],
161}
162
163cc_library_shared {
164 name: "libRS_internal",
Jiyong Park6fa61412017-08-10 20:37:20 +0900165 vendor_available: true,
Victor Khimenko6baf7712020-07-08 22:30:33 +0200166 native_bridge_supported: true,
Jiyong Park6fa61412017-08-10 20:37:20 +0900167 vndk: {
168 enabled: true,
169 support_system_process: true,
170 },
Colin Crosse5b22622017-05-04 18:33:10 -0700171 defaults: ["rs_defaults"],
172
173 srcs: [
174 "rsApiAllocation.cpp",
175 "rsApiContext.cpp",
176 "rsApiDevice.cpp",
177 "rsApiElement.cpp",
178 "rsApiFileA3D.cpp",
179 "rsApiMesh.cpp",
180 "rsApiType.cpp",
181 "rsAllocation.cpp",
182 "rsAnimation.cpp",
183 "rsComponent.cpp",
184 "rsContext.cpp",
185 "rsClosure.cpp",
186 "rsCppUtils.cpp",
187 "rsDevice.cpp",
188 "rsDriverLoader.cpp",
189 "rsElement.cpp",
190 "rsFBOCache.cpp",
191 "rsFifoSocket.cpp",
192 "rsFileA3D.cpp",
193 "rsFont.cpp",
194 "rsGrallocConsumer.cpp",
195 "rsObjectBase.cpp",
196 "rsMatrix2x2.cpp",
197 "rsMatrix3x3.cpp",
198 "rsMatrix4x4.cpp",
199 "rsMesh.cpp",
200 "rsMutex.cpp",
201 "rsProgram.cpp",
202 "rsProgramFragment.cpp",
203 "rsProgramStore.cpp",
204 "rsProgramRaster.cpp",
205 "rsProgramVertex.cpp",
206 "rsSampler.cpp",
207 "rsScript.cpp",
208 "rsScriptC.cpp",
209 "rsScriptC_Lib.cpp",
210 "rsScriptC_LibGL.cpp",
211 "rsScriptGroup.cpp",
212 "rsScriptGroup2.cpp",
213 "rsScriptIntrinsic.cpp",
214 "rsSignal.cpp",
215 "rsStream.cpp",
216 "rsThreadIO.cpp",
217 "rsType.cpp",
218 ],
219
220 generated_sources: ["rs_generated_sources"],
221 generated_headers: ["rs_generated_headers"],
222
223 shared_libs: [
224 "liblog",
David Sehrafef47e2018-01-17 17:10:42 -0800225 "libutilscallstack",
Colin Crosse5b22622017-05-04 18:33:10 -0700226 "libutils",
227 "libEGL",
228 "libGLESv1_CM",
229 "libGLESv2",
230
231 "libdl",
232 "libnativewindow",
233
234 "libft2",
235
236 "libbcinfo",
237 "libmediandk",
238 ],
239
Jiyong Park6fa61412017-08-10 20:37:20 +0900240 static_libs: ["libarect"],
241
Colin Crosse5b22622017-05-04 18:33:10 -0700242 // These runtime modules, including libcompiler_rt.so, are required for
243 // RenderScript.
244 required: [
245 "libclcore.bc",
246 "libclcore_debug.bc",
Yang Nifb709342017-05-16 14:20:03 -0700247 "libclcore_debug_g.bc",
Colin Crosse5b22622017-05-04 18:33:10 -0700248 "libclcore_g.bc",
249 "libcompiler_rt",
250 ],
251
252 arch: {
253 x86: {
254 required: ["libclcore_x86.bc"],
255 },
256 x86_64: {
257 required: ["libclcore_x86.bc"],
258 },
259
260 arm: {
261 neon: {
262 required: ["libclcore_neon.bc"],
263 },
264 },
265 },
266
267 product_variables: {
268 override_rs_driver: {
269 cflags: ["-DOVERRIDE_RS_DRIVER=%s"],
270 },
Mark Urbanus10ba9812017-06-02 12:21:44 -0700271 pdk: {
272 enabled: false,
273 },
Colin Crosse5b22622017-05-04 18:33:10 -0700274 },
Victor Khimenko6baf7712020-07-08 22:30:33 +0200275
276 target: {
277 native_bridge: {
278 header_libs: [
279 "libnativewindow_headers",
280 "media_ndk_headers",
281 ],
282 shared_libs: [
283 "libnative_bridge_guest_libEGL",
284 "libnative_bridge_guest_libGLESv1_CM",
285 "libnative_bridge_guest_libGLESv2",
286 "libnative_bridge_guest_libmediandk",
287 "libnative_bridge_guest_libnativewindow",
288 ],
289 exclude_shared_libs: [
290 "libEGL",
291 "libGLESv1_CM",
292 "libGLESv2",
293 "libmediandk",
294 "libnativewindow",
295 ],
296 },
297 },
Colin Crosse5b22622017-05-04 18:33:10 -0700298}
299
300cc_library_shared {
301 name: "libRS",
302 defaults: ["rs_defaults"],
Victor Khimenko5ce2dc32020-08-21 00:38:57 +0200303 native_bridge_supported: true,
Colin Crosse5b22622017-05-04 18:33:10 -0700304 srcs: [
305 "rsApiStubs.cpp",
306 "rsHidlAdaptation.cpp",
307 "rsFallbackAdaptation.cpp",
308 ],
Colin Cross7a3e78a2017-05-04 13:50:58 -0700309
310 // Default CPU fallback
311 required: [
312 "libRS_internal",
313 "libRSDriver",
Miao Wang9d238fd2017-07-18 22:46:32 -0700314 "libRSCacheDir",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700315 ],
316
317 // Treble configuration
318 shared_libs: [
319 "libhidlbase",
David Sehrafef47e2018-01-17 17:10:42 -0800320 "libutilscallstack",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700321 "libutils",
322 "android.hardware.renderscript@1.0",
323
324 "liblog",
325 "libcutils",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700326 ],
327
Mark Urbanus10ba9812017-06-02 12:21:44 -0700328 product_variables: {
329 pdk: {
330 enabled: false,
331 },
332 },
333
Colin Cross7a3e78a2017-05-04 13:50:58 -0700334 static_libs: ["libRSDispatch"],
335
336 version_script: "libRS.map",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700337}
Colin Crosse5b22622017-05-04 18:33:10 -0700338
Jiyong Parkc550dab2017-08-25 17:41:49 +0900339llndk_library {
340 name: "libRS",
341 symbol_file: "libRS.map",
342}
343
Miao Wang9d238fd2017-07-18 22:46:32 -0700344cc_library_shared {
345 name: "libRSCacheDir",
346 defaults: ["rs_defaults"],
347
348 srcs: ["rsCacheDir.cpp"],
349 shared_libs: [
350 "libandroid_runtime",
351 "liblog",
352 ],
353
354 product_variables: {
355 pdk: {
356 enabled: false,
357 },
358 },
359}
360
Colin Crosse5b22622017-05-04 18:33:10 -0700361build = [
362 "support.bp",
363]
364
365subdirs = [
366 "cpp",
367 "cpu_ref",
I-Jui (Ray) Sung6e6b6562017-11-16 15:46:57 -0800368 "script_api",
Colin Crosse5b22622017-05-04 18:33:10 -0700369 "support",
370]