1# Copyright (c) 2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//base/startup/appspawn/appspawn.gni") 15import("//build/test.gni") 16 17ohos_unittest("AppSpawn_ut") { 18 module_out_path = "appspawn/appspawn" 19 if (appspawn_unittest_coverage) { 20 cflags = [ "--coverage" ] 21 ldflags = [ "--coverage" ] 22 cflags_cc = [ "--coverage" ] 23 } 24 deps = [] 25 defines = [ 26 "APPSPAWN_BASE_DIR=\"/data/appspawn_ut\"", 27 "APPSPAWN_LABEL=\"APPSPAWN_UT\"", 28 "APPSPAWN_TEST", 29 "APPSPAWN_DEBUG", 30 "DEBUG_BEGETCTL_BOOT", 31 "USER_TIMER_TO_CHECK", 32 "OHOS_DEBUG", 33 "GRAPHIC_PERMISSION_CHECK", 34 "capset=CapsetStub", 35 "unshare=UnshareStub", 36 "mount=MountStub", 37 "symlink=SymlinkStub", 38 "chdir=ChdirStub", 39 "chroot=ChrootStub", 40 "syscall=SyscallStub", 41 "umount2=Umount2Stub", 42 "access=AccessStub", 43 "dlopen=DlopenStub", 44 "dlsym=DlsymStub", 45 "dlclose=DlcloseStub", 46 "execv=ExecvStub", 47 "getprocpid=GetprocpidStub", 48 "setgroups=SetgroupsStub", 49 "setresgid=SetresgidStub", 50 "setresuid=SetresuidStub", 51 "setuid=SetuidStub", 52 "setgid=SetgidStub", 53 "execvp=ExecvpStub", 54 "ioctl=IoctlStub", 55 "execve=ExecveStub", 56 "setcon=SetconStub", 57 ] 58 59 include_dirs = [ 60 "${appspawn_path}", 61 "${appspawn_path}/common", 62 "${appspawn_path}/standard", 63 "${appspawn_path}/modules/modulemgr", 64 "${appspawn_path}/modules/ace_adapter", 65 "${appspawn_path}/modules/common", 66 "${appspawn_path}/modules/sandbox", 67 "${appspawn_path}/modules/sysevent", 68 "${appspawn_innerkits_path}/client", 69 "${appspawn_innerkits_path}/include", 70 "${appspawn_innerkits_path}/permission", 71 "${appspawn_path}/modules/module_engine/include", 72 "${appspawn_path}/test/mock", 73 "${appspawn_path}/test/unittest", 74 "${appspawn_path}/util/include", 75 ] 76 sources = [ 77 "${appspawn_path}/common/appspawn_server.c", 78 "${appspawn_path}/common/appspawn_trace.cpp", 79 "${appspawn_path}/modules/modulemgr/appspawn_modulemgr.c", 80 "${appspawn_path}/standard/appspawn_appmgr.c", 81 "${appspawn_path}/standard/appspawn_kickdog.c", 82 "${appspawn_path}/standard/appspawn_msgmgr.c", 83 "${appspawn_path}/standard/appspawn_service.c", 84 "${appspawn_path}/standard/nwebspawn_launcher.c", 85 "${appspawn_path}/util/src/appspawn_utils.c", 86 ] 87 88 # client 89 sources += [ 90 "${appspawn_innerkits_path}/client/appspawn_client.c", 91 "${appspawn_innerkits_path}/client/appspawn_msg.c", 92 "${appspawn_innerkits_path}/permission/appspawn_mount_permission.c", 93 ] 94 95 # modules sources 96 sources += [ 97 "${appspawn_path}/modules/ace_adapter/ace_adapter.cpp", 98 "${appspawn_path}/modules/ace_adapter/command_lexer.cpp", 99 "${appspawn_path}/modules/common/appspawn_adapter.cpp", 100 "${appspawn_path}/modules/common/appspawn_begetctl.c", 101 "${appspawn_path}/modules/common/appspawn_cgroup.c", 102 "${appspawn_path}/modules/common/appspawn_common.c", 103 "${appspawn_path}/modules/common/appspawn_dfx_dump.cpp", 104 "${appspawn_path}/modules/common/appspawn_namespace.c", 105 "${appspawn_path}/modules/common/appspawn_silk.c", 106 "${appspawn_path}/modules/nweb_adapter/nwebspawn_adapter.cpp", 107 "${appspawn_path}/modules/sandbox/appspawn_mount_template.c", 108 "${appspawn_path}/modules/sandbox/appspawn_permission.c", 109 "${appspawn_path}/modules/sandbox/appspawn_sandbox.c", 110 "${appspawn_path}/modules/sandbox/sandbox_adapter.cpp", 111 "${appspawn_path}/modules/sandbox/sandbox_cfgvar.c", 112 "${appspawn_path}/modules/sandbox/sandbox_expand.c", 113 "${appspawn_path}/modules/sandbox/sandbox_load.c", 114 "${appspawn_path}/modules/sandbox/sandbox_manager.c", 115 ] 116 117 if (appspawn_use_encaps == true) { 118 sources += [ "${appspawn_path}/modules/common/appspawn_encaps.c" ] 119 } 120 121 # add stub 122 include_dirs += [ "${appspawn_path}/test/mock" ] 123 sources += [ 124 "${appspawn_path}/test/mock/app_spawn_stub.cpp", 125 "${appspawn_path}/test/mock/app_system_stub.c", 126 ] 127 128 # add test 129 include_dirs += [ "${appspawn_path}/test/unittest" ] 130 sources += [ 131 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_appmgr_test.cpp", 132 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_beget_test.cpp", 133 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_cgroup_test.cpp", 134 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_child_test.cpp", 135 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_command_lexer_test.cpp", 136 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_kickdog_test.cpp", 137 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_module_interface_test.cpp", 138 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandboxmgr_test.cpp", 139 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_service_test.cpp", 140 "${appspawn_path}/test/unittest/app_spawn_standard_test/nweb_spawn_service_test.cpp", 141 "${appspawn_path}/test/unittest/app_spawn_test_helper.cpp", 142 ] 143 144 if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { 145 sources += [ 146 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandbox_new_mount_test.cpp", 147 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandbox_new_test.cpp", 148 ] 149 defines += [ "APPSPAWN_SANDBOX_NEW" ] 150 } else { 151 sources += [ 152 "${appspawn_path}/modules/sandbox/sandbox_shared_mount.cpp", 153 "${appspawn_path}/modules/sandbox/sandbox_utils.cpp", 154 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandbox_test.cpp", 155 ] 156 } 157 158 configs = [ "${appspawn_path}:appspawn_config" ] 159 external_deps = [ 160 "ability_base:want", 161 "ability_runtime:app_manager", 162 "ability_runtime:appkit_native", 163 "ability_runtime:runtime", 164 "access_token:libtokenid_sdk", 165 "access_token:libtokensetproc_shared", 166 "ace_engine:ace_forward_compatibility", 167 "bundle_framework:appexecfwk_base", 168 "bundle_framework:appexecfwk_core", 169 "cJSON:cjson", 170 "c_utils:utils", 171 "config_policy:configpolicy_util", 172 "eventhandler:libeventhandler", 173 "ffrt:libffrt", 174 "hilog:libhilog", 175 "hitrace:hitrace_meter", 176 "init:libbegetutil", 177 "init:seccomp", 178 "ipc:ipc_core", 179 "napi:ace_napi", 180 "os_account:os_account_innerkits", 181 "resource_management:global_resmgr", 182 ] 183 if (enable_appspawn_dump_catcher) { 184 external_deps += [ "faultloggerd:libdfx_dumpcatcher" ] 185 } 186 if (asan_detector || is_asan) { 187 defines += [ "ASAN_DETECTOR" ] 188 sources += [ "${appspawn_path}/modules/asan/asan_detector.c" ] 189 } 190 191 if (build_selinux) { 192 defines += [ "WITH_SELINUX" ] 193 external_deps += [ 194 "selinux:libselinux", 195 "selinux_adapter:libhap_restorecon", 196 ] 197 } 198 199 if (appspawn_report_event) { 200 defines += [ "REPORT_EVENT" ] 201 external_deps += [ "hisysevent:libhisysevent" ] 202 sources += [ 203 "${appspawn_path}/modules/sysevent/appspawn_hisysevent.cpp", 204 "${appspawn_path}/modules/sysevent/event_reporter.cpp", 205 "${appspawn_path}/modules/sysevent/hisysevent_adapter.cpp", 206 ] 207 } 208 209 if (target_cpu == "arm64" || target_cpu == "x86_64" || 210 target_cpu == "riscv64") { 211 defines += [ "APPSPAWN_64" ] 212 } 213 214 if (dlp_permission_enable) { 215 cflags_cc = [ "-DWITH_DLP" ] 216 external_deps += [ "dlp_permission_service:libdlp_fuse" ] 217 } 218} 219 220ohos_unittest("AppSpawn_coldrun_ut") { 221 module_out_path = "appspawn/appspawn" 222 if (appspawn_unittest_coverage) { 223 cflags = [ "--coverage" ] 224 ldflags = [ "--coverage" ] 225 cflags_cc = [ "--coverage" ] 226 } 227 deps = [] 228 defines = [ 229 "APPSPAWN_BASE_DIR=\"/data/appspawn_ut\"", 230 "APPSPAWN_LABEL=\"APPSPAWN_UT\"", 231 "APPSPAWN_TEST", 232 "APPSPAWN_DEBUG", 233 "DEBUG_BEGETCTL_BOOT", 234 "USER_TIMER_TO_CHECK", 235 "OHOS_DEBUG", 236 "GRAPHIC_PERMISSION_CHECK", 237 "capset=CapsetStub", 238 "unshare=UnshareStub", 239 "mount=MountStub", 240 "symlink=SymlinkStub", 241 "chdir=ChdirStub", 242 "chroot=ChrootStub", 243 "syscall=SyscallStub", 244 "umount2=Umount2Stub", 245 "access=AccessStub", 246 "dlopen=DlopenStub", 247 "dlsym=DlsymStub", 248 "dlclose=DlcloseStub", 249 "execv=ExecvStub", 250 "getprocpid=GetprocpidStub", 251 "setgroups=SetgroupsStub", 252 "setresgid=SetresgidStub", 253 "setresuid=SetresuidStub", 254 "setuid=SetuidStub", 255 "setgid=SetgidStub", 256 "execvp=ExecvpStub", 257 "ioctl=IoctlStub", 258 "execve=ExecveStub", 259 "setcon=SetconStub", 260 ] 261 262 include_dirs = [ 263 "${appspawn_path}", 264 "${appspawn_path}/common", 265 "${appspawn_path}/standard", 266 "${appspawn_path}/modules/modulemgr", 267 "${appspawn_path}/modules/ace_adapter", 268 "${appspawn_path}/modules/common", 269 "${appspawn_path}/modules/sandbox", 270 "${appspawn_path}/modules/sysevent", 271 "${appspawn_innerkits_path}/client", 272 "${appspawn_innerkits_path}/include", 273 "${appspawn_innerkits_path}/permission", 274 "${appspawn_path}/modules/module_engine/include", 275 "${appspawn_path}/test/mock", 276 "${appspawn_path}/test/unittest", 277 "${appspawn_path}/util/include", 278 ] 279 sources = [ 280 "${appspawn_path}/common/appspawn_server.c", 281 "${appspawn_path}/common/appspawn_trace.cpp", 282 "${appspawn_path}/modules/modulemgr/appspawn_modulemgr.c", 283 "${appspawn_path}/standard/appspawn_appmgr.c", 284 "${appspawn_path}/standard/appspawn_kickdog.c", 285 "${appspawn_path}/standard/appspawn_msgmgr.c", 286 "${appspawn_path}/standard/appspawn_service.c", 287 "${appspawn_path}/standard/nwebspawn_launcher.c", 288 "${appspawn_path}/util/src/appspawn_utils.c", 289 ] 290 291 # client 292 sources += [ 293 "${appspawn_innerkits_path}/client/appspawn_client.c", 294 "${appspawn_innerkits_path}/client/appspawn_msg.c", 295 "${appspawn_innerkits_path}/permission/appspawn_mount_permission.c", 296 ] 297 298 # modules sources 299 sources += [ 300 "${appspawn_path}/modules/ace_adapter/ace_adapter.cpp", 301 "${appspawn_path}/modules/ace_adapter/command_lexer.cpp", 302 "${appspawn_path}/modules/common/appspawn_adapter.cpp", 303 "${appspawn_path}/modules/common/appspawn_begetctl.c", 304 "${appspawn_path}/modules/common/appspawn_cgroup.c", 305 "${appspawn_path}/modules/common/appspawn_common.c", 306 "${appspawn_path}/modules/common/appspawn_dfx_dump.cpp", 307 "${appspawn_path}/modules/common/appspawn_namespace.c", 308 "${appspawn_path}/modules/common/appspawn_silk.c", 309 "${appspawn_path}/modules/nweb_adapter/nwebspawn_adapter.cpp", 310 "${appspawn_path}/modules/sandbox/appspawn_mount_template.c", 311 "${appspawn_path}/modules/sandbox/appspawn_permission.c", 312 "${appspawn_path}/modules/sandbox/appspawn_sandbox.c", 313 "${appspawn_path}/modules/sandbox/sandbox_adapter.cpp", 314 "${appspawn_path}/modules/sandbox/sandbox_cfgvar.c", 315 "${appspawn_path}/modules/sandbox/sandbox_expand.c", 316 "${appspawn_path}/modules/sandbox/sandbox_load.c", 317 "${appspawn_path}/modules/sandbox/sandbox_manager.c", 318 ] 319 320 if (appspawn_use_encaps == true) { 321 sources += [ "${appspawn_path}/modules/common/appspawn_encaps.c" ] 322 } 323 324 # add stub 325 include_dirs += [ "${appspawn_path}/test/mock" ] 326 sources += [ 327 "${appspawn_path}/test/mock/app_spawn_stub.cpp", 328 "${appspawn_path}/test/mock/app_system_stub.c", 329 ] 330 331 # add test 332 include_dirs += [ "${appspawn_path}/test/unittest" ] 333 sources += [ 334 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_cold_run_test.cpp", 335 "${appspawn_path}/test/unittest/app_spawn_test_helper.cpp", 336 ] 337 338 if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { 339 defines += [ "APPSPAWN_SANDBOX_NEW" ] 340 } else { 341 sources += [ 342 "${appspawn_path}/modules/sandbox/sandbox_shared_mount.cpp", 343 "${appspawn_path}/modules/sandbox/sandbox_utils.cpp", 344 ] 345 } 346 347 configs = [ "${appspawn_path}:appspawn_config" ] 348 external_deps = [ 349 "ability_base:want", 350 "ability_runtime:app_manager", 351 "ability_runtime:appkit_native", 352 "ability_runtime:runtime", 353 "access_token:libtokenid_sdk", 354 "access_token:libtokensetproc_shared", 355 "ace_engine:ace_forward_compatibility", 356 "bundle_framework:appexecfwk_base", 357 "bundle_framework:appexecfwk_core", 358 "cJSON:cjson", 359 "c_utils:utils", 360 "config_policy:configpolicy_util", 361 "eventhandler:libeventhandler", 362 "ffrt:libffrt", 363 "hilog:libhilog", 364 "hitrace:hitrace_meter", 365 "init:libbegetutil", 366 "init:seccomp", 367 "ipc:ipc_core", 368 "napi:ace_napi", 369 "os_account:os_account_innerkits", 370 "resource_management:global_resmgr", 371 ] 372 if (enable_appspawn_dump_catcher) { 373 external_deps += [ "faultloggerd:libdfx_dumpcatcher" ] 374 } 375 if (asan_detector || is_asan) { 376 defines += [ "ASAN_DETECTOR" ] 377 sources += [ "${appspawn_path}/modules/asan/asan_detector.c" ] 378 } 379 380 if (build_selinux) { 381 defines += [ "WITH_SELINUX" ] 382 external_deps += [ 383 "selinux:libselinux", 384 "selinux_adapter:libhap_restorecon", 385 ] 386 } 387 388 if (appspawn_report_event) { 389 defines += [ "REPORT_EVENT" ] 390 external_deps += [ "hisysevent:libhisysevent" ] 391 sources += [ 392 "${appspawn_path}/modules/sysevent/appspawn_hisysevent.cpp", 393 "${appspawn_path}/modules/sysevent/event_reporter.cpp", 394 "${appspawn_path}/modules/sysevent/hisysevent_adapter.cpp", 395 ] 396 } 397 398 if (target_cpu == "arm64" || target_cpu == "x86_64" || 399 target_cpu == "riscv64") { 400 defines += [ "APPSPAWN_64" ] 401 } 402 403 if (dlp_permission_enable) { 404 cflags_cc = [ "-DWITH_DLP" ] 405 external_deps += [ "dlp_permission_service:libdlp_fuse" ] 406 } 407} 408 409ohos_unittest("AppSpawn_common_ut") { 410 module_out_path = "appspawn/appspawn" 411 if (appspawn_unittest_coverage) { 412 cflags = [ "--coverage" ] 413 ldflags = [ "--coverage" ] 414 cflags_cc = [ "--coverage" ] 415 } 416 deps = [] 417 defines = [ 418 "APPSPAWN_BASE_DIR=\"/data/appspawn_ut\"", 419 "APPSPAWN_LABEL=\"APPSPAWN_UT\"", 420 "APPSPAWN_TEST", 421 "APPSPAWN_DEBUG", 422 "DEBUG_BEGETCTL_BOOT", 423 "USER_TIMER_TO_CHECK", 424 "OHOS_DEBUG", 425 "GRAPHIC_PERMISSION_CHECK", 426 "capset=CapsetStub", 427 "unshare=UnshareStub", 428 "mount=MountStub", 429 "symlink=SymlinkStub", 430 "chdir=ChdirStub", 431 "chroot=ChrootStub", 432 "syscall=SyscallStub", 433 "umount2=Umount2Stub", 434 "access=AccessStub", 435 "dlopen=DlopenStub", 436 "dlsym=DlsymStub", 437 "dlclose=DlcloseStub", 438 "execv=ExecvStub", 439 "getprocpid=GetprocpidStub", 440 "setgroups=SetgroupsStub", 441 "setresgid=SetresgidStub", 442 "setresuid=SetresuidStub", 443 "setuid=SetuidStub", 444 "setgid=SetgidStub", 445 "execvp=ExecvpStub", 446 "ioctl=IoctlStub", 447 "execve=ExecveStub", 448 "setcon=SetconStub", 449 ] 450 451 include_dirs = [ 452 "${appspawn_path}", 453 "${appspawn_path}/common", 454 "${appspawn_path}/standard", 455 "${appspawn_path}/modules/modulemgr", 456 "${appspawn_path}/modules/ace_adapter", 457 "${appspawn_path}/modules/common", 458 "${appspawn_path}/modules/sandbox", 459 "${appspawn_path}/modules/sysevent", 460 "${appspawn_innerkits_path}/client", 461 "${appspawn_innerkits_path}/include", 462 "${appspawn_innerkits_path}/permission", 463 "${appspawn_path}/modules/module_engine/include", 464 "${appspawn_path}/test/mock", 465 "${appspawn_path}/test/unittest", 466 "${appspawn_path}/util/include", 467 ] 468 sources = [ 469 "${appspawn_path}/common/appspawn_server.c", 470 "${appspawn_path}/common/appspawn_trace.cpp", 471 "${appspawn_path}/modules/modulemgr/appspawn_modulemgr.c", 472 "${appspawn_path}/standard/appspawn_appmgr.c", 473 "${appspawn_path}/standard/appspawn_kickdog.c", 474 "${appspawn_path}/standard/appspawn_msgmgr.c", 475 "${appspawn_path}/standard/appspawn_service.c", 476 "${appspawn_path}/standard/nwebspawn_launcher.c", 477 "${appspawn_path}/util/src/appspawn_utils.c", 478 ] 479 480 # client 481 sources += [ 482 "${appspawn_innerkits_path}/client/appspawn_client.c", 483 "${appspawn_innerkits_path}/client/appspawn_msg.c", 484 "${appspawn_innerkits_path}/permission/appspawn_mount_permission.c", 485 ] 486 487 # modules sources 488 sources += [ 489 "${appspawn_path}/modules/ace_adapter/ace_adapter.cpp", 490 "${appspawn_path}/modules/ace_adapter/command_lexer.cpp", 491 "${appspawn_path}/modules/common/appspawn_adapter.cpp", 492 "${appspawn_path}/modules/common/appspawn_begetctl.c", 493 "${appspawn_path}/modules/common/appspawn_cgroup.c", 494 "${appspawn_path}/modules/common/appspawn_common.c", 495 "${appspawn_path}/modules/common/appspawn_dfx_dump.cpp", 496 "${appspawn_path}/modules/common/appspawn_encaps.c", 497 "${appspawn_path}/modules/common/appspawn_namespace.c", 498 "${appspawn_path}/modules/common/appspawn_silk.c", 499 "${appspawn_path}/modules/nweb_adapter/nwebspawn_adapter.cpp", 500 "${appspawn_path}/modules/sandbox/appspawn_mount_template.c", 501 "${appspawn_path}/modules/sandbox/appspawn_permission.c", 502 "${appspawn_path}/modules/sandbox/appspawn_sandbox.c", 503 "${appspawn_path}/modules/sandbox/sandbox_adapter.cpp", 504 "${appspawn_path}/modules/sandbox/sandbox_cfgvar.c", 505 "${appspawn_path}/modules/sandbox/sandbox_expand.c", 506 "${appspawn_path}/modules/sandbox/sandbox_load.c", 507 "${appspawn_path}/modules/sandbox/sandbox_manager.c", 508 ] 509 510 # add stub 511 include_dirs += [ "${appspawn_path}/test/mock" ] 512 sources += [ 513 "${appspawn_path}/test/mock/app_spawn_stub.cpp", 514 "${appspawn_path}/test/mock/app_system_stub.c", 515 ] 516 517 # add test 518 include_dirs += [ "${appspawn_path}/test/unittest" ] 519 sources += [ 520 "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_common_test.cpp", 521 "${appspawn_path}/test/unittest/app_spawn_test_helper.cpp", 522 ] 523 524 if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { 525 defines += [ "APPSPAWN_SANDBOX_NEW" ] 526 } else { 527 sources += [ 528 "${appspawn_path}/modules/sandbox/sandbox_shared_mount.cpp", 529 "${appspawn_path}/modules/sandbox/sandbox_utils.cpp", 530 ] 531 } 532 533 configs = [ "${appspawn_path}:appspawn_config" ] 534 external_deps = [ 535 "ability_base:want", 536 "ability_runtime:app_manager", 537 "ability_runtime:appkit_native", 538 "ability_runtime:runtime", 539 "access_token:libtokenid_sdk", 540 "access_token:libtokensetproc_shared", 541 "ace_engine:ace_forward_compatibility", 542 "bundle_framework:appexecfwk_base", 543 "bundle_framework:appexecfwk_core", 544 "cJSON:cjson", 545 "c_utils:utils", 546 "config_policy:configpolicy_util", 547 "eventhandler:libeventhandler", 548 "ffrt:libffrt", 549 "hilog:libhilog", 550 "hitrace:hitrace_meter", 551 "init:libbegetutil", 552 "init:seccomp", 553 "ipc:ipc_core", 554 "napi:ace_napi", 555 "os_account:os_account_innerkits", 556 "resource_management:global_resmgr", 557 ] 558 if (enable_appspawn_dump_catcher) { 559 external_deps += [ "faultloggerd:libdfx_dumpcatcher" ] 560 } 561 if (asan_detector || is_asan) { 562 defines += [ "ASAN_DETECTOR" ] 563 sources += [ "${appspawn_path}/modules/asan/asan_detector.c" ] 564 } 565 566 if (build_selinux) { 567 defines += [ "WITH_SELINUX" ] 568 external_deps += [ 569 "selinux:libselinux", 570 "selinux_adapter:libhap_restorecon", 571 ] 572 } 573 574 if (appspawn_report_event) { 575 defines += [ "REPORT_EVENT" ] 576 external_deps += [ "hisysevent:libhisysevent" ] 577 sources += [ 578 "${appspawn_path}/modules/sysevent/appspawn_hisysevent.cpp", 579 "${appspawn_path}/modules/sysevent/event_reporter.cpp", 580 "${appspawn_path}/modules/sysevent/hisysevent_adapter.cpp", 581 ] 582 } 583 584 if (target_cpu == "arm64" || target_cpu == "x86_64" || 585 target_cpu == "riscv64") { 586 defines += [ "APPSPAWN_64" ] 587 } 588 589 if (dlp_permission_enable) { 590 cflags_cc = [ "-DWITH_DLP" ] 591 external_deps += [ "dlp_permission_service:libdlp_fuse" ] 592 } 593} 594