blob: 58352469b71132e167f951fceb751dacfec5f23f [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 Cross403885e2017-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 Cross403885e2017-05-04 18:33:10 -070016}
17
18cc_library_shared {
19 name: "libRSDriver",
20 defaults: ["rs_defaults"],
21
22 srcs: [
23 "driver/rsdAllocation.cpp",
24 "driver/rsdBcc.cpp",
25 "driver/rsdCore.cpp",
26 "driver/rsdElement.cpp",
27 "driver/rsdFrameBuffer.cpp",
28 "driver/rsdFrameBufferObj.cpp",
29 "driver/rsdGL.cpp",
30 "driver/rsdMesh.cpp",
31 "driver/rsdMeshObj.cpp",
32 "driver/rsdProgram.cpp",
33 "driver/rsdProgramRaster.cpp",
34 "driver/rsdProgramStore.cpp",
35 "driver/rsdRuntimeStubs.cpp",
36 "driver/rsdSampler.cpp",
37 "driver/rsdScriptGroup.cpp",
38 "driver/rsdShader.cpp",
39 "driver/rsdShaderCache.cpp",
40 "driver/rsdType.cpp",
41 "driver/rsdVertexArray.cpp",
42 ],
43
44 shared_libs: [
45 "libRS_internal",
46 "libRSCpuRef",
47
48 "liblog",
49 "libEGL",
50 "libGLESv1_CM",
51 "libGLESv2",
52
53 "libui",
54 "libgui",
55 "libandroid",
56
57 "libbcinfo",
58 ],
59}
60
61// Build rsg-generator ====================
62
63cc_binary_host {
64 name: "rsg-generator",
65
66 srcs: [
67 "spec.l",
68 "rsg_generator.c",
69 ],
70
71 stl: "none",
72 sanitize: {
73 never: true,
74 },
75}
76
77// Generate custom headers
78gensrcs {
79 name: "rs_generated_headers",
80 tools: ["rsg-generator"],
81 tool_files: [
82 "rs.spec",
83 "rsg.spec",
84 ],
85 cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
86 output_extension: "h",
87 srcs: [
88 "rsgApiStructs.h_rsg",
89 "rsgApiFuncDecl.h_rsg",
90 ],
91 export_include_dirs: ["."],
92}
93
94gensrcs {
95 name: "rs_generated_sources",
96 tools: ["rsg-generator"],
97 tool_files: [
98 "rs.spec",
99 "rsg.spec",
100 ],
101 cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
102 output_extension: "cpp",
103 srcs: [
104 "rsgApi.cpp_rsg",
105 "rsgApiReplay.cpp_rsg",
106 ],
107}
108
109cc_library_shared {
110 name: "libRS_internal",
111 defaults: ["rs_defaults"],
112
113 srcs: [
114 "rsApiAllocation.cpp",
115 "rsApiContext.cpp",
116 "rsApiDevice.cpp",
117 "rsApiElement.cpp",
118 "rsApiFileA3D.cpp",
119 "rsApiMesh.cpp",
120 "rsApiType.cpp",
121 "rsAllocation.cpp",
122 "rsAnimation.cpp",
123 "rsComponent.cpp",
124 "rsContext.cpp",
125 "rsClosure.cpp",
126 "rsCppUtils.cpp",
127 "rsDevice.cpp",
128 "rsDriverLoader.cpp",
129 "rsElement.cpp",
130 "rsFBOCache.cpp",
131 "rsFifoSocket.cpp",
132 "rsFileA3D.cpp",
133 "rsFont.cpp",
134 "rsGrallocConsumer.cpp",
135 "rsObjectBase.cpp",
136 "rsMatrix2x2.cpp",
137 "rsMatrix3x3.cpp",
138 "rsMatrix4x4.cpp",
139 "rsMesh.cpp",
140 "rsMutex.cpp",
141 "rsProgram.cpp",
142 "rsProgramFragment.cpp",
143 "rsProgramStore.cpp",
144 "rsProgramRaster.cpp",
145 "rsProgramVertex.cpp",
146 "rsSampler.cpp",
147 "rsScript.cpp",
148 "rsScriptC.cpp",
149 "rsScriptC_Lib.cpp",
150 "rsScriptC_LibGL.cpp",
151 "rsScriptGroup.cpp",
152 "rsScriptGroup2.cpp",
153 "rsScriptIntrinsic.cpp",
154 "rsSignal.cpp",
155 "rsStream.cpp",
156 "rsThreadIO.cpp",
157 "rsType.cpp",
158 ],
159
160 generated_sources: ["rs_generated_sources"],
161 generated_headers: ["rs_generated_headers"],
162
163 shared_libs: [
164 "liblog",
165 "libutils",
166 "libEGL",
167 "libGLESv1_CM",
168 "libGLESv2",
169
170 "libdl",
171 "libgui",
172 "libui",
173
174 "libft2",
175 "libpng",
176
177 "libbcinfo",
178 "libmediandk",
179 ],
180
181 // These runtime modules, including libcompiler_rt.so, are required for
182 // RenderScript.
183 required: [
184 "libclcore.bc",
185 "libclcore_debug.bc",
186 "libclcore_g.bc",
187 "libcompiler_rt",
188 ],
189
190 arch: {
191 x86: {
192 required: ["libclcore_x86.bc"],
193 },
194 x86_64: {
195 required: ["libclcore_x86.bc"],
196 },
197
198 arm: {
199 neon: {
200 required: ["libclcore_neon.bc"],
201 },
202 },
203 },
204
205 product_variables: {
206 override_rs_driver: {
207 cflags: ["-DOVERRIDE_RS_DRIVER=%s"],
208 },
209 },
210}
211
212cc_library_shared {
213 name: "libRS",
214 defaults: ["rs_defaults"],
215
216 srcs: [
217 "rsApiStubs.cpp",
218 "rsHidlAdaptation.cpp",
219 "rsFallbackAdaptation.cpp",
220 ],
Colin Cross7a3e78a2017-05-04 13:50:58 -0700221
222 // Default CPU fallback
223 required: [
224 "libRS_internal",
225 "libRSDriver",
226 ],
227
228 // Treble configuration
229 shared_libs: [
230 "libhidlbase",
231 "libhidltransport",
232 "libhwbinder",
233 "libutils",
234 "android.hardware.renderscript@1.0",
235
236 "liblog",
237 "libcutils",
238 "libandroid_runtime",
239 ],
240
241 static_libs: ["libRSDispatch"],
242
243 version_script: "libRS.map",
Colin Cross7a3e78a2017-05-04 13:50:58 -0700244}
Colin Cross403885e2017-05-04 18:33:10 -0700245
246build = [
247 "support.bp",
248]
249
250subdirs = [
251 "cpp",
252 "cpu_ref",
253 "support",
254]