1686862fbSopenharmony_ci# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
2686862fbSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3686862fbSopenharmony_ci# you may not use this file except in compliance with the License.
4686862fbSopenharmony_ci# You may obtain a copy of the License at
5686862fbSopenharmony_ci#
6686862fbSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7686862fbSopenharmony_ci#
8686862fbSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9686862fbSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10686862fbSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11686862fbSopenharmony_ci# See the License for the specific language governing permissions and
12686862fbSopenharmony_ci# limitations under the License.
13686862fbSopenharmony_ci
14686862fbSopenharmony_ciimport("//build/ohos.gni")
15686862fbSopenharmony_ciimport("//foundation/ability/dmsfwk/dmsfwk.gni")
16686862fbSopenharmony_ci
17686862fbSopenharmony_ciconfig("continuationmanager_napi_public_config") {
18686862fbSopenharmony_ci  visibility = [ ":*" ]
19686862fbSopenharmony_ci  include_dirs = [
20686862fbSopenharmony_ci    "//foundation/ability/dmsfwk/interfaces/kits/napi/include/",
21686862fbSopenharmony_ci    "//foundation/ability/dmsfwk/services/dtbabilitymgr/include/",
22686862fbSopenharmony_ci  ]
23686862fbSopenharmony_ci
24686862fbSopenharmony_ci  cflags = []
25686862fbSopenharmony_ci  if (target_cpu == "arm") {
26686862fbSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
27686862fbSopenharmony_ci  }
28686862fbSopenharmony_ci}
29686862fbSopenharmony_ci
30686862fbSopenharmony_ciohos_shared_library("continuationmanager_napi") {
31686862fbSopenharmony_ci  branch_protector_ret = "pac_ret"
32686862fbSopenharmony_ci  sanitize = {
33686862fbSopenharmony_ci    cfi = true
34686862fbSopenharmony_ci    cfi_cross_dso = true
35686862fbSopenharmony_ci    debug = false
36686862fbSopenharmony_ci  }
37686862fbSopenharmony_ci
38686862fbSopenharmony_ci  sources = [
39686862fbSopenharmony_ci    "continuation_manager_module.cpp",
40686862fbSopenharmony_ci    "js_continuation_manager.cpp",
41686862fbSopenharmony_ci    "js_device_selection_listener.cpp",
42686862fbSopenharmony_ci  ]
43686862fbSopenharmony_ci
44686862fbSopenharmony_ci  public_configs = [
45686862fbSopenharmony_ci    ":continuationmanager_napi_public_config",
46686862fbSopenharmony_ci    "//foundation/ability/dmsfwk/services/dtbschedmgr/test/resource:coverage_flags",
47686862fbSopenharmony_ci  ]
48686862fbSopenharmony_ci
49686862fbSopenharmony_ci  deps = [
50686862fbSopenharmony_ci    "${dms_path}/common:distributed_sched_utils",
51686862fbSopenharmony_ci    "../../../innerkits/common:common_sdk",
52686862fbSopenharmony_ci    "../../../innerkits/continuation_manager:continuation_manager",
53686862fbSopenharmony_ci  ]
54686862fbSopenharmony_ci
55686862fbSopenharmony_ci  external_deps = [
56686862fbSopenharmony_ci    "ability_base:want",
57686862fbSopenharmony_ci    "ability_runtime:abilitykit_native",
58686862fbSopenharmony_ci    "ability_runtime:extensionkit_native",
59686862fbSopenharmony_ci    "ability_runtime:napi_common",
60686862fbSopenharmony_ci    "ability_runtime:runtime",
61686862fbSopenharmony_ci    "cJSON:cjson",
62686862fbSopenharmony_ci    "c_utils:utils",
63686862fbSopenharmony_ci    "hilog:libhilog",
64686862fbSopenharmony_ci    "ipc:ipc_core",
65686862fbSopenharmony_ci    "napi:ace_napi",
66686862fbSopenharmony_ci  ]
67686862fbSopenharmony_ci
68686862fbSopenharmony_ci  relative_install_dir = "module/continuation"
69686862fbSopenharmony_ci
70686862fbSopenharmony_ci  subsystem_name = "ability"
71686862fbSopenharmony_ci  part_name = "dmsfwk"
72686862fbSopenharmony_ci}
73