• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cc_library_headers {
2    name: "rs-headers",
3    export_include_dirs: ["."],
4    sdk_version: "9",
5}
6
7cc_defaults {
8    name: "rs_defaults",
9    cflags: [
10        "-Werror",
11        "-Wall",
12        "-Wextra",
13        "-Wno-unused-parameter",
14        "-Wno-unused-variable",
15    ],
16}
17
18cc_library_shared {
19    name: "libRSDriver",
20    vendor_available: true,
21    vndk: {
22        enabled: true,
23        support_system_process: true,
24    },
25    defaults: ["rs_defaults"],
26
27    srcs: [
28        "driver/rsdAllocation.cpp",
29        "driver/rsdBcc.cpp",
30        "driver/rsdCore.cpp",
31        "driver/rsdElement.cpp",
32        "driver/rsdFrameBuffer.cpp",
33        "driver/rsdFrameBufferObj.cpp",
34        "driver/rsdGL.cpp",
35        "driver/rsdMesh.cpp",
36        "driver/rsdMeshObj.cpp",
37        "driver/rsdProgram.cpp",
38        "driver/rsdProgramRaster.cpp",
39        "driver/rsdProgramStore.cpp",
40        "driver/rsdRuntimeStubs.cpp",
41        "driver/rsdSampler.cpp",
42        "driver/rsdScriptGroup.cpp",
43        "driver/rsdShader.cpp",
44        "driver/rsdShaderCache.cpp",
45        "driver/rsdType.cpp",
46        "driver/rsdVertexArray.cpp",
47    ],
48
49    shared_libs: [
50        "libRS_internal",
51        "libRSCpuRef",
52
53        "liblog",
54        "libEGL",
55        "libGLESv1_CM",
56        "libGLESv2",
57
58        "libnativewindow",
59
60        "libbcinfo",
61    ],
62
63    static_libs: ["libarect"],
64
65    header_libs: [
66        "libcutils_headers",
67        "libutils_headers",
68        "libnativebase_headers",
69    ],
70
71    product_variables: {
72        pdk: {
73            enabled: false,
74        },
75    },
76}
77
78// Build rsg-generator ====================
79
80cc_binary_host {
81    name: "rsg-generator",
82
83    srcs: [
84        "spec.l",
85        "rsg_generator.c",
86    ],
87
88    cflags: [
89        "-Wall",
90        "-Werror",
91        "-Wno-error=unneeded-internal-declaration",
92        "-Wno-error=unused-function",
93        "-Wno-error=unused-variable",
94    ],
95
96    stl: "none",
97    sanitize: {
98        never: true,
99    },
100}
101
102// Generate custom headers
103gensrcs {
104    name: "rs_generated_headers",
105    tools: ["rsg-generator"],
106    tool_files: [
107        "rs.spec",
108        "rsg.spec",
109    ],
110    cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
111    output_extension: "h",
112    srcs: [
113        "rsgApiStructs.h_rsg",
114        "rsgApiFuncDecl.h_rsg",
115    ],
116    export_include_dirs: ["."],
117}
118
119gensrcs {
120    name: "rs_generated_sources",
121    tools: ["rsg-generator"],
122    tool_files: [
123        "rs.spec",
124        "rsg.spec",
125    ],
126    cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
127    output_extension: "cpp",
128    srcs: [
129        "rsgApi.cpp_rsg",
130        "rsgApiReplay.cpp_rsg",
131    ],
132}
133
134cc_library_shared {
135    name: "libRS_internal",
136    vendor_available: true,
137    vndk: {
138        enabled: true,
139        support_system_process: true,
140    },
141    defaults: ["rs_defaults"],
142
143    srcs: [
144        "rsApiAllocation.cpp",
145        "rsApiContext.cpp",
146        "rsApiDevice.cpp",
147        "rsApiElement.cpp",
148        "rsApiFileA3D.cpp",
149        "rsApiMesh.cpp",
150        "rsApiType.cpp",
151        "rsAllocation.cpp",
152        "rsAnimation.cpp",
153        "rsComponent.cpp",
154        "rsContext.cpp",
155        "rsClosure.cpp",
156        "rsCppUtils.cpp",
157        "rsDevice.cpp",
158        "rsDriverLoader.cpp",
159        "rsElement.cpp",
160        "rsFBOCache.cpp",
161        "rsFifoSocket.cpp",
162        "rsFileA3D.cpp",
163        "rsFont.cpp",
164        "rsGrallocConsumer.cpp",
165        "rsObjectBase.cpp",
166        "rsMatrix2x2.cpp",
167        "rsMatrix3x3.cpp",
168        "rsMatrix4x4.cpp",
169        "rsMesh.cpp",
170        "rsMutex.cpp",
171        "rsProgram.cpp",
172        "rsProgramFragment.cpp",
173        "rsProgramStore.cpp",
174        "rsProgramRaster.cpp",
175        "rsProgramVertex.cpp",
176        "rsSampler.cpp",
177        "rsScript.cpp",
178        "rsScriptC.cpp",
179        "rsScriptC_Lib.cpp",
180        "rsScriptC_LibGL.cpp",
181        "rsScriptGroup.cpp",
182        "rsScriptGroup2.cpp",
183        "rsScriptIntrinsic.cpp",
184        "rsSignal.cpp",
185        "rsStream.cpp",
186        "rsThreadIO.cpp",
187        "rsType.cpp",
188    ],
189
190    generated_sources: ["rs_generated_sources"],
191    generated_headers: ["rs_generated_headers"],
192
193    shared_libs: [
194        "liblog",
195        "libutilscallstack",
196        "libutils",
197        "libEGL",
198        "libGLESv1_CM",
199        "libGLESv2",
200
201        "libdl",
202        "libnativewindow",
203
204        "libft2",
205
206        "libbcinfo",
207        "libmediandk",
208    ],
209
210    static_libs: ["libarect"],
211
212    // These runtime modules, including libcompiler_rt.so, are required for
213    // RenderScript.
214    required: [
215        "libclcore.bc",
216        "libclcore_debug.bc",
217        "libclcore_debug_g.bc",
218        "libclcore_g.bc",
219        "libcompiler_rt",
220    ],
221
222    arch: {
223        x86: {
224            required: ["libclcore_x86.bc"],
225        },
226        x86_64: {
227            required: ["libclcore_x86.bc"],
228        },
229
230        arm: {
231            neon: {
232                required: ["libclcore_neon.bc"],
233            },
234        },
235    },
236
237    product_variables: {
238        override_rs_driver: {
239            cflags: ["-DOVERRIDE_RS_DRIVER=%s"],
240        },
241        pdk: {
242            enabled: false,
243        },
244    },
245}
246
247cc_library_shared {
248    name: "libRS",
249    defaults: ["rs_defaults"],
250    srcs: [
251        "rsApiStubs.cpp",
252        "rsHidlAdaptation.cpp",
253        "rsFallbackAdaptation.cpp",
254    ],
255
256    // Default CPU fallback
257    required: [
258        "libRS_internal",
259        "libRSDriver",
260        "libRSCacheDir",
261    ],
262
263    // Treble configuration
264    shared_libs: [
265        "libhidlbase",
266        "libhidltransport",
267        "libhwbinder",
268        "libutilscallstack",
269        "libutils",
270        "android.hardware.renderscript@1.0",
271
272        "liblog",
273        "libcutils",
274    ],
275
276    product_variables: {
277        pdk: {
278            enabled: false,
279        },
280    },
281
282    static_libs: ["libRSDispatch"],
283
284    version_script: "libRS.map",
285}
286
287llndk_library {
288    name: "libRS",
289    symbol_file: "libRS.map",
290}
291
292cc_library_shared {
293    name: "libRSCacheDir",
294    defaults: ["rs_defaults"],
295
296    srcs: ["rsCacheDir.cpp"],
297    shared_libs: [
298        "libandroid_runtime",
299        "liblog",
300    ],
301
302    product_variables: {
303        pdk: {
304            enabled: false,
305        },
306    },
307}
308
309build = [
310    "support.bp",
311]
312
313subdirs = [
314    "cpp",
315    "cpu_ref",
316    "script_api",
317    "support",
318]
319