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