1# Copyright (c) 2020 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. 13import("//build/lite/config/component/lite_component.gni") 14import("//build/lite/config/subsystem/aafwk/config.gni") 15 16lite_library("abilityms") { 17 if (ohos_kernel_type == "liteos_m") { 18 target_type = "static_library" 19 20 sources = [ 21 "src/ability_list.cpp", 22 "src/ability_mgr_service.cpp", 23 "src/ability_mgr_slite_feature.cpp", 24 "src/ability_record.cpp", 25 "src/ability_service.cpp", 26 "src/ability_stack.cpp", 27 "src/js_app_host.cpp", 28 ] 29 30 if (defined(config_ohos_aafwk_ams_task_size) && 31 config_ohos_aafwk_ams_task_size > 0) { 32 defines = [ "AMS_TASK_STACK_SIZE=$config_ohos_aafwk_ams_task_size" ] 33 } 34 35 if (defined(config_ohos_aafwk_aafwk_lite_task_stack_size) && 36 config_ohos_aafwk_aafwk_lite_task_stack_size > 0) { 37 defines += 38 [ "TASK_STACK_SIZE=$config_ohos_aafwk_aafwk_lite_task_stack_size" ] 39 } 40 41 deps = [ 42 "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_static", 43 "//foundation/arkui/ace_engine_lite/frameworks:ace_lite", 44 "//foundation/systemabilitymgr/samgr_lite/samgr:samgr", 45 ] 46 } else { 47 target_type = "shared_library" 48 49 sources = [ 50 "src/ability_connect_mission.cpp", 51 "src/ability_inner_feature.cpp", 52 "src/ability_mgr_context.cpp", 53 "src/ability_mgr_feature.cpp", 54 "src/ability_mgr_handler.cpp", 55 "src/ability_mgr_service.cpp", 56 "src/ability_mission_record.cpp", 57 "src/ability_mission_stack.cpp", 58 "src/ability_stack_manager.cpp", 59 "src/ability_worker.cpp", 60 "src/app_manager.cpp", 61 "src/app_record.cpp", 62 "src/client/ability_dump_client.cpp", 63 "src/client/ability_thread_client.cpp", 64 "src/client/app_spawn_client.cpp", 65 "src/client/bundlems_client.cpp", 66 "src/client/wms_client.cpp", 67 "src/page_ability_record.cpp", 68 "src/task/ability_activate_task.cpp", 69 "src/task/ability_attach_task.cpp", 70 "src/task/ability_background_task.cpp", 71 "src/task/ability_connect_done_task.cpp", 72 "src/task/ability_connect_task.cpp", 73 "src/task/ability_disconnect_done_task.cpp", 74 "src/task/ability_disconnect_task.cpp", 75 "src/task/ability_dump_task.cpp", 76 "src/task/ability_inactivate_task.cpp", 77 "src/task/ability_start_task.cpp", 78 "src/task/ability_stop_task.cpp", 79 "src/task/ability_terminate_service_task.cpp", 80 "src/task/ability_terminate_task.cpp", 81 "src/task/app_restart_task.cpp", 82 "src/task/app_terminate_task.cpp", 83 "src/util/abilityms_helper.cpp", 84 "src/util/abilityms_status.cpp", 85 ] 86 87 deps = [ 88 "${appexecfwk_lite_path}/frameworks/bundle_lite:bundle", 89 "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", 90 "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single", 91 "//foundation/systemabilitymgr/samgr_lite/samgr:samgr", 92 ] 93 94 defines = [ "OHOS_APPEXECFWK_BMS_BUNDLEMANAGER" ] 95 96 if (defined(config_ohos_aafwk_ams_task_size) && 97 config_ohos_aafwk_ams_task_size > 0) { 98 defines += [ "AMS_TASK_STACK_SIZE=$config_ohos_aafwk_ams_task_size" ] 99 } 100 101 if (enable_ohos_appexecfwk_feature_ability == true) { 102 deps += [ "//foundation/graphic/surface" ] 103 defines += [ "ABILITY_WINDOW_SUPPORT" ] 104 } 105 } 106 107 cflags = [] 108 if (board_toolchain_type != "iccarm") { 109 cflags += [ 110 "-Wall", 111 "-Wno-format", 112 "-Wno-format-extra-args", 113 ] 114 } 115 cflags_cc = cflags 116 117 ldflags = [ 118 "-lstdc++", 119 "-lpthread", 120 "-ldl", 121 ] 122 123 include_dirs = [ 124 "${aafwk_lite_path}/interfaces/kits/ability_lite", 125 "${aafwk_lite_path}/interfaces/kits/ability_lite/slite", 126 "${aafwk_lite_path}/interfaces/kits/want_lite", 127 "${aafwk_lite_path}/frameworks/want_lite/include", 128 "${aafwk_lite_path}/interfaces/inner_api/abilitymgr_lite", 129 "${aafwk_lite_path}/interfaces/inner_api/abilitymgr_lite/slite", 130 "${aafwk_lite_path}/frameworks/abilitymgr_lite/include", 131 "${aafwk_lite_path}/services/abilitymgr_lite/include/util", 132 "${appexecfwk_lite_path}/interfaces/kits/bundle_lite", 133 "${appexecfwk_lite_path}/utils/bundle_lite", 134 "${appexecfwk_lite_path}/interfaces/inner_api/bundlemgr_lite", 135 "${appexecfwk_lite_path}/frameworks/bundle_lite/include", 136 "//base/security/permission_lite/interfaces/kits", 137 "//base/security/permission_lite/services/pms/include", 138 "//base/startup/appspawn/lite", 139 "//commonlibrary/utils_lite/include", 140 "//commonlibrary/utils_lite/memory/include", 141 "//foundation/ability/dmsfwk_lite/interfaces/innerkits", 142 "//foundation/communication/ipc/interfaces/innerkits/c/ipc/include", 143 "//foundation/graphic/wms/interfaces/innerkits", 144 "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/registry", 145 "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/samgr", 146 "//third_party/bounds_checking_function/include", 147 "//third_party/cJSON", 148 "include", 149 "include/task", 150 ] 151 152 if (ohos_kernel_type == "liteos_m") { 153 include_dirs += 154 [ "//base/hiviewdfx/hilog_lite/interfaces/native/kits/hilog_lite" ] 155 } 156} 157 158generate_notice_file("abilityms_notice_file") { 159 module_name = "abilityms" 160 module_source_dir_list = [ 161 "//third_party/bounds_checking_function", 162 "//third_party/cJSON", 163 ] 164} 165 166lite_component("aafwk_services_lite") { 167 features = [ ":abilityms" ] 168 if (ohos_kernel_type != "liteos_m") { 169 features += [ 170 "tools:aa", 171 "unittest:ability_test", 172 ] 173 } 174} 175