1# Copyright (c) 2021-2024 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.
13
14import("//build/ohos.gni")
15import("../../../appexecfwk.gni")
16
17config("appexecfwk_base_sdk_config") {
18  include_dirs = [
19    "include",
20    "include/bundle_resource",
21    "include/distributed_manager",
22    "include/free_install",
23    "include/overlay",
24    "include/quick_fix",
25    "include/shared",
26  ]
27}
28
29config("bundle_all_dependent_config") {
30  include_dirs = [
31    "//base/notification/common_event_service/interfaces/inner_api",
32    "include",
33  ]
34}
35
36ohos_shared_library("appexecfwk_base") {
37  branch_protector_ret = "pac_ret"
38  sources = [
39    "src/ability_info.cpp",
40    "src/app_jump_control_rule.cpp",
41    "src/app_provision_info.cpp",
42    "src/app_running_control_rule.cpp",
43    "src/app_running_control_rule_result.cpp",
44    "src/application_info.cpp",
45    "src/bundle_dir.cpp",
46    "src/bundle_info.cpp",
47    "src/bundle_pack_info.cpp",
48    "src/bundle_resource/bundle_resource_info.cpp",
49    "src/bundle_resource/bundle_system_state.cpp",
50    "src/bundle_resource/launcher_ability_resource_info.cpp",
51    "src/bundle_user_info.cpp",
52    "src/common_event_info.cpp",
53    "src/compatible_ability_info.cpp",
54    "src/compatible_application_info.cpp",
55    "src/data_group_info.cpp",
56    "src/disposed_rule.cpp",
57    "src/distributed_ability_info.cpp",
58    "src/distributed_bundle_info.cpp",
59    "src/distributed_manager/rpc_id_result.cpp",
60    "src/distributed_module_info.cpp",
61    "src/extension_ability_info.cpp",
62    "src/extension_form_info.cpp",
63    "src/extension_form_profile.cpp",
64    "src/form_info.cpp",
65    "src/free_install/dispatch_info.cpp",
66    "src/free_install/install_result.cpp",
67    "src/free_install/target_ability_info.cpp",
68    "src/hap_module_info.cpp",
69    "src/install_param.cpp",
70    "src/mime_type_mgr.cpp",
71    "src/module_info.cpp",
72    "src/overlay/overlay_bundle_info.cpp",
73    "src/overlay/overlay_module_info.cpp",
74    "src/perf_profile.cpp",
75    "src/permission_define.cpp",
76    "src/preinstalled_application_info.cpp",
77    "src/quick_fix/app_quick_fix.cpp",
78    "src/quick_fix/appqf_info.cpp",
79    "src/quick_fix/hqf_info.cpp",
80    "src/recoverable_application_info.cpp",
81    "src/remote_ability_info.cpp",
82    "src/shared/base_shared_bundle_info.cpp",
83    "src/shared/shared_bundle_info.cpp",
84    "src/shared/shared_module_info.cpp",
85    "src/shortcut_info.cpp",
86    "src/skill.cpp",
87  ]
88
89  public_configs = [ ":appexecfwk_base_sdk_config" ]
90
91  all_dependent_configs = [ ":bundle_all_dependent_config" ]
92
93  defines = [
94    "APP_LOG_TAG = \"BMS\"",
95    "LOG_DOMAIN = 0xD001120",
96  ]
97  cflags = [ "-Os" ]
98  cflags_cc = [ "-Os" ]
99  use_exceptions = true
100  if (target_cpu == "arm") {
101    cflags += [ "-DBINDER_IPC_32BIT" ]
102  }
103  deps = [ "${common_path}:libappexecfwk_common" ]
104
105  external_deps = [
106    "c_utils:utils",
107    "hilog:libhilog",
108    "ipc:ipc_single",
109  ]
110
111  if (udmf_enabled) {
112    defines += [ "BUNDLE_FRAMEWORK_UDMF_ENABLED" ]
113    external_deps += [ "udmf:utd_client" ]
114  }
115
116  public_external_deps = [
117    "ability_base:base",
118    "ability_base:want",
119    "json:nlohmann_json_static",
120  ]
121
122  subsystem_name = "bundlemanager"
123  innerapi_tags = [
124    "platformsdk",
125    "sasdk",
126  ]
127  part_name = "bundle_framework"
128}
129