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 target_type = "shared_library" 18 19 cflags = [ 20 "-Wall", 21 "-Wno-format", 22 "-Wno-format-extra-args", 23 ] 24 cflags_cc = cflags 25 26 ldflags = [ 27 "-lstdc++", 28 "-lpthread", 29 "-ldl", 30 ] 31 32 sources = [ 33 "src/ability_connect_mission.cpp", 34 "src/ability_inner_feature.cpp", 35 "src/ability_mgr_context.cpp", 36 "src/ability_mgr_feature.cpp", 37 "src/ability_mgr_handler.cpp", 38 "src/ability_mgr_service.cpp", 39 "src/ability_mission_record.cpp", 40 "src/ability_mission_stack.cpp", 41 "src/ability_stack_manager.cpp", 42 "src/ability_worker.cpp", 43 "src/app_manager.cpp", 44 "src/app_record.cpp", 45 "src/client/ability_dump_client.cpp", 46 "src/client/ability_thread_client.cpp", 47 "src/client/app_spawn_client.cpp", 48 "src/client/bundlems_client.cpp", 49 "src/client/wms_client.cpp", 50 "src/page_ability_record.cpp", 51 "src/task/ability_activate_task.cpp", 52 "src/task/ability_attach_task.cpp", 53 "src/task/ability_background_task.cpp", 54 "src/task/ability_connect_done_task.cpp", 55 "src/task/ability_connect_task.cpp", 56 "src/task/ability_disconnect_done_task.cpp", 57 "src/task/ability_disconnect_task.cpp", 58 "src/task/ability_dump_task.cpp", 59 "src/task/ability_inactivate_task.cpp", 60 "src/task/ability_start_task.cpp", 61 "src/task/ability_stop_task.cpp", 62 "src/task/ability_terminate_service_task.cpp", 63 "src/task/ability_terminate_task.cpp", 64 "src/task/app_restart_task.cpp", 65 "src/task/app_terminate_task.cpp", 66 "src/util/abilityms_helper.cpp", 67 "src/util/abilityms_status.cpp", 68 ] 69 70 include_dirs = [ 71 "${aafwk_lite_path}/interfaces/kits/ability_lite", 72 "${aafwk_lite_path}/interfaces/kits/want_lite", 73 "${aafwk_lite_path}/frameworks/want_lite/include", 74 "${aafwk_lite_path}/interfaces/innerkits/abilitymgr_lite", 75 "${aafwk_lite_path}/frameworks/abilitymgr_lite/include", 76 "${appexecfwk_lite_path}/interfaces/kits/bundle_lite", 77 "${appexecfwk_lite_path}/utils/bundle_lite", 78 "${appexecfwk_lite_path}/interfaces/innerkits/bundlemgr_lite", 79 "${appexecfwk_lite_path}/frameworks/bundle_lite/include", 80 "//foundation/communication/ipc_lite/interfaces/kits", 81 "//foundation/distributedschedule/dmsfwk_lite/interfaces/innerkits", 82 "//foundation/distributedschedule/samgr_lite/interfaces/kits/registry", 83 "//foundation/distributedschedule/samgr_lite/interfaces/kits/samgr", 84 "//foundation/graphic/wms/interfaces/innerkits", 85 "//base/startup/appspawn_lite/services/include", 86 "//base/security/permission/interfaces/kits/permission_lite", 87 "//base/security/permission/services/permission_lite/pms/include", 88 "//third_party/bounds_checking_function/include", 89 "//utils/native/lite/include", 90 "include", 91 "include/task", 92 "//third_party/cJSON", 93 ] 94 95 deps = [ 96 "${appexecfwk_lite_path}/frameworks/bundle_lite:bundle", 97 "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", 98 "//foundation/communication/ipc_lite:liteipc_adapter", 99 "//foundation/distributedschedule/samgr_lite/samgr:samgr", 100 ] 101 102 defines = [ "OHOS_APPEXECFWK_BMS_BUNDLEMANAGER" ] 103 104 if (enable_ohos_appexecfwk_feature_ability == true) { 105 deps += [ "//foundation/graphic/surface" ] 106 defines += [ "ABILITY_WINDOW_SUPPORT" ] 107 } 108} 109 110generate_notice_file("abilityms_notice_file") { 111 module_name = "abilityms" 112 module_source_dir_list = [ 113 "//third_party/bounds_checking_function", 114 "//third_party/cJSON", 115 ] 116} 117 118lite_component("aafwk_services_lite") { 119 features = [ 120 ":abilityms", 121 "tools:aa", 122 "unittest:ability_test", 123 ] 124} 125