1c2b37d2cSopenharmony_ci# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
2c2b37d2cSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3c2b37d2cSopenharmony_ci# you may not use this file except in compliance with the License.
4c2b37d2cSopenharmony_ci# You may obtain a copy of the License at
5c2b37d2cSopenharmony_ci#
6c2b37d2cSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7c2b37d2cSopenharmony_ci#
8c2b37d2cSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9c2b37d2cSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10c2b37d2cSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11c2b37d2cSopenharmony_ci# See the License for the specific language governing permissions and
12c2b37d2cSopenharmony_ci# limitations under the License.
13c2b37d2cSopenharmony_ci
14c2b37d2cSopenharmony_ciimport("//build/ohos.gni")
15c2b37d2cSopenharmony_ciimport("os_account_service.gni")
16c2b37d2cSopenharmony_ci
17c2b37d2cSopenharmony_ciohos_prebuilt_etc("accountmgr.init") {
18c2b37d2cSopenharmony_ci  source = "accountmgr.cfg"
19c2b37d2cSopenharmony_ci  relative_install_dir = "init"
20c2b37d2cSopenharmony_ci  subsystem_name = "account"
21c2b37d2cSopenharmony_ci  part_name = "os_account"
22c2b37d2cSopenharmony_ci}
23c2b37d2cSopenharmony_ci
24c2b37d2cSopenharmony_ciohos_prebuilt_etc("osaccount_constraint") {
25c2b37d2cSopenharmony_ci  source = "osaccount_constraints.json"
26c2b37d2cSopenharmony_ci  relative_install_dir = "account"
27c2b37d2cSopenharmony_ci  subsystem_name = "account"
28c2b37d2cSopenharmony_ci  part_name = "os_account"
29c2b37d2cSopenharmony_ci}
30c2b37d2cSopenharmony_ci
31c2b37d2cSopenharmony_ciohos_prebuilt_etc("os_account_config") {
32c2b37d2cSopenharmony_ci  source = "os_account_config.json"
33c2b37d2cSopenharmony_ci  relative_install_dir = "account"
34c2b37d2cSopenharmony_ci  subsystem_name = "account"
35c2b37d2cSopenharmony_ci  part_name = "os_account"
36c2b37d2cSopenharmony_ci}
37c2b37d2cSopenharmony_ci
38c2b37d2cSopenharmony_ciohos_prebuilt_etc("constraints_list_collection") {
39c2b37d2cSopenharmony_ci  source = "constraints_list_collection.json"
40c2b37d2cSopenharmony_ci  relative_install_dir = "account"
41c2b37d2cSopenharmony_ci  subsystem_name = "account"
42c2b37d2cSopenharmony_ci  part_name = "os_account"
43c2b37d2cSopenharmony_ci}
44c2b37d2cSopenharmony_ci
45c2b37d2cSopenharmony_ciconfig("accountmgr_config") {
46c2b37d2cSopenharmony_ci  include_dirs = [
47c2b37d2cSopenharmony_ci    "./include",
48c2b37d2cSopenharmony_ci    "./include/ability_manager_adapter",
49c2b37d2cSopenharmony_ci    "./include/appaccount",
50c2b37d2cSopenharmony_ci    "./include/osaccount",
51c2b37d2cSopenharmony_ci    "${innerkits_path}/include",
52c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hidumper_adapter",
53c2b37d2cSopenharmony_ci    "${app_account_interfaces_native_path}/include",
54c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hisysevent_adapter",
55c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hitrace_adapter",
56c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/include",
57c2b37d2cSopenharmony_ci  ]
58c2b37d2cSopenharmony_ci}
59c2b37d2cSopenharmony_ci
60c2b37d2cSopenharmony_ciconfig("account_iam_config") {
61c2b37d2cSopenharmony_ci  include_dirs = [ "${account_iam_interfaces_native_path}/include" ]
62c2b37d2cSopenharmony_ci}
63c2b37d2cSopenharmony_ci
64c2b37d2cSopenharmony_ciconfig("domain_account_config") {
65c2b37d2cSopenharmony_ci  include_dirs = [
66c2b37d2cSopenharmony_ci    "include/domain_account",
67c2b37d2cSopenharmony_ci    "${domain_account_framework_path}/include",
68c2b37d2cSopenharmony_ci    "${domain_account_interfaces_native_path}/include",
69c2b37d2cSopenharmony_ci  ]
70c2b37d2cSopenharmony_ci}
71c2b37d2cSopenharmony_ci
72c2b37d2cSopenharmony_ciconfig("ability_manager_config") {
73c2b37d2cSopenharmony_ci  include_dirs = [
74c2b37d2cSopenharmony_ci    "${ability_runtime_path}/interfaces/inner_api/ability_manager/include",
75c2b37d2cSopenharmony_ci    "${ability_runtime_path}/ability_base/interfaces/inner_api/want/include",
76c2b37d2cSopenharmony_ci    "${ability_runtime_path}/services/abilitymgr/include",
77c2b37d2cSopenharmony_ci    "${ability_runtime_path}/services/common/include",
78c2b37d2cSopenharmony_ci  ]
79c2b37d2cSopenharmony_ci}
80c2b37d2cSopenharmony_ci
81c2b37d2cSopenharmony_ciconfig("accountmgr_public_config") {
82c2b37d2cSopenharmony_ci  visibility = [ ":*" ]
83c2b37d2cSopenharmony_ci
84c2b37d2cSopenharmony_ci  include_dirs = [
85c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include",
86c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include/appaccount",
87c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include/osaccount",
88c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include/domain_account",
89c2b37d2cSopenharmony_ci  ]
90c2b37d2cSopenharmony_ci
91c2b37d2cSopenharmony_ci  if (has_user_auth_part) {
92c2b37d2cSopenharmony_ci    include_dirs += [ "${services_path}/accountmgr/include/account_iam" ]
93c2b37d2cSopenharmony_ci  }
94c2b37d2cSopenharmony_ci}
95c2b37d2cSopenharmony_ci
96c2b37d2cSopenharmony_ciconfig("bundle_manager_config") {
97c2b37d2cSopenharmony_ci  include_dirs =
98c2b37d2cSopenharmony_ci      [ "${services_path}/accountmgr/include/bundle_manager_adapter" ]
99c2b37d2cSopenharmony_ci}
100c2b37d2cSopenharmony_ci
101c2b37d2cSopenharmony_ciability_manager_sources =
102c2b37d2cSopenharmony_ci    [ "src/ability_manager_adapter/ability_manager_adapter.cpp" ]
103c2b37d2cSopenharmony_ci
104c2b37d2cSopenharmony_ciif (has_kv_store_part) {
105c2b37d2cSopenharmony_ci  app_account_sources = [
106c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/src/app_account_authenticator_callback_proxy.cpp",
107c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/src/app_account_authenticator_callback_stub.cpp",
108c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/src/app_account_authorization_extension_callback_proxy.cpp",
109c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/src/app_account_authorization_extension_callback_service.cpp",
110c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/src/app_account_authorization_extension_callback_stub.cpp",
111c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/src/app_account_common.cpp",
112c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/src/app_account_info.cpp",
113c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/src/app_account_subscribe_info.cpp",
114c2b37d2cSopenharmony_ci    "src/appaccount/app_account_app_state_observer.cpp",
115c2b37d2cSopenharmony_ci    "src/appaccount/app_account_authenticator_callback.cpp",
116c2b37d2cSopenharmony_ci    "src/appaccount/app_account_authenticator_manager.cpp",
117c2b37d2cSopenharmony_ci    "src/appaccount/app_account_authenticator_proxy.cpp",
118c2b37d2cSopenharmony_ci    "src/appaccount/app_account_authenticator_session.cpp",
119c2b37d2cSopenharmony_ci    "src/appaccount/app_account_authenticator_session_manager.cpp",
120c2b37d2cSopenharmony_ci    "src/appaccount/app_account_authorization_extension_proxy.cpp",
121c2b37d2cSopenharmony_ci    "src/appaccount/app_account_check_labels_callback.cpp",
122c2b37d2cSopenharmony_ci    "src/appaccount/app_account_check_labels_session.cpp",
123c2b37d2cSopenharmony_ci    "src/appaccount/app_account_common_event_observer.cpp",
124c2b37d2cSopenharmony_ci    "src/appaccount/app_account_common_event_subscriber.cpp",
125c2b37d2cSopenharmony_ci    "src/appaccount/app_account_control_manager.cpp",
126c2b37d2cSopenharmony_ci    "src/appaccount/app_account_data_storage.cpp",
127c2b37d2cSopenharmony_ci    "src/appaccount/app_account_event_proxy.cpp",
128c2b37d2cSopenharmony_ci    "src/appaccount/app_account_manager_service.cpp",
129c2b37d2cSopenharmony_ci    "src/appaccount/app_account_stub.cpp",
130c2b37d2cSopenharmony_ci    "src/appaccount/app_account_subscribe_death_recipient.cpp",
131c2b37d2cSopenharmony_ci    "src/appaccount/app_account_subscribe_manager.cpp",
132c2b37d2cSopenharmony_ci    "src/appaccount/inner_app_account_manager.cpp",
133c2b37d2cSopenharmony_ci  ]
134c2b37d2cSopenharmony_ci}
135c2b37d2cSopenharmony_ci
136c2b37d2cSopenharmony_ciif (has_user_auth_part) {
137c2b37d2cSopenharmony_ci  account_iam_sources = [
138c2b37d2cSopenharmony_ci    "src/account_iam/account_iam_callback.cpp",
139c2b37d2cSopenharmony_ci    "src/account_iam/account_iam_client_callback_proxy.cpp",
140c2b37d2cSopenharmony_ci    "src/account_iam/account_iam_mgr_stub.cpp",
141c2b37d2cSopenharmony_ci    "src/account_iam/account_iam_service.cpp",
142c2b37d2cSopenharmony_ci    "src/account_iam/inner_account_iam_manager.cpp",
143c2b37d2cSopenharmony_ci  ]
144c2b37d2cSopenharmony_ci}
145c2b37d2cSopenharmony_ci
146c2b37d2cSopenharmony_cibundle_manager_sources = [
147c2b37d2cSopenharmony_ci  "src/bundle_manager_adapter/bundle_manager_adapter.cpp",
148c2b37d2cSopenharmony_ci  "src/bundle_manager_adapter/bundle_manager_adapter_proxy.cpp",
149c2b37d2cSopenharmony_ci  "src/bundle_manager_adapter/bundle_user_manager_adapter_proxy.cpp",
150c2b37d2cSopenharmony_ci]
151c2b37d2cSopenharmony_ci
152c2b37d2cSopenharmony_ciohos_shared_library("accountmgr") {
153c2b37d2cSopenharmony_ci  branch_protector_ret = "pac_ret"
154c2b37d2cSopenharmony_ci
155c2b37d2cSopenharmony_ci  sanitize = {
156c2b37d2cSopenharmony_ci    cfi = true
157c2b37d2cSopenharmony_ci    cfi_cross_dso = true
158c2b37d2cSopenharmony_ci    debug = false
159c2b37d2cSopenharmony_ci    blocklist = "./account_cfi_blocklist.txt"
160c2b37d2cSopenharmony_ci  }
161c2b37d2cSopenharmony_ci
162c2b37d2cSopenharmony_ci  visibility = [ "${os_account_path}/*" ]
163c2b37d2cSopenharmony_ci  cflags = [ "-pipe" ]
164c2b37d2cSopenharmony_ci  if (!use_clang_coverage) {
165c2b37d2cSopenharmony_ci    version_script = "libaccountmgr.map"
166c2b37d2cSopenharmony_ci  }
167c2b37d2cSopenharmony_ci  cflags_cc = [
168c2b37d2cSopenharmony_ci    "-Wdate-time",
169c2b37d2cSopenharmony_ci    "-Wformat=2",
170c2b37d2cSopenharmony_ci    "-Wfloat-equal",
171c2b37d2cSopenharmony_ci    "-Wshadow",
172c2b37d2cSopenharmony_ci  ]
173c2b37d2cSopenharmony_ci  if (os_account_multiple_active_accounts) {
174c2b37d2cSopenharmony_ci    cflags += [ "-DENABLE_MULTIPLE_ACTIVE_ACCOUNTS" ]
175c2b37d2cSopenharmony_ci  }
176c2b37d2cSopenharmony_ci
177c2b37d2cSopenharmony_ci  if (os_account_support_deactivate_main_os_account) {
178c2b37d2cSopenharmony_ci    cflags += [ "-DSUPPORT_STOP_MAIN_OS_ACCOUNT" ]
179c2b37d2cSopenharmony_ci  }
180c2b37d2cSopenharmony_ci
181c2b37d2cSopenharmony_ci  if (os_account_distributed_feature) {
182c2b37d2cSopenharmony_ci    cflags += [ "-DDISTRIBUTED_FEATURE_ENABLED" ]
183c2b37d2cSopenharmony_ci  }
184c2b37d2cSopenharmony_ci
185c2b37d2cSopenharmony_ci  if (os_account_enable_multiple_os_accounts || use_clang_coverage) {
186c2b37d2cSopenharmony_ci    cflags += [ "-DENABLE_MULTIPLE_OS_ACCOUNTS" ]
187c2b37d2cSopenharmony_ci  }
188c2b37d2cSopenharmony_ci
189c2b37d2cSopenharmony_ci  if (os_account_enable_default_admin_name) {
190c2b37d2cSopenharmony_ci    cflags += [ "-DENABLE_DEFAULT_ADMIN_NAME" ]
191c2b37d2cSopenharmony_ci  }
192c2b37d2cSopenharmony_ci
193c2b37d2cSopenharmony_ci  if (os_account_enable_account_short_name) {
194c2b37d2cSopenharmony_ci    cflags += [ "-DENABLE_ACCOUNT_SHORT_NAME" ]
195c2b37d2cSopenharmony_ci  }
196c2b37d2cSopenharmony_ci
197c2b37d2cSopenharmony_ci  if (os_account_activate_last_logged_in_account) {
198c2b37d2cSopenharmony_ci    cflags += [ "-DACTIVATE_LAST_LOGGED_IN_ACCOUNT" ]
199c2b37d2cSopenharmony_ci  }
200c2b37d2cSopenharmony_ci
201c2b37d2cSopenharmony_ci  sources = [
202c2b37d2cSopenharmony_ci    "${common_path}/utils/src/account_permission_manager.cpp",
203c2b37d2cSopenharmony_ci    "${domain_account_framework_path}/src/domain_account_callback_proxy.cpp",
204c2b37d2cSopenharmony_ci    "${domain_account_framework_path}/src/domain_account_callback_service.cpp",
205c2b37d2cSopenharmony_ci    "${domain_account_framework_path}/src/domain_account_callback_stub.cpp",
206c2b37d2cSopenharmony_ci    "${domain_account_framework_path}/src/domain_account_common.cpp",
207c2b37d2cSopenharmony_ci    "${innerkits_native_path}/src/account_info_parcel.cpp",
208c2b37d2cSopenharmony_ci    "${os_account_core_path}/src/os_account_event_proxy.cpp",
209c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hidumper_adapter/account_dump_helper.cpp",
210c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hisysevent_adapter/account_hisysevent_adapter.cpp",
211c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hitrace_adapter/hitrace_adapter.cpp",
212c2b37d2cSopenharmony_ci  ]
213c2b37d2cSopenharmony_ci  sources += account_service_sources
214c2b37d2cSopenharmony_ci  sources += ability_manager_sources
215c2b37d2cSopenharmony_ci  sources += bundle_manager_sources
216c2b37d2cSopenharmony_ci
217c2b37d2cSopenharmony_ci  defines = [
218c2b37d2cSopenharmony_ci    "ACCOUNT_LOG_TAG = \"AccountMgrService\"",
219c2b37d2cSopenharmony_ci    "LOG_DOMAIN = 0xD001B00",
220c2b37d2cSopenharmony_ci  ]
221c2b37d2cSopenharmony_ci  if (target_cpu == "arm64") {
222c2b37d2cSopenharmony_ci    defines += [ "_ARM64_" ]
223c2b37d2cSopenharmony_ci  }
224c2b37d2cSopenharmony_ci  configs = [
225c2b37d2cSopenharmony_ci    ":accountmgr_config",
226c2b37d2cSopenharmony_ci    ":bundle_manager_config",
227c2b37d2cSopenharmony_ci    ":domain_account_config",
228c2b37d2cSopenharmony_ci  ]
229c2b37d2cSopenharmony_ci
230c2b37d2cSopenharmony_ci  public_configs = [
231c2b37d2cSopenharmony_ci    ":accountmgr_public_config",
232c2b37d2cSopenharmony_ci    ":domain_account_config",
233c2b37d2cSopenharmony_ci  ]
234c2b37d2cSopenharmony_ci
235c2b37d2cSopenharmony_ci  use_exceptions = true
236c2b37d2cSopenharmony_ci
237c2b37d2cSopenharmony_ci  deps = [
238c2b37d2cSopenharmony_ci    "${common_path}:libaccount_common",
239c2b37d2cSopenharmony_ci    "${innerkits_native_path}:libaccountkits",
240c2b37d2cSopenharmony_ci    "${os_account_innerkits_native_path}:os_account_innerkits",
241c2b37d2cSopenharmony_ci  ]
242c2b37d2cSopenharmony_ci
243c2b37d2cSopenharmony_ci  external_deps = [
244c2b37d2cSopenharmony_ci    "ability_base:base",
245c2b37d2cSopenharmony_ci    "ability_base:want",
246c2b37d2cSopenharmony_ci    "ability_runtime:ability_connect_callback_stub",
247c2b37d2cSopenharmony_ci    "ability_runtime:app_manager",
248c2b37d2cSopenharmony_ci    "ability_runtime:wantagent_innerkits",
249c2b37d2cSopenharmony_ci    "access_token:libaccesstoken_sdk",
250c2b37d2cSopenharmony_ci    "access_token:libtokenid_sdk",
251c2b37d2cSopenharmony_ci    "bundle_framework:appexecfwk_base",
252c2b37d2cSopenharmony_ci    "bundle_framework:appexecfwk_core",
253c2b37d2cSopenharmony_ci    "c_utils:utils",
254c2b37d2cSopenharmony_ci    "hilog:libhilog",
255c2b37d2cSopenharmony_ci    "init:libbegetutil",
256c2b37d2cSopenharmony_ci    "ipc:ipc_single",
257c2b37d2cSopenharmony_ci    "json:nlohmann_json_static",
258c2b37d2cSopenharmony_ci    "mbedtls:mbedtls_shared",
259c2b37d2cSopenharmony_ci    "safwk:system_ability_fwk",
260c2b37d2cSopenharmony_ci    "samgr:samgr_proxy",
261c2b37d2cSopenharmony_ci  ]
262c2b37d2cSopenharmony_ci  if (has_huks_part) {
263c2b37d2cSopenharmony_ci    external_deps += [ "huks:libhukssdk" ]
264c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_HUKS_PART" ]
265c2b37d2cSopenharmony_ci  }
266c2b37d2cSopenharmony_ci
267c2b37d2cSopenharmony_ci  if (has_theme_mar_part) {
268c2b37d2cSopenharmony_ci    external_deps += [ "theme_mgr:theme_manager_client" ]
269c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_THEME_SERVICE_PART" ]
270c2b37d2cSopenharmony_ci  }
271c2b37d2cSopenharmony_ci
272c2b37d2cSopenharmony_ci  configs += [ ":account_iam_config" ]
273c2b37d2cSopenharmony_ci  if (has_user_auth_part) {
274c2b37d2cSopenharmony_ci    cflags_cc += [
275c2b37d2cSopenharmony_ci      "-DHAS_USER_AUTH_PART",
276c2b37d2cSopenharmony_ci      "-DHAS_USER_IDM_PART",
277c2b37d2cSopenharmony_ci    ]
278c2b37d2cSopenharmony_ci    sources += account_iam_sources
279c2b37d2cSopenharmony_ci    external_deps += [
280c2b37d2cSopenharmony_ci      "access_token:libtokensetproc_shared",
281c2b37d2cSopenharmony_ci      "user_auth_framework:userauth_client",
282c2b37d2cSopenharmony_ci    ]
283c2b37d2cSopenharmony_ci  }
284c2b37d2cSopenharmony_ci
285c2b37d2cSopenharmony_ci  if (has_pin_auth_part) {
286c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_PIN_AUTH_PART" ]
287c2b37d2cSopenharmony_ci    external_deps += [ "pin_auth:pinauth_framework" ]
288c2b37d2cSopenharmony_ci  }
289c2b37d2cSopenharmony_ci
290c2b37d2cSopenharmony_ci  if (has_kv_store_part) {
291c2b37d2cSopenharmony_ci    cflags_cc += [
292c2b37d2cSopenharmony_ci      "-DHAS_APP_ACCOUNT_PART",
293c2b37d2cSopenharmony_ci      "-DHAS_KV_STORE_PART",
294c2b37d2cSopenharmony_ci    ]
295c2b37d2cSopenharmony_ci    sources += app_account_sources
296c2b37d2cSopenharmony_ci    sources += [
297c2b37d2cSopenharmony_ci      "src/account_data_storage.cpp",
298c2b37d2cSopenharmony_ci      "src/osaccount/os_account_data_storage.cpp",
299c2b37d2cSopenharmony_ci      "src/osaccount/os_account_database_operator.cpp",
300c2b37d2cSopenharmony_ci    ]
301c2b37d2cSopenharmony_ci    external_deps += [ "kv_store:distributeddata_inner" ]
302c2b37d2cSopenharmony_ci  }
303c2b37d2cSopenharmony_ci
304c2b37d2cSopenharmony_ci  if (has_storage_service_part) {
305c2b37d2cSopenharmony_ci    cflags += [ "-DHAS_STORAGE_PART" ]
306c2b37d2cSopenharmony_ci    external_deps += [ "storage_service:storage_manager_sa_proxy" ]
307c2b37d2cSopenharmony_ci  }
308c2b37d2cSopenharmony_ci
309c2b37d2cSopenharmony_ci  if (build_selinux) {
310c2b37d2cSopenharmony_ci    external_deps += [ "selinux_adapter:librestorecon" ]
311c2b37d2cSopenharmony_ci    cflags += [ "-DWITH_SELINUX" ]
312c2b37d2cSopenharmony_ci  }
313c2b37d2cSopenharmony_ci
314c2b37d2cSopenharmony_ci  if (has_ces_part) {
315c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_CES_PART" ]
316c2b37d2cSopenharmony_ci    external_deps += [ "common_event_service:cesfwk_innerkits" ]
317c2b37d2cSopenharmony_ci  }
318c2b37d2cSopenharmony_ci
319c2b37d2cSopenharmony_ci  if (has_hiviewdfx_hisysevent_part) {
320c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_HISYSEVENT_PART" ]
321c2b37d2cSopenharmony_ci    external_deps += [ "hisysevent:libhisysevent" ]
322c2b37d2cSopenharmony_ci  }
323c2b37d2cSopenharmony_ci
324c2b37d2cSopenharmony_ci  if (use_musl) {
325c2b37d2cSopenharmony_ci    cflags_cc += [ "-DUSE_MUSL" ]
326c2b37d2cSopenharmony_ci  }
327c2b37d2cSopenharmony_ci
328c2b37d2cSopenharmony_ci  if (hicollie_enable == true) {
329c2b37d2cSopenharmony_ci    external_deps += [ "hicollie:libhicollie" ]
330c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHICOLLIE_ENABLE" ]
331c2b37d2cSopenharmony_ci  }
332c2b37d2cSopenharmony_ci
333c2b37d2cSopenharmony_ci  if (security_guard_enabled) {
334c2b37d2cSopenharmony_ci    external_deps += [
335c2b37d2cSopenharmony_ci      "security_guard:libsg_collect_sdk",
336c2b37d2cSopenharmony_ci      "time_service:time_client",
337c2b37d2cSopenharmony_ci    ]
338c2b37d2cSopenharmony_ci    cflags_cc += [ "-DSECURITY_GUARDE_ENABLE" ]
339c2b37d2cSopenharmony_ci  }
340c2b37d2cSopenharmony_ci
341c2b37d2cSopenharmony_ci  if (has_hiviewdfx_hitrace_part) {
342c2b37d2cSopenharmony_ci    external_deps += [ "hitrace:hitrace_meter" ]
343c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_HITRACE_PART" ]
344c2b37d2cSopenharmony_ci  }
345c2b37d2cSopenharmony_ci
346c2b37d2cSopenharmony_ci  if (has_asset_part) {
347c2b37d2cSopenharmony_ci    external_deps += [ "asset:asset_sdk" ]
348c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_ASSET_PART" ]
349c2b37d2cSopenharmony_ci  }
350c2b37d2cSopenharmony_ci
351c2b37d2cSopenharmony_ci  if (has_config_policy_part) {
352c2b37d2cSopenharmony_ci    external_deps += [ "config_policy:configpolicy_util" ]
353c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_CONFIG_POLICY_PART" ]
354c2b37d2cSopenharmony_ci  }
355c2b37d2cSopenharmony_ci
356c2b37d2cSopenharmony_ci  if (build_variant == "user") {
357c2b37d2cSopenharmony_ci    cflags_cc += [ "-DIS_RELEASE_VERSION" ]
358c2b37d2cSopenharmony_ci  }
359c2b37d2cSopenharmony_ci
360c2b37d2cSopenharmony_ci  if (use_clang_coverage) {
361c2b37d2cSopenharmony_ci    cflags_cc += [ "-DACCOUNT_COVERAGE_TEST" ]
362c2b37d2cSopenharmony_ci  }
363c2b37d2cSopenharmony_ci
364c2b37d2cSopenharmony_ci  if (!use_clang_coverage) {
365c2b37d2cSopenharmony_ci    shlib_type = "sa"
366c2b37d2cSopenharmony_ci  }
367c2b37d2cSopenharmony_ci  subsystem_name = "account"
368c2b37d2cSopenharmony_ci  part_name = "os_account"
369c2b37d2cSopenharmony_ci}
370c2b37d2cSopenharmony_ci
371c2b37d2cSopenharmony_cigroup("accountmgr_target") {
372c2b37d2cSopenharmony_ci  deps = [
373c2b37d2cSopenharmony_ci    ":accountmgr",
374c2b37d2cSopenharmony_ci    ":accountmgr.init",
375c2b37d2cSopenharmony_ci    ":constraints_list_collection",
376c2b37d2cSopenharmony_ci    ":os_account_config",
377c2b37d2cSopenharmony_ci    ":osaccount_constraint",
378c2b37d2cSopenharmony_ci  ]
379c2b37d2cSopenharmony_ci}
380