• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/clone",
22    "include/distributed_manager",
23    "include/free_install",
24    "include/overlay",
25    "include/plugin",
26    "include/quick_fix",
27    "include/shared",
28  ]
29}
30
31config("bundle_all_dependent_config") {
32  include_dirs = [
33    "//base/notification/common_event_service/interfaces/inner_api",
34    "include",
35    "include/clone",
36  ]
37}
38
39ohos_shared_library("appexecfwk_base") {
40  branch_protector_ret = "pac_ret"
41
42  sanitize = {
43    boundary_sanitize = true
44    cfi = true
45    cfi_cross_dso = true
46    debug = false
47    integer_overflow = true
48    ubsan = true
49  }
50
51  sources = [
52    "src/ability_info.cpp",
53    "src/app_jump_control_rule.cpp",
54    "src/app_provision_info.cpp",
55    "src/app_running_control_rule.cpp",
56    "src/app_running_control_rule_result.cpp",
57    "src/application_info.cpp",
58    "src/bms_json_util.cpp",
59    "src/bundle_dir.cpp",
60    "src/bundle_info.cpp",
61    "src/bundle_pack_info.cpp",
62    "src/bundle_resource/bundle_resource_info.cpp",
63    "src/bundle_resource/bundle_system_state.cpp",
64    "src/bundle_resource/launcher_ability_resource_info.cpp",
65    "src/bundle_user_info.cpp",
66    "src/clone/clone_param.cpp",
67    "src/code_protect_bundle_info.cpp",
68    "src/common_event_info.cpp",
69    "src/compatible_ability_info.cpp",
70    "src/compatible_application_info.cpp",
71    "src/data_group_info.cpp",
72    "src/disposed_rule.cpp",
73    "src/distributed_ability_info.cpp",
74    "src/distributed_bundle_info.cpp",
75    "src/distributed_manager/rpc_id_result.cpp",
76    "src/distributed_module_info.cpp",
77    "src/extension_ability_info.cpp",
78    "src/extension_form_info.cpp",
79    "src/extension_form_profile.cpp",
80    "src/form_info.cpp",
81    "src/free_install/dispatch_info.cpp",
82    "src/free_install/install_result.cpp",
83    "src/free_install/target_ability_info.cpp",
84    "src/hap_module_info.cpp",
85    "src/install_param.cpp",
86    "src/mime_type_mgr.cpp",
87    "src/module_info.cpp",
88    "src/overlay/overlay_bundle_info.cpp",
89    "src/overlay/overlay_module_info.cpp",
90    "src/perf_profile.cpp",
91    "src/permission_define.cpp",
92    "src/plugin/install_plugin_param.cpp",
93    "src/plugin/plugin_bundle_info.cpp",
94    "src/plugin/plugin_module_info.cpp",
95    "src/preinstalled_application_info.cpp",
96    "src/quick_fix/app_quick_fix.cpp",
97    "src/quick_fix/appqf_info.cpp",
98    "src/quick_fix/hqf_info.cpp",
99    "src/recoverable_application_info.cpp",
100    "src/remote_ability_info.cpp",
101    "src/shared/base_shared_bundle_info.cpp",
102    "src/shared/shared_bundle_info.cpp",
103    "src/shared/shared_module_info.cpp",
104    "src/shortcut_info.cpp",
105    "src/skill.cpp",
106  ]
107
108  public_configs = [ ":appexecfwk_base_sdk_config" ]
109
110  all_dependent_configs = [ ":bundle_all_dependent_config" ]
111
112  defines = [
113    "APP_LOG_TAG = \"BMS\"",
114    "LOG_DOMAIN = 0xD001120",
115  ]
116
117  cflags = [
118    "-Os",
119    "-fstack-protector-strong",
120  ]
121
122  cflags_cc = [
123    "-Os",
124    "-fstack-protector-strong",
125  ]
126
127  use_exceptions = true
128  if (target_cpu == "arm") {
129    cflags += [ "-DBINDER_IPC_32BIT" ]
130  }
131  deps = [ "${common_path}:libappexecfwk_common" ]
132
133  external_deps = [
134    "c_utils:utils",
135    "hilog:libhilog",
136    "ipc:ipc_single",
137  ]
138
139  if (udmf_enabled) {
140    defines += [ "BUNDLE_FRAMEWORK_UDMF_ENABLED" ]
141    external_deps += [ "udmf:utd_client" ]
142  }
143
144  if (bundle_framework_form_dimension_2_3) {
145    defines += [ "FORM_DIMENSION_2_3" ]
146  }
147  if (bundle_framework_form_dimension_3_3) {
148    defines += [ "FORM_DIMENSION_3_3" ]
149  }
150
151  public_external_deps = [
152    "ability_base:base",
153    "ability_base:want",
154    "json:nlohmann_json_static",
155  ]
156
157  subsystem_name = "bundlemanager"
158  innerapi_tags = [
159    "platformsdk",
160    "sasdk",
161  ]
162  part_name = "bundle_framework"
163}
164