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