• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2023-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")
15
16sec_comp_root_dir = "../../.."
17
18config("security_component_common_config") {
19  include_dirs = [
20    "${sec_comp_root_dir}/interfaces/inner_api/security_component_common",
21    "${sec_comp_root_dir}/interfaces/inner_api/security_component/include",
22  ]
23}
24
25ohos_shared_library("security_component_common") {
26  subsystem_name = "security"
27  part_name = "security_component_manager"
28
29  innerapi_tags = [ "sasdk" ]
30  public_configs = [ ":security_component_common_config" ]
31
32  sanitize = {
33    cfi = true
34    cfi_cross_dso = true
35    debug = false
36  }
37  branch_protector_ret = "pac_ret"
38
39  include_dirs = [
40    "${sec_comp_root_dir}/frameworks/common/include",
41    "${sec_comp_root_dir}/frameworks/security_component/include",
42    "${sec_comp_root_dir}/frameworks/inner_api/security_component/include",
43    "${sec_comp_root_dir}/interfaces/inner_api/security_component_common",
44    "${sec_comp_root_dir}/interfaces/inner_api/security_component/include",
45  ]
46
47  sources = [
48    "sa_main/delay_exit_task.cpp",
49    "sa_main/sec_comp_info_helper.cpp",
50    "sa_main/sec_event_handler.cpp",
51    "sa_main/window_info_helper.cpp",
52  ]
53
54  cflags_cc = [
55    "-DHILOG_ENABLE",
56    "-fvisibility=hidden",
57    "-DSEC_COMP_SERVICE_COMPILE_ENABLE",
58  ]
59  cflags = [ "-DHILOG_ENABLE" ]
60
61  deps = [
62    "${sec_comp_root_dir}/frameworks:security_component_enhance_adapter_service_src_set",
63    "${sec_comp_root_dir}/frameworks:security_component_no_cfi_framework_src_set",
64  ]
65
66  external_deps = [
67    "ability_runtime:ability_manager",
68    "access_token:libaccesstoken_sdk",
69    "bundle_framework:appexecfwk_base",
70    "c_utils:utils",
71    "eventhandler:libeventhandler",
72    "hilog:libhilog",
73    "hisysevent:libhisysevent",
74    "ipc:ipc_core",
75    "ipc:ipc_single",
76    "json:nlohmann_json_static",
77    "safwk:system_ability_fwk",
78    "samgr:samgr_proxy",
79    "window_manager:libdm",
80    "window_manager:libwm",
81  ]
82}
83
84config("security_component_service_config") {
85  include_dirs = [
86    "sa_main",
87    "${sec_comp_root_dir}/frameworks/common/include",
88    "${sec_comp_root_dir}/frameworks/enhance_adapter/include",
89    "${sec_comp_root_dir}/frameworks/security_component/include",
90    "${sec_comp_root_dir}/interfaces/inner_api/security_component/include",
91  ]
92}
93
94ohos_prebuilt_etc("security_component_service.rc") {
95  source = "security_component_service.cfg"
96  relative_install_dir = "init"
97  subsystem_name = "security"
98  part_name = "security_component_manager"
99}
100
101ohos_source_set("security_component_service_src_set") {
102  subsystem_name = "security"
103  part_name = "security_component_manager"
104  sanitize = {
105    cfi = true
106    cfi_cross_dso = true
107    debug = false
108  }
109  branch_protector_ret = "pac_ret"
110  include_dirs = [
111    "sa_main",
112    "${sec_comp_root_dir}/frameworks/common/include",
113    "${sec_comp_root_dir}/frameworks/enhance_adapter/include",
114    "${sec_comp_root_dir}/frameworks/inner_api/security_component/include",
115    "${sec_comp_root_dir}/interfaces/inner_api/security_component_common",
116    "${sec_comp_root_dir}/interfaces/inner_api/security_component/include",
117  ]
118
119  sources = [
120    "${sec_comp_root_dir}/frameworks/inner_api/security_component/src/sec_comp_dialog_callback_stub.cpp",
121    "sa_main/app_mgr_death_recipient.cpp",
122    "sa_main/app_state_observer.cpp",
123    "sa_main/first_use_dialog.cpp",
124    "sa_main/sec_comp_dialog_callback_proxy.cpp",
125    "sa_main/sec_comp_entity.cpp",
126    "sa_main/sec_comp_malicious_apps.cpp",
127    "sa_main/sec_comp_manager.cpp",
128    "sa_main/sec_comp_perm_manager.cpp",
129    "sa_main/sec_comp_service.cpp",
130    "sa_main/sec_comp_stub.cpp",
131  ]
132
133  cflags_cc = [
134    "-DHILOG_ENABLE",
135    "-fvisibility=hidden",
136    "-DSEC_COMP_SERVICE_COMPILE_ENABLE",
137  ]
138  cflags = [ "-DHILOG_ENABLE" ]
139
140  deps = [
141    ":security_component_common",
142    ":security_component_service.rc",
143    "${sec_comp_root_dir}/frameworks:security_component_framework_src_set",
144  ]
145
146  configs = [ "${sec_comp_root_dir}/config:coverage_flags" ]
147  public_configs = [ ":security_component_service_config" ]
148
149  external_deps = [
150    "ability_base:base",
151    "ability_base:session_info",
152    "ability_base:want",
153    "ability_base:zuri",
154    "ability_runtime:ability_manager",
155    "ability_runtime:app_manager",
156    "ability_runtime:runtime",
157    "access_token:libaccesstoken_sdk",
158    "bundle_framework:appexecfwk_base",
159    "bundle_framework:appexecfwk_core",
160    "c_utils:utils",
161    "data_share:datashare_consumer",
162    "eventhandler:libeventhandler",
163    "graphic_2d:librender_service_client",
164    "hilog:libhilog",
165    "hisysevent:libhisysevent",
166    "hitrace:hitrace_meter",
167    "ipc:ipc_core",
168    "safwk:system_ability_fwk",
169    "samgr:samgr_proxy",
170    "window_manager:libdm",
171    "window_manager:libwm",
172  ]
173}
174
175ohos_shared_library("security_component_service") {
176  subsystem_name = "security"
177  part_name = "security_component_manager"
178  sanitize = {
179    cfi = true
180    cfi_cross_dso = true
181    debug = false
182  }
183  branch_protector_ret = "pac_ret"
184
185  deps = [
186    ":security_component_common",
187    ":security_component_service.rc",
188    ":security_component_service_src_set",
189    "${sec_comp_root_dir}/frameworks:security_component_framework_src_set",
190  ]
191  external_deps = [ "hilog:libhilog" ]
192  configs = [ "${sec_comp_root_dir}/config:coverage_flags" ]
193}
194