1a1db01bdSopenharmony_ci# Copyright (c) 2020 Huawei Device Co., Ltd. 2a1db01bdSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3a1db01bdSopenharmony_ci# you may not use this file except in compliance with the License. 4a1db01bdSopenharmony_ci# You may obtain a copy of the License at 5a1db01bdSopenharmony_ci# 6a1db01bdSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7a1db01bdSopenharmony_ci# 8a1db01bdSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9a1db01bdSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10a1db01bdSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11a1db01bdSopenharmony_ci# See the License for the specific language governing permissions and 12a1db01bdSopenharmony_ci# limitations under the License. 13a1db01bdSopenharmony_ciimport("//build/lite/config/component/lite_component.gni") 14a1db01bdSopenharmony_ciimport("//build/lite/config/subsystem/aafwk/config.gni") 15a1db01bdSopenharmony_ciimport("//foundation/ability/ability_lite/ability_lite.gni") 16a1db01bdSopenharmony_ciimport( 17a1db01bdSopenharmony_ci "//foundation/bundlemanager/bundle_framework_lite/bundle_framework_lite.gni") 18a1db01bdSopenharmony_ci 19a1db01bdSopenharmony_cilite_library("abilityms") { 20a1db01bdSopenharmony_ci if (ohos_kernel_type == "liteos_m") { 21a1db01bdSopenharmony_ci target_type = "static_library" 22a1db01bdSopenharmony_ci 23a1db01bdSopenharmony_ci sources = [ 24a1db01bdSopenharmony_ci "src/slite/ability_list.cpp", 25a1db01bdSopenharmony_ci "src/slite/ability_mgr_service_slite.cpp", 26a1db01bdSopenharmony_ci "src/slite/ability_record.cpp", 27a1db01bdSopenharmony_ci "src/slite/ability_record_manager.cpp", 28a1db01bdSopenharmony_ci "src/slite/ability_record_observer_manager.cpp", 29a1db01bdSopenharmony_ci "src/slite/ability_thread.cpp", 30a1db01bdSopenharmony_ci "src/slite/ability_thread_loader.cpp", 31a1db01bdSopenharmony_ci "src/slite/bms_helper.cpp", 32a1db01bdSopenharmony_ci "src/slite/js_ability_thread.cpp", 33a1db01bdSopenharmony_ci "src/slite/native_ability_thread.cpp", 34a1db01bdSopenharmony_ci "src/slite/slite_ability_loader.cpp", 35a1db01bdSopenharmony_ci ] 36a1db01bdSopenharmony_ci 37a1db01bdSopenharmony_ci if (defined(ability_lite_config_ohos_aafwk_ams_task_size) && 38a1db01bdSopenharmony_ci ability_lite_config_ohos_aafwk_ams_task_size > 0) { 39a1db01bdSopenharmony_ci defines = [ 40a1db01bdSopenharmony_ci "AMS_TASK_STACK_SIZE=$ability_lite_config_ohos_aafwk_ams_task_size", 41a1db01bdSopenharmony_ci ] 42a1db01bdSopenharmony_ci } 43a1db01bdSopenharmony_ci 44a1db01bdSopenharmony_ci if (defined(ability_lite_config_ohos_aafwk_ability_list_capacity) && 45a1db01bdSopenharmony_ci ability_lite_config_ohos_aafwk_ability_list_capacity > 0) { 46a1db01bdSopenharmony_ci defines += [ "ABILITY_LIST_CAPACITY=$ability_lite_config_ohos_aafwk_ability_list_capacity" ] 47a1db01bdSopenharmony_ci } 48a1db01bdSopenharmony_ci 49a1db01bdSopenharmony_ci if (defined(ability_lite_config_ohos_aafwk_aafwk_lite_task_stack_size) && 50a1db01bdSopenharmony_ci ability_lite_config_ohos_aafwk_aafwk_lite_task_stack_size > 0) { 51a1db01bdSopenharmony_ci defines += [ 52a1db01bdSopenharmony_ci "TASK_STACK_SIZE=$ability_lite_config_ohos_aafwk_aafwk_lite_task_stack_size", 53a1db01bdSopenharmony_ci "NATIVE_TASK_STACK_SIZE=$ability_lite_config_ohos_aafwk_ams_task_size", 54a1db01bdSopenharmony_ci ] 55a1db01bdSopenharmony_ci } 56a1db01bdSopenharmony_ci 57a1db01bdSopenharmony_ci if (ability_lite_enable_ohos_aafwk_multi_tasks_feature == true) { 58a1db01bdSopenharmony_ci defines += [ "_MINI_MULTI_TASKS_" ] 59a1db01bdSopenharmony_ci } 60a1db01bdSopenharmony_ci 61a1db01bdSopenharmony_ci if (defined(bundle_framework_lite_enable_ohos_bundle_manager_service) && 62a1db01bdSopenharmony_ci bundle_framework_lite_enable_ohos_bundle_manager_service == true) { 63a1db01bdSopenharmony_ci defines += [ "_MINI_BMS_" ] 64a1db01bdSopenharmony_ci } 65a1db01bdSopenharmony_ci 66a1db01bdSopenharmony_ci deps = [ 67a1db01bdSopenharmony_ci "${ability_lite_samgr_lite_path}/samgr:samgr", 68a1db01bdSopenharmony_ci "${ace_engine_lite_path}/frameworks:ace_lite", 69a1db01bdSopenharmony_ci "${hilog_lite_path}/frameworks/featured:hilog_static", 70a1db01bdSopenharmony_ci ] 71a1db01bdSopenharmony_ci 72a1db01bdSopenharmony_ci include_dirs = [ 73a1db01bdSopenharmony_ci "${aafwk_lite_path}/interfaces/inner_api/abilitymgr_lite", 74a1db01bdSopenharmony_ci "${aafwk_lite_path}/interfaces/inner_api/abilitymgr_lite/slite", 75a1db01bdSopenharmony_ci "${aafwk_lite_path}/interfaces/kits/ability_lite/slite", 76a1db01bdSopenharmony_ci "${aafwk_lite_path}/interfaces/kits/want_lite", 77a1db01bdSopenharmony_ci "${aafwk_lite_path}/frameworks/abilitymgr_lite/include/slite", 78a1db01bdSopenharmony_ci "${appexecfwk_lite_path}/interfaces/inner_api/bundlemgr_lite", 79a1db01bdSopenharmony_ci "${appexecfwk_lite_path}/interfaces/kits/bundle_lite", 80a1db01bdSopenharmony_ci "${appexecfwk_lite_path}/utils/bundle_lite", 81a1db01bdSopenharmony_ci "${utils_lite_path}/include", 82a1db01bdSopenharmony_ci "${utils_lite_path}/memory/include", 83a1db01bdSopenharmony_ci "${dmsfwk_lite_path}/interfaces/innerkits", 84a1db01bdSopenharmony_ci "${ability_lite_samgr_lite_path}/interfaces/kits/registry", 85a1db01bdSopenharmony_ci "${ability_lite_samgr_lite_path}/interfaces/kits/samgr", 86a1db01bdSopenharmony_ci "//third_party/bounds_checking_function/include", 87a1db01bdSopenharmony_ci "./include/slite", 88a1db01bdSopenharmony_ci "./include/util", 89a1db01bdSopenharmony_ci ] 90a1db01bdSopenharmony_ci } else { 91a1db01bdSopenharmony_ci target_type = "shared_library" 92a1db01bdSopenharmony_ci 93a1db01bdSopenharmony_ci sources = [ 94a1db01bdSopenharmony_ci "src/ability_connect_mission.cpp", 95a1db01bdSopenharmony_ci "src/ability_inner_feature.cpp", 96a1db01bdSopenharmony_ci "src/ability_mgr_context.cpp", 97a1db01bdSopenharmony_ci "src/ability_mgr_feature.cpp", 98a1db01bdSopenharmony_ci "src/ability_mgr_handler.cpp", 99a1db01bdSopenharmony_ci "src/ability_mgr_service.cpp", 100a1db01bdSopenharmony_ci "src/ability_mission_record.cpp", 101a1db01bdSopenharmony_ci "src/ability_mission_stack.cpp", 102a1db01bdSopenharmony_ci "src/ability_stack_manager.cpp", 103a1db01bdSopenharmony_ci "src/ability_worker.cpp", 104a1db01bdSopenharmony_ci "src/app_manager.cpp", 105a1db01bdSopenharmony_ci "src/app_record.cpp", 106a1db01bdSopenharmony_ci "src/client/ability_dump_client.cpp", 107a1db01bdSopenharmony_ci "src/client/ability_thread_client.cpp", 108a1db01bdSopenharmony_ci "src/client/app_spawn_client.cpp", 109a1db01bdSopenharmony_ci "src/client/bundlems_client.cpp", 110a1db01bdSopenharmony_ci "src/client/wms_client.cpp", 111a1db01bdSopenharmony_ci "src/page_ability_record.cpp", 112a1db01bdSopenharmony_ci "src/task/ability_activate_task.cpp", 113a1db01bdSopenharmony_ci "src/task/ability_attach_task.cpp", 114a1db01bdSopenharmony_ci "src/task/ability_background_task.cpp", 115a1db01bdSopenharmony_ci "src/task/ability_connect_done_task.cpp", 116a1db01bdSopenharmony_ci "src/task/ability_connect_task.cpp", 117a1db01bdSopenharmony_ci "src/task/ability_disconnect_done_task.cpp", 118a1db01bdSopenharmony_ci "src/task/ability_disconnect_task.cpp", 119a1db01bdSopenharmony_ci "src/task/ability_dump_task.cpp", 120a1db01bdSopenharmony_ci "src/task/ability_inactivate_task.cpp", 121a1db01bdSopenharmony_ci "src/task/ability_start_task.cpp", 122a1db01bdSopenharmony_ci "src/task/ability_stop_task.cpp", 123a1db01bdSopenharmony_ci "src/task/ability_terminate_service_task.cpp", 124a1db01bdSopenharmony_ci "src/task/ability_terminate_task.cpp", 125a1db01bdSopenharmony_ci "src/task/app_restart_task.cpp", 126a1db01bdSopenharmony_ci "src/task/app_terminate_task.cpp", 127a1db01bdSopenharmony_ci "src/util/abilityms_helper.cpp", 128a1db01bdSopenharmony_ci "src/util/abilityms_status.cpp", 129a1db01bdSopenharmony_ci ] 130a1db01bdSopenharmony_ci 131a1db01bdSopenharmony_ci deps = [ 132a1db01bdSopenharmony_ci "${ability_lite_samgr_lite_path}/samgr:samgr", 133a1db01bdSopenharmony_ci "${appexecfwk_lite_path}/frameworks/bundle_lite:bundle", 134a1db01bdSopenharmony_ci "${communication_path}/ipc/interfaces/innerkits/c/ipc:ipc_single", 135a1db01bdSopenharmony_ci "${hilog_lite_path}/frameworks/featured:hilog_shared", 136a1db01bdSopenharmony_ci ] 137a1db01bdSopenharmony_ci 138a1db01bdSopenharmony_ci defines = [ "OHOS_APPEXECFWK_BMS_BUNDLEMANAGER" ] 139a1db01bdSopenharmony_ci 140a1db01bdSopenharmony_ci if (defined(ability_lite_config_ohos_aafwk_ams_task_size) && 141a1db01bdSopenharmony_ci ability_lite_config_ohos_aafwk_ams_task_size > 0) { 142a1db01bdSopenharmony_ci defines += [ 143a1db01bdSopenharmony_ci "AMS_TASK_STACK_SIZE=$ability_lite_config_ohos_aafwk_ams_task_size", 144a1db01bdSopenharmony_ci ] 145a1db01bdSopenharmony_ci } 146a1db01bdSopenharmony_ci 147a1db01bdSopenharmony_ci if (ability_lite_enable_ohos_appexecfwk_feature_ability == true) { 148a1db01bdSopenharmony_ci deps += [ "${graphic_path}/surface_lite" ] 149a1db01bdSopenharmony_ci defines += [ "ABILITY_WINDOW_SUPPORT" ] 150a1db01bdSopenharmony_ci } 151a1db01bdSopenharmony_ci 152a1db01bdSopenharmony_ci include_dirs = [ 153a1db01bdSopenharmony_ci "${aafwk_lite_path}/interfaces/kits/ability_lite", 154a1db01bdSopenharmony_ci "${aafwk_lite_path}/interfaces/kits/want_lite", 155a1db01bdSopenharmony_ci "${aafwk_lite_path}/frameworks/want_lite/include", 156a1db01bdSopenharmony_ci "${aafwk_lite_path}/interfaces/inner_api/abilitymgr_lite", 157a1db01bdSopenharmony_ci "${aafwk_lite_path}/frameworks/abilitymgr_lite/include", 158a1db01bdSopenharmony_ci "${aafwk_lite_path}/services/abilitymgr_lite/include/util", 159a1db01bdSopenharmony_ci "${appexecfwk_lite_path}/interfaces/kits/bundle_lite", 160a1db01bdSopenharmony_ci "${appexecfwk_lite_path}/utils/bundle_lite", 161a1db01bdSopenharmony_ci "${appexecfwk_lite_path}/interfaces/inner_api/bundlemgr_lite", 162a1db01bdSopenharmony_ci "${appexecfwk_lite_path}/frameworks/bundle_lite/include", 163a1db01bdSopenharmony_ci "${permission_lite_path}/interfaces/kits", 164a1db01bdSopenharmony_ci "${permission_lite_path}/services/pms/include", 165a1db01bdSopenharmony_ci "${appapawn_lite_path}", 166a1db01bdSopenharmony_ci "${utils_lite_path}/include", 167a1db01bdSopenharmony_ci "${utils_lite_path}/memory/include", 168a1db01bdSopenharmony_ci "${dmsfwk_lite_path}/interfaces/innerkits", 169a1db01bdSopenharmony_ci "${communication_path}/ipc/interfaces/innerkits/c/ipc/include", 170a1db01bdSopenharmony_ci "${graphic_path}/../window/window_manager_lite/interfaces/innerkits", 171a1db01bdSopenharmony_ci "${ability_lite_samgr_lite_path}/interfaces/kits/registry", 172a1db01bdSopenharmony_ci "${ability_lite_samgr_lite_path}/interfaces/kits/samgr", 173a1db01bdSopenharmony_ci "//third_party/bounds_checking_function/include", 174a1db01bdSopenharmony_ci "//third_party/cJSON", 175a1db01bdSopenharmony_ci "include", 176a1db01bdSopenharmony_ci "include/task", 177a1db01bdSopenharmony_ci ] 178a1db01bdSopenharmony_ci } 179a1db01bdSopenharmony_ci 180a1db01bdSopenharmony_ci cflags = [] 181a1db01bdSopenharmony_ci if (board_toolchain_type != "iccarm") { 182a1db01bdSopenharmony_ci cflags += [ 183a1db01bdSopenharmony_ci "-Wall", 184a1db01bdSopenharmony_ci "-Wno-format", 185a1db01bdSopenharmony_ci "-Wno-format-extra-args", 186a1db01bdSopenharmony_ci ] 187a1db01bdSopenharmony_ci } 188a1db01bdSopenharmony_ci cflags_cc = cflags 189a1db01bdSopenharmony_ci 190a1db01bdSopenharmony_ci ldflags = [ 191a1db01bdSopenharmony_ci "-lstdc++", 192a1db01bdSopenharmony_ci "-lpthread", 193a1db01bdSopenharmony_ci "-ldl", 194a1db01bdSopenharmony_ci ] 195a1db01bdSopenharmony_ci 196a1db01bdSopenharmony_ci if (ohos_kernel_type == "liteos_m") { 197a1db01bdSopenharmony_ci include_dirs += [ "${hilog_lite_path}/interfaces/native/kits/hilog_lite" ] 198a1db01bdSopenharmony_ci } 199a1db01bdSopenharmony_ci} 200a1db01bdSopenharmony_ci 201a1db01bdSopenharmony_cigenerate_notice_file("abilityms_notice_file") { 202a1db01bdSopenharmony_ci module_name = "abilityms" 203a1db01bdSopenharmony_ci module_source_dir_list = [ 204a1db01bdSopenharmony_ci "//third_party/bounds_checking_function", 205a1db01bdSopenharmony_ci "//third_party/cJSON", 206a1db01bdSopenharmony_ci ] 207a1db01bdSopenharmony_ci} 208a1db01bdSopenharmony_ci 209a1db01bdSopenharmony_cilite_component("aafwk_services_lite") { 210a1db01bdSopenharmony_ci features = [ ":abilityms" ] 211a1db01bdSopenharmony_ci if (ohos_kernel_type != "liteos_m") { 212a1db01bdSopenharmony_ci features += [ 213a1db01bdSopenharmony_ci "tools:aa", 214a1db01bdSopenharmony_ci "unittest:ability_test", 215a1db01bdSopenharmony_ci ] 216a1db01bdSopenharmony_ci } 217a1db01bdSopenharmony_ci} 218