xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/Android.bp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1cc_defaults {
2    name: "rkaiq-defaults",
3}
4
5rkaiq_defaults {
6    name: "rkaiq-defaults-flags",
7}
8
9bootstrap_go_package {
10    name: "soong-operator",
11    pkgPath: "android/soong/external/camera_engine_rkaiq",
12    deps: [
13            "blueprint",
14            "blueprint-pathtools",
15            "soong",
16            "soong-android",
17            "soong-cc",
18            "soong-genrule",
19        ],
20    srcs: [
21            "rkaiq.go",
22            "rkaiq_getAlgosLib.go",
23            "rkaiq_getAlgosMacros.go",
24            "rkaiq_getSrcsFiles.go",
25            "rkaiq_switchs.go",
26            "rkaiq_getStaticLibSrcs.go",
27        ],
28    pluginFor: ["soong_build"],
29}
30
31subdirs = [
32    "algos",
33    "algos_camgroup",
34    "iq_parser_v2",
35]
36
37cc_prebuilt_library_static {
38    name: "libgenMeshLib",
39    vendor: true,
40    arch: {
41        arm: {
42            srcs: ["common/gen_mesh/android/genMesh_static_32bit/libgenMeshLib.a"],
43        },
44        arm64: {
45            srcs: ["common/gen_mesh/android/genMesh_static_64bit/libgenMeshLib.a"],
46        },
47    },
48}
49
50cc_library_headers {
51	name: "librkaiq_headers",
52	export_include_dirs: ["include"],
53	vendor_available: true,
54}
55
56cc_rkaiq_library_shared {
57    name: "librkaiq",
58    vendor: true,
59    rtti: true,
60    stl: "c++_static",
61
62    defaults: [ "rkaiq-defaults", "rkaiq-defaults-flags", ],
63
64    local_include_dirs: [
65        ".",
66        "xcore",
67        "xcore/base",
68        "common",
69        "common/gen_mesh",
70        "aiq_core",
71        "algos",
72        "hwi",
73        "hwi/isp20",
74        "hwi/isp21",
75        "hwi/isp3x",
76        "hwi/isp32",
77        "iq_parser",
78        "iq_parser_v2",
79        "uAPI",
80        "uAPI/include",
81        "uAPI2",
82        "ipc_server",
83        "include",
84        "include/xcore",
85        "include/xcore/base",
86        "include/common",
87        "include/common/mediactl",
88        "include/algos",
89        "include/iq_parser",
90        "include/iq_parser_v2",
91        "include/iq_parser_v2/j2s",
92        "include/uAPI2",
93        "include/ipc_server",
94        "include/algos/amerge",
95    ],
96
97    header_libs: [
98        "gl_headers",
99    ],
100
101    shared_libs: [
102        "libutils",
103        "libcutils",
104        "liblog",
105    ],
106
107    srcs: [
108        // AIQ_CORE_SRC
109        "aiq_core/RkAiqHandle.cpp",
110        "aiq_core/RkAiqCore.cpp",
111        "aiq_core/RkLumaCore.cpp",
112
113        "aiq_core/MessageBus.cpp",
114        "aiq_core/RkAiqAnalyzeGroupManager.cpp",
115        "aiq_core/RkAiqResourceTranslator.cpp",
116        "aiq_core/RkAiqResourceTranslatorV21.cpp",
117        "aiq_core/RkAiqResourceTranslatorV3x.cpp",
118        "aiq_core/RkAiqResourceTranslatorV32.cpp",
119        "aiq_core/thumbnails.cpp",
120
121        // ALGO_COMMON_SRC
122        "algos/interpolation.cpp",
123
124        // COMMON_SRC
125        "common/mediactl/mediactl.c",
126        "common/gen_mesh/genMesh.cpp",
127        "common/code_to_pixel_format.cpp",
128        "common/media_buffer/media_buffer.c",
129        "common/media_buffer/media_buffer_pool.c",
130
131        // HWI_SRC
132        "hwi/CamHwBase.cpp",
133        "hwi/isp20/CamHwIsp20.cpp",
134        "hwi/isp21/CamHwIsp21.cpp",
135        "hwi/isp3x/CamHwIsp3x.cpp",
136        "hwi/isp32/CamHwIsp32.cpp",
137        "hwi/isp20/Isp20Params.cpp",
138        "hwi/isp20/Isp20StatsBuffer.cpp",
139        "hwi/isp20/Isp20_module_dbg.cpp",
140        "hwi/SensorHw.cpp",
141        "hwi/LensHw.cpp",
142        "hwi/FlashLight.cpp",
143        "hwi/isp20/Stream.cpp",
144        "hwi/isp20/RawStreamCapUnit.cpp",
145        "hwi/isp20/RawStreamProcUnit.cpp",
146        "hwi/isp20/PdafStreamProcUnit.cpp",
147        "hwi/isp20/CaptureRawData.cpp",
148        "hwi/image_processor.cpp",
149        "hwi/isp20/Isp20Evts.cpp",
150        "hwi/isp20/CifScaleStream.cpp",
151
152        // // IQ_PARSER_SRC
153        // "iq_parser/RkAiqCalibParser.cpp",
154        // "iq_parser/RkAiqCalibDb.cpp",
155        // "iq_parser/RkAiqCalibTag.cpp",
156        // // rkaiq_3A_server use this file
157        "iq_parser/tinyxml2.cpp",
158        // "iq_parser/xmltags.cpp",
159        // "iq_parser/RkAiqCalibApi.cpp",
160
161        // // IQ_PARSER_V2_SRC
162        // "iq_parser_v2/awb_xml2json.cpp",
163        // "iq_parser_v2/bayernr_xml2json_v1.cpp",
164        // "iq_parser_v2/mfnr_xml2json_v1.cpp",
165        // "iq_parser_v2/ynr_xml2json_v1.cpp",
166        // "iq_parser_v2/uvnr_xml2json_v1.cpp",
167        // "iq_parser_v2/sharp_xml2json_v1.cpp",
168        // "iq_parser_v2/edgefilter_xml2json_v1.cpp",
169
170        // UAPI_SRC
171        "uAPI2/rk_aiq_user_api2_sysctl.cpp",
172        "uAPI2/rk_aiq_user_api2_debug.cpp",
173        "uAPI2/rk_aiq_user_api2_helper.cpp",
174        "uAPI2/rk_aiq_user_api2_wrapper.cpp",
175        "common/rkaiq_ini.c",
176
177        // XCORE_SRC
178        "xcore/xcam_common.cpp",
179        "xcore/xcam_log.cpp",
180        "xcore/xcam_thread.cpp",
181        "xcore/xcam_buffer.cpp",
182        "xcore/video_buffer.cpp",
183        "xcore/v4l2_buffer_proxy.cpp",
184        "xcore/v4l2_device.cpp",
185        "xcore/buffer_pool.cpp",
186        "xcore/poll_thread.cpp",
187        "xcore/smart_buffer_priv.cpp",
188        "xcore/fake_v4l2_device.cpp",
189
190        // IPC_SERVER_SRC
191        "ipc_server/socket_server.cpp",
192        "ipc_server/rkaiq_tool_ae.cpp",
193        "ipc_server/rkaiq_tool_anr.cpp",
194        "ipc_server/rkaiq_tool_imgproc.cpp",
195        "ipc_server/rkaiq_tool_sharp.cpp",
196        "ipc_server/rkaiq_tool_sysctl.cpp",
197        "ipc_server/command_process.cpp",
198        "ipc_server/MessageParser.cpp",
199
200        "RkAiqManager.cpp",
201        "RkAiqCamProfiles.cpp",
202    ],
203
204    static_libs: [
205        "libgenMeshLib",
206        "libiq_parser_v2",
207    ],
208
209    cflags: [
210        "-fPIC",
211        "-Wall",
212        "-Wno-error",
213        "-Os",
214        "-g",
215        "-Wno-unused-value",
216        "-Wno-unused-variable",
217        "-Wno-unused-private-field",
218        "-Wno-unused-but-set-variable",
219        "-Wno-unused-function",
220        "-Wno-unused-label",
221        "-Wno-implicit-fallthrough",
222        "-Wno-ignored-qualifiers",
223        "-Wno-reorder",
224        "-Wno-address-of-packed-member",
225        "-Wno-unused-parameter",
226        "-Wno-overloaded-virtual",
227        "-Wno-extern-c-compat",
228        "-fno-strict-aliasing",
229        "-frtti",
230        "-DANDROID_OS",
231        "-UNDEBUG",
232    ],
233
234    cppflags: [
235        "-fPIC",
236        "-Wall",
237        "-Wno-error",
238        "-Os",
239        "-g",
240        "-Wno-unused-value",
241        "-Wno-unused-variable",
242        "-Wno-unused-private-field",
243        "-Wno-unused-but-set-variable",
244        "-Wno-unused-function",
245        "-Wno-implicit-fallthrough",
246        "-Wno-address-of-packed-member",
247        "-Wno-ignored-qualifiers",
248        "-Wno-unused-label",
249        "-fno-strict-aliasing",
250        "-Wno-reorder",
251        "-Wno-overloaded-virtual",
252        "-Wno-unused-parameter",
253        "-Wno-extern-c-compat",
254        "-Wno-missing-braces",
255        "-Wno-missing-field-initializers",
256        "-frtti",
257        "-std=c++11",
258        "-DANDROID_OS",
259        "-UNDEBUG",
260    ],
261
262    export_include_dirs: [
263        "xcore",
264        "xcore/base",
265        "aiq_core",
266        "algos",
267        "algos_camgroup",
268        "hwi",
269        "iq_parser",
270        "iq_parser_v2",
271        "uAPI",
272        "uAPI/include",
273        "uAPI2",
274        "common",
275        "include",
276        "include/iq_parser",
277        "include/iq_parser_v2",
278        "include/iq_parser_v2/j2s",
279        "include/xcore",
280        "include/common",
281        "include/common/mediactl",
282        "include/xcore/base",
283        "include/algos",
284        "include/ipc_server",
285        "ipc_server",
286    ],
287}
288
289cc_library_shared {
290    name: "librkvi",
291    vendor: true,
292    rtti: true,
293    stl: "c++_static",
294
295    defaults: [ "rkaiq-defaults", "rkaiq-defaults-flags", ],
296
297    local_include_dirs: [
298        ".",
299        "rk_stream/include",
300        "xcore",
301        "xcore/base",
302        "common",
303        "common/gen_mesh",
304        "aiq_core",
305        "algos",
306        "hwi",
307        "hwi/isp20",
308        "hwi/isp21",
309        "hwi/isp3x",
310        "iq_parser",
311        "iq_parser_v2",
312        "uAPI",
313        "uAPI/include",
314        "uAPI2",
315        "ipc_server",
316        "include",
317        "include/xcore",
318        "include/xcore/base",
319        "include/common",
320        "include/common/mediactl",
321        "include/algos",
322        "include/iq_parser",
323        "include/iq_parser_v2",
324        "include/iq_parser_v2/j2s",
325        "include/uAPI2",
326        "include/ipc_server",
327    ],
328
329    shared_libs: [
330        "libutils",
331        "libcutils",
332        "liblog",
333    ],
334
335
336    srcs: [
337        "rk_stream/stream_cfg/rk_vi_user_api_stream_cfg.cpp",
338        "rk_stream/stream_cfg/RawStreamCapUnit.cpp",
339        "rk_stream/stream_cfg/RawStreamProcUnit.cpp",
340        "rk_stream/stream_cfg/Stream.cpp",
341        "rk_stream/stream_cfg/MediaInfo.cpp",
342        "common/mediactl/mediactl.c",
343
344        // XCORE_SRC
345        "xcore/xcam_common.cpp",
346        "xcore/xcam_log.cpp",
347        "xcore/xcam_thread.cpp",
348        "xcore/xcam_buffer.cpp",
349        "xcore/video_buffer.cpp",
350        "xcore/v4l2_buffer_proxy.cpp",
351        "xcore/v4l2_device.cpp",
352        "xcore/buffer_pool.cpp",
353        "xcore/poll_thread.cpp",
354        "xcore/smart_buffer_priv.cpp",
355        "xcore/fake_v4l2_device.cpp",
356    ],
357
358    cflags: [
359        "-fPIC",
360        "-Wall",
361        "-Wno-error",
362        "-Os",
363        "-g",
364        "-Wno-unused-value",
365        "-Wno-unused-variable",
366        "-Wno-unused-private-field",
367        "-Wno-unused-but-set-variable",
368        "-Wno-unused-function",
369        "-Wno-unused-label",
370        "-Wno-implicit-fallthrough",
371        "-Wno-ignored-qualifiers",
372        "-Wno-reorder",
373        "-Wno-address-of-packed-member",
374        "-Wno-unused-parameter",
375        "-Wno-overloaded-virtual",
376        "-Wno-extern-c-compat",
377        "-fno-strict-aliasing",
378        "-frtti",
379        "-DANDROID_OS",
380        "-DUSE_RAWSTREAM_LIB"
381    ],
382
383    cppflags: [
384        "-fPIC",
385        "-Wall",
386        "-Wno-error",
387        "-Os",
388        "-g",
389        "-Wno-unused-value",
390        "-Wno-unused-variable",
391        "-Wno-unused-private-field",
392        "-Wno-unused-but-set-variable",
393        "-Wno-unused-function",
394        "-Wno-implicit-fallthrough",
395        "-Wno-address-of-packed-member",
396        "-Wno-ignored-qualifiers",
397        "-Wno-unused-label",
398        "-fno-strict-aliasing",
399        "-Wno-reorder",
400        "-Wno-overloaded-virtual",
401        "-Wno-unused-parameter",
402        "-Wno-extern-c-compat",
403        "-Wno-missing-braces",
404        "-Wno-missing-field-initializers",
405        "-frtti",
406        "-std=c++11",
407        "-DANDROID_OS",
408        "-DRKAIQ_ENABLE_PARSER_V1",
409        "-DRKAIQ_ENABLE_CAMGROUP",
410        "-DUSE_RAWSTREAM_LIB"
411    ],
412
413    export_include_dirs: [
414        "xcore",
415        "xcore/base",
416        "uAPI2",
417        "rk_stream/include",
418    ],
419}
420