11ebd3d54Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
21ebd3d54Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
31ebd3d54Sopenharmony_ci# you may not use this file except in compliance with the License.
41ebd3d54Sopenharmony_ci# You may obtain a copy of the License at
51ebd3d54Sopenharmony_ci#
61ebd3d54Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
71ebd3d54Sopenharmony_ci#
81ebd3d54Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
91ebd3d54Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
101ebd3d54Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
111ebd3d54Sopenharmony_ci# See the License for the specific language governing permissions and
121ebd3d54Sopenharmony_ci# limitations under the License.
131ebd3d54Sopenharmony_ci
141ebd3d54Sopenharmony_ciimport("//build/ohos.gni")
151ebd3d54Sopenharmony_ciimport("//foundation/resourceschedule/background_task_mgr/bgtaskmgr.gni")
161ebd3d54Sopenharmony_ci
171ebd3d54Sopenharmony_cicflags = []
181ebd3d54Sopenharmony_ci
191ebd3d54Sopenharmony_ciconfig("bgtaskmgr_public_config") {
201ebd3d54Sopenharmony_ci  include_dirs = [ "napi/include" ]
211ebd3d54Sopenharmony_ci}
221ebd3d54Sopenharmony_ci
231ebd3d54Sopenharmony_ciohos_shared_library("backgroundtaskmanager") {
241ebd3d54Sopenharmony_ci  branch_protector_ret = "pac_ret"
251ebd3d54Sopenharmony_ci  sanitize = {
261ebd3d54Sopenharmony_ci    cfi = true
271ebd3d54Sopenharmony_ci    cfi_cross_dso = true
281ebd3d54Sopenharmony_ci    debug = false
291ebd3d54Sopenharmony_ci  }
301ebd3d54Sopenharmony_ci  sources = [
311ebd3d54Sopenharmony_ci    "napi/src/bg_continuous_task_napi_module.cpp",
321ebd3d54Sopenharmony_ci    "napi/src/cancel_suspend_delay.cpp",
331ebd3d54Sopenharmony_ci    "napi/src/common.cpp",
341ebd3d54Sopenharmony_ci    "napi/src/efficiency_resources_operation.cpp",
351ebd3d54Sopenharmony_ci    "napi/src/get_remaining_delay_time.cpp",
361ebd3d54Sopenharmony_ci    "napi/src/init.cpp",
371ebd3d54Sopenharmony_ci    "napi/src/request_suspend_delay.cpp",
381ebd3d54Sopenharmony_ci  ]
391ebd3d54Sopenharmony_ci
401ebd3d54Sopenharmony_ci  public_configs = [ ":bgtaskmgr_public_config" ]
411ebd3d54Sopenharmony_ci
421ebd3d54Sopenharmony_ci  deps = [ "${bgtaskmgr_interfaces_path}/innerkits:bgtaskmgr_innerkits" ]
431ebd3d54Sopenharmony_ci
441ebd3d54Sopenharmony_ci  external_deps = [
451ebd3d54Sopenharmony_ci    "ability_base:want",
461ebd3d54Sopenharmony_ci    "ability_runtime:ability_context_native",
471ebd3d54Sopenharmony_ci    "ability_runtime:abilitykit_native",
481ebd3d54Sopenharmony_ci    "ability_runtime:extensionkit_native",
491ebd3d54Sopenharmony_ci    "ability_runtime:napi_base_context",
501ebd3d54Sopenharmony_ci    "ability_runtime:wantagent_innerkits",
511ebd3d54Sopenharmony_ci    "bundle_framework:appexecfwk_base",
521ebd3d54Sopenharmony_ci    "bundle_framework:appexecfwk_core",
531ebd3d54Sopenharmony_ci    "c_utils:utils",
541ebd3d54Sopenharmony_ci    "common_event_service:cesfwk_innerkits",
551ebd3d54Sopenharmony_ci    "hilog:libhilog",
561ebd3d54Sopenharmony_ci    "ipc:ipc_single",
571ebd3d54Sopenharmony_ci    "napi:ace_napi",
581ebd3d54Sopenharmony_ci    "samgr:samgr_proxy",
591ebd3d54Sopenharmony_ci  ]
601ebd3d54Sopenharmony_ci
611ebd3d54Sopenharmony_ci  defines = []
621ebd3d54Sopenharmony_ci  if (background_task_mgr_jsstack) {
631ebd3d54Sopenharmony_ci    defines += [ "SUPPORT_JSSTACK" ]
641ebd3d54Sopenharmony_ci    external_deps += [ "hiview:libxpower_event_js" ]
651ebd3d54Sopenharmony_ci  }
661ebd3d54Sopenharmony_ci
671ebd3d54Sopenharmony_ci  relative_install_dir = "module"
681ebd3d54Sopenharmony_ci  subsystem_name = "resourceschedule"
691ebd3d54Sopenharmony_ci  part_name = "background_task_mgr"
701ebd3d54Sopenharmony_ci}
711ebd3d54Sopenharmony_ci
721ebd3d54Sopenharmony_ciohos_shared_library("backgroundtaskmanager_napi") {
731ebd3d54Sopenharmony_ci  branch_protector_ret = "pac_ret"
741ebd3d54Sopenharmony_ci  sanitize = {
751ebd3d54Sopenharmony_ci    cfi = true
761ebd3d54Sopenharmony_ci    cfi_cross_dso = true
771ebd3d54Sopenharmony_ci    debug = false
781ebd3d54Sopenharmony_ci  }
791ebd3d54Sopenharmony_ci  sources = [
801ebd3d54Sopenharmony_ci    "napi/src/bg_continuous_task_napi_module.cpp",
811ebd3d54Sopenharmony_ci    "napi/src/cancel_suspend_delay.cpp",
821ebd3d54Sopenharmony_ci    "napi/src/common.cpp",
831ebd3d54Sopenharmony_ci    "napi/src/efficiency_resources_operation.cpp",
841ebd3d54Sopenharmony_ci    "napi/src/get_remaining_delay_time.cpp",
851ebd3d54Sopenharmony_ci    "napi/src/init_bgtaskmgr.cpp",
861ebd3d54Sopenharmony_ci    "napi/src/request_suspend_delay.cpp",
871ebd3d54Sopenharmony_ci  ]
881ebd3d54Sopenharmony_ci
891ebd3d54Sopenharmony_ci  public_configs = [ ":bgtaskmgr_public_config" ]
901ebd3d54Sopenharmony_ci
911ebd3d54Sopenharmony_ci  deps = [ "${bgtaskmgr_interfaces_path}/innerkits:bgtaskmgr_innerkits" ]
921ebd3d54Sopenharmony_ci
931ebd3d54Sopenharmony_ci  external_deps = [
941ebd3d54Sopenharmony_ci    "ability_base:want",
951ebd3d54Sopenharmony_ci    "ability_runtime:ability_context_native",
961ebd3d54Sopenharmony_ci    "ability_runtime:abilitykit_native",
971ebd3d54Sopenharmony_ci    "ability_runtime:extensionkit_native",
981ebd3d54Sopenharmony_ci    "ability_runtime:napi_base_context",
991ebd3d54Sopenharmony_ci    "ability_runtime:wantagent_innerkits",
1001ebd3d54Sopenharmony_ci    "bundle_framework:appexecfwk_base",
1011ebd3d54Sopenharmony_ci    "bundle_framework:appexecfwk_core",
1021ebd3d54Sopenharmony_ci    "c_utils:utils",
1031ebd3d54Sopenharmony_ci    "common_event_service:cesfwk_innerkits",
1041ebd3d54Sopenharmony_ci    "hilog:libhilog",
1051ebd3d54Sopenharmony_ci    "ipc:ipc_single",
1061ebd3d54Sopenharmony_ci    "napi:ace_napi",
1071ebd3d54Sopenharmony_ci    "samgr:samgr_proxy",
1081ebd3d54Sopenharmony_ci  ]
1091ebd3d54Sopenharmony_ci
1101ebd3d54Sopenharmony_ci  defines = []
1111ebd3d54Sopenharmony_ci  if (background_task_mgr_jsstack) {
1121ebd3d54Sopenharmony_ci    defines += [ "SUPPORT_JSSTACK" ]
1131ebd3d54Sopenharmony_ci    external_deps += [ "hiview:libxpower_event_js" ]
1141ebd3d54Sopenharmony_ci  }
1151ebd3d54Sopenharmony_ci
1161ebd3d54Sopenharmony_ci  relative_install_dir = "module/resourceschedule"
1171ebd3d54Sopenharmony_ci  subsystem_name = "resourceschedule"
1181ebd3d54Sopenharmony_ci  part_name = "background_task_mgr"
1191ebd3d54Sopenharmony_ci}
1201ebd3d54Sopenharmony_ci
1211ebd3d54Sopenharmony_ciohos_shared_library("cj_background_task_mgr_ffi") {
1221ebd3d54Sopenharmony_ci  sanitize = {
1231ebd3d54Sopenharmony_ci    cfi = true
1241ebd3d54Sopenharmony_ci    cfi_cross_dso = true
1251ebd3d54Sopenharmony_ci    debug = false
1261ebd3d54Sopenharmony_ci  }
1271ebd3d54Sopenharmony_ci
1281ebd3d54Sopenharmony_ci  include_dirs = [ "../innerkits/include" ]
1291ebd3d54Sopenharmony_ci
1301ebd3d54Sopenharmony_ci  if (!defined(defines)) {
1311ebd3d54Sopenharmony_ci    defines = []
1321ebd3d54Sopenharmony_ci  }
1331ebd3d54Sopenharmony_ci
1341ebd3d54Sopenharmony_ci  if (product_name != "ohos-sdk") {
1351ebd3d54Sopenharmony_ci    deps = [ "${bgtaskmgr_interfaces_path}/innerkits:bgtaskmgr_innerkits" ]
1361ebd3d54Sopenharmony_ci    external_deps = [
1371ebd3d54Sopenharmony_ci      "ability_base:want",
1381ebd3d54Sopenharmony_ci      "ability_runtime:ability_context_native",
1391ebd3d54Sopenharmony_ci      "ability_runtime:abilitykit_native",
1401ebd3d54Sopenharmony_ci      "ability_runtime:napi_base_context",
1411ebd3d54Sopenharmony_ci      "ability_runtime:wantagent_innerkits",
1421ebd3d54Sopenharmony_ci      "bundle_framework:appexecfwk_base",
1431ebd3d54Sopenharmony_ci      "c_utils:utils",
1441ebd3d54Sopenharmony_ci      "common_event_service:cesfwk_innerkits",
1451ebd3d54Sopenharmony_ci      "hilog:libhilog",
1461ebd3d54Sopenharmony_ci      "ipc:ipc_single",
1471ebd3d54Sopenharmony_ci      "napi:ace_napi",
1481ebd3d54Sopenharmony_ci      "napi:cj_bind_ffi",
1491ebd3d54Sopenharmony_ci      "napi:cj_bind_native",
1501ebd3d54Sopenharmony_ci      "samgr:samgr_proxy",
1511ebd3d54Sopenharmony_ci    ]
1521ebd3d54Sopenharmony_ci    sources = [ "cj/background_task_mgr/background_task_mgr_ffi.cpp" ]
1531ebd3d54Sopenharmony_ci  } else {
1541ebd3d54Sopenharmony_ci    defines += [ "PREVIEWER" ]
1551ebd3d54Sopenharmony_ci    sources = [ "cj/background_task_mgr/background_task_mock.cpp" ]
1561ebd3d54Sopenharmony_ci    external_deps = [ "napi:cj_bind_ffi" ]
1571ebd3d54Sopenharmony_ci  }
1581ebd3d54Sopenharmony_ci
1591ebd3d54Sopenharmony_ci  if (current_os == "ohos") {
1601ebd3d54Sopenharmony_ci    defines += [ "OHOS_PLATFORM" ]
1611ebd3d54Sopenharmony_ci  }
1621ebd3d54Sopenharmony_ci
1631ebd3d54Sopenharmony_ci  if (current_os == "mingw") {
1641ebd3d54Sopenharmony_ci    defines += [ "WINDOWS_PLATFORM" ]
1651ebd3d54Sopenharmony_ci  }
1661ebd3d54Sopenharmony_ci
1671ebd3d54Sopenharmony_ci  innerapi_tags = [ "platformsdk" ]
1681ebd3d54Sopenharmony_ci  subsystem_name = "resourceschedule"
1691ebd3d54Sopenharmony_ci  part_name = "background_task_mgr"
1701ebd3d54Sopenharmony_ci}
1711ebd3d54Sopenharmony_ci
1721ebd3d54Sopenharmony_ciohos_shared_library("transient_task") {
1731ebd3d54Sopenharmony_ci  sanitize = {
1741ebd3d54Sopenharmony_ci    cfi = true
1751ebd3d54Sopenharmony_ci    cfi_cross_dso = true
1761ebd3d54Sopenharmony_ci    debug = false
1771ebd3d54Sopenharmony_ci  }
1781ebd3d54Sopenharmony_ci
1791ebd3d54Sopenharmony_ci  branch_protector_ret = "pac_ret"
1801ebd3d54Sopenharmony_ci
1811ebd3d54Sopenharmony_ci  output_extension = "so"
1821ebd3d54Sopenharmony_ci  include_dirs = [ "$bgtaskmgr_root_path/interfaces/kits/c/include" ]
1831ebd3d54Sopenharmony_ci
1841ebd3d54Sopenharmony_ci  sources =
1851ebd3d54Sopenharmony_ci      [ "$bgtaskmgr_root_path/interfaces/kits/c/src/transient_task_api.cpp" ]
1861ebd3d54Sopenharmony_ci
1871ebd3d54Sopenharmony_ci  cflags = [
1881ebd3d54Sopenharmony_ci    "-fstack-protector-strong",
1891ebd3d54Sopenharmony_ci    "-D_FORTIFY_SOURCE=2",
1901ebd3d54Sopenharmony_ci    "-O2",
1911ebd3d54Sopenharmony_ci  ]
1921ebd3d54Sopenharmony_ci
1931ebd3d54Sopenharmony_ci  cflags_cc = [
1941ebd3d54Sopenharmony_ci    "-fstack-protector-strong",
1951ebd3d54Sopenharmony_ci    "-D_FORTIFY_SOURCE=2",
1961ebd3d54Sopenharmony_ci    "-O2",
1971ebd3d54Sopenharmony_ci  ]
1981ebd3d54Sopenharmony_ci
1991ebd3d54Sopenharmony_ci  deps = [ "${bgtaskmgr_interfaces_path}/innerkits:bgtaskmgr_innerkits" ]
2001ebd3d54Sopenharmony_ci
2011ebd3d54Sopenharmony_ci  external_deps = [
2021ebd3d54Sopenharmony_ci    "ability_base:want",
2031ebd3d54Sopenharmony_ci    "ability_runtime:ability_context_native",
2041ebd3d54Sopenharmony_ci    "ability_runtime:abilitykit_native",
2051ebd3d54Sopenharmony_ci    "ability_runtime:napi_base_context",
2061ebd3d54Sopenharmony_ci    "ability_runtime:wantagent_innerkits",
2071ebd3d54Sopenharmony_ci    "bundle_framework:appexecfwk_base",
2081ebd3d54Sopenharmony_ci    "c_utils:utils",
2091ebd3d54Sopenharmony_ci    "common_event_service:cesfwk_innerkits",
2101ebd3d54Sopenharmony_ci    "hilog:libhilog",
2111ebd3d54Sopenharmony_ci    "ipc:ipc_single",
2121ebd3d54Sopenharmony_ci    "napi:ace_napi",
2131ebd3d54Sopenharmony_ci    "napi:cj_bind_ffi",
2141ebd3d54Sopenharmony_ci    "napi:cj_bind_native",
2151ebd3d54Sopenharmony_ci    "samgr:samgr_proxy",
2161ebd3d54Sopenharmony_ci  ]
2171ebd3d54Sopenharmony_ci
2181ebd3d54Sopenharmony_ci  subsystem_name = "resourceschedule"
2191ebd3d54Sopenharmony_ci  part_name = "background_task_mgr"
2201ebd3d54Sopenharmony_ci  relative_install_dir = "ndk"
2211ebd3d54Sopenharmony_ci}
222