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