• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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