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.gni")
16c2b37d2cSopenharmony_ciimport("../../os_account_service.gni")
17c2b37d2cSopenharmony_ci
18c2b37d2cSopenharmony_ciconfig("accountmgr_config") {
19c2b37d2cSopenharmony_ci  include_dirs = [
20c2b37d2cSopenharmony_ci    "${app_account_services_path}/include",
21c2b37d2cSopenharmony_ci    "${app_account_services_path}/include/ability_manager_adapter",
22c2b37d2cSopenharmony_ci    "${app_account_services_path}/include/appaccount",
23c2b37d2cSopenharmony_ci    "${app_account_services_path}/include/osaccount",
24c2b37d2cSopenharmony_ci    "${innerkits_path}/include",
25c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hidumper_adapter",
26c2b37d2cSopenharmony_ci    "${app_account_interfaces_native_path}/include",
27c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hisysevent_adapter",
28c2b37d2cSopenharmony_ci    "${os_account_dfx_path}/hitrace_adapter",
29c2b37d2cSopenharmony_ci    "${app_account_innerkits_native_path}/include",
30c2b37d2cSopenharmony_ci  ]
31c2b37d2cSopenharmony_ci}
32c2b37d2cSopenharmony_ci
33c2b37d2cSopenharmony_ciconfig("account_iam_config") {
34c2b37d2cSopenharmony_ci  include_dirs = [ "${account_iam_interfaces_native_path}/include" ]
35c2b37d2cSopenharmony_ci}
36c2b37d2cSopenharmony_ci
37c2b37d2cSopenharmony_ciconfig("domain_account_config") {
38c2b37d2cSopenharmony_ci  include_dirs = [
39c2b37d2cSopenharmony_ci    "${app_account_services_path}/include/domain_account",
40c2b37d2cSopenharmony_ci    "${domain_account_framework_path}/include",
41c2b37d2cSopenharmony_ci    "${domain_account_interfaces_native_path}/include",
42c2b37d2cSopenharmony_ci  ]
43c2b37d2cSopenharmony_ci}
44c2b37d2cSopenharmony_ci
45c2b37d2cSopenharmony_ciconfig("ability_manager_config") {
46c2b37d2cSopenharmony_ci  include_dirs = [
47c2b37d2cSopenharmony_ci    "${ability_runtime_path}/interfaces/inner_api/ability_manager/include",
48c2b37d2cSopenharmony_ci    "${ability_runtime_path}/ability_base/interfaces/inner_api/want/include",
49c2b37d2cSopenharmony_ci    "${ability_runtime_path}/services/abilitymgr/include",
50c2b37d2cSopenharmony_ci    "${ability_runtime_path}/services/common/include",
51c2b37d2cSopenharmony_ci  ]
52c2b37d2cSopenharmony_ci}
53c2b37d2cSopenharmony_ci
54c2b37d2cSopenharmony_ciconfig("accountmgr_public_config") {
55c2b37d2cSopenharmony_ci  visibility = [ ":*" ]
56c2b37d2cSopenharmony_ci
57c2b37d2cSopenharmony_ci  include_dirs = [
58c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include",
59c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include/appaccount",
60c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include/osaccount",
61c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include/domain_account",
62c2b37d2cSopenharmony_ci  ]
63c2b37d2cSopenharmony_ci
64c2b37d2cSopenharmony_ci  if (has_user_auth_part) {
65c2b37d2cSopenharmony_ci    include_dirs += [ "${services_path}/accountmgr/include/account_iam" ]
66c2b37d2cSopenharmony_ci  }
67c2b37d2cSopenharmony_ci}
68c2b37d2cSopenharmony_ci
69c2b37d2cSopenharmony_ciconfig("bundle_manager_config") {
70c2b37d2cSopenharmony_ci  include_dirs = [
71c2b37d2cSopenharmony_ci    "${services_path}/accountmgr/include/bundle_manager_adapter",
72c2b37d2cSopenharmony_ci    "${bundle_framework_path}/common/log/include",
73c2b37d2cSopenharmony_ci    "${bundle_framework_path}/interfaces/inner_api/appexecfwk_core/include",
74c2b37d2cSopenharmony_ci  ]
75c2b37d2cSopenharmony_ci}
76c2b37d2cSopenharmony_ci
77c2b37d2cSopenharmony_ciconfig("mock_accountmgr_config") {
78c2b37d2cSopenharmony_ci  cflags = [ "-pipe" ]
79c2b37d2cSopenharmony_ci  cflags_cc = [
80c2b37d2cSopenharmony_ci    "-Wdate-time",
81c2b37d2cSopenharmony_ci    "-Wformat=2",
82c2b37d2cSopenharmony_ci    "-Wfloat-equal",
83c2b37d2cSopenharmony_ci    "-Wshadow",
84c2b37d2cSopenharmony_ci  ]
85c2b37d2cSopenharmony_ci  if (os_account_multiple_active_accounts) {
86c2b37d2cSopenharmony_ci    cflags += [ "-DENABLE_MULTIPLE_ACTIVE_ACCOUNTS" ]
87c2b37d2cSopenharmony_ci  }
88c2b37d2cSopenharmony_ci
89c2b37d2cSopenharmony_ci  if (os_account_support_deactivate_main_os_account) {
90c2b37d2cSopenharmony_ci    cflags += [ "-DSUPPORT_STOP_MAIN_OS_ACCOUNT" ]
91c2b37d2cSopenharmony_ci  }
92c2b37d2cSopenharmony_ci
93c2b37d2cSopenharmony_ci  if (os_account_distributed_feature) {
94c2b37d2cSopenharmony_ci    cflags += [ "-DDISTRIBUTED_FEATURE_ENABLED" ]
95c2b37d2cSopenharmony_ci  }
96c2b37d2cSopenharmony_ci
97c2b37d2cSopenharmony_ci  if (os_account_enable_multiple_os_accounts || use_clang_coverage) {
98c2b37d2cSopenharmony_ci    cflags += [ "-DENABLE_MULTIPLE_OS_ACCOUNTS" ]
99c2b37d2cSopenharmony_ci  }
100c2b37d2cSopenharmony_ci
101c2b37d2cSopenharmony_ci  if (os_account_enable_default_admin_name) {
102c2b37d2cSopenharmony_ci    cflags += [ "-DENABLE_DEFAULT_ADMIN_NAME" ]
103c2b37d2cSopenharmony_ci  }
104c2b37d2cSopenharmony_ci
105c2b37d2cSopenharmony_ci  if (os_account_enable_account_short_name) {
106c2b37d2cSopenharmony_ci    cflags += [ "-DENABLE_ACCOUNT_SHORT_NAME" ]
107c2b37d2cSopenharmony_ci  }
108c2b37d2cSopenharmony_ci
109c2b37d2cSopenharmony_ci  configs = [
110c2b37d2cSopenharmony_ci    ":bundle_manager_config",
111c2b37d2cSopenharmony_ci    ":domain_account_config",
112c2b37d2cSopenharmony_ci    ":accountmgr_public_config",
113c2b37d2cSopenharmony_ci  ]
114c2b37d2cSopenharmony_ci
115c2b37d2cSopenharmony_ci  if (has_user_auth_part) {
116c2b37d2cSopenharmony_ci    cflags_cc += [
117c2b37d2cSopenharmony_ci      "-DHAS_USER_AUTH_PART",
118c2b37d2cSopenharmony_ci      "-DHAS_USER_IDM_PART",
119c2b37d2cSopenharmony_ci    ]
120c2b37d2cSopenharmony_ci    configs += [ ":account_iam_config" ]
121c2b37d2cSopenharmony_ci  }
122c2b37d2cSopenharmony_ci  if (has_kv_store_part) {
123c2b37d2cSopenharmony_ci    cflags_cc += [
124c2b37d2cSopenharmony_ci      "-DHAS_APP_ACCOUNT_PART",
125c2b37d2cSopenharmony_ci      "-DHAS_KV_STORE_PART",
126c2b37d2cSopenharmony_ci    ]
127c2b37d2cSopenharmony_ci  }
128c2b37d2cSopenharmony_ci
129c2b37d2cSopenharmony_ci  if (has_storage_service_part) {
130c2b37d2cSopenharmony_ci    cflags += [ "-DHAS_STORAGE_PART" ]
131c2b37d2cSopenharmony_ci  }
132c2b37d2cSopenharmony_ci
133c2b37d2cSopenharmony_ci  if (build_selinux) {
134c2b37d2cSopenharmony_ci    cflags += [ "-DWITH_SELINUX" ]
135c2b37d2cSopenharmony_ci  }
136c2b37d2cSopenharmony_ci
137c2b37d2cSopenharmony_ci  if (has_ces_part) {
138c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_CES_PART" ]
139c2b37d2cSopenharmony_ci  }
140c2b37d2cSopenharmony_ci
141c2b37d2cSopenharmony_ci  if (has_hiviewdfx_hisysevent_part) {
142c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_HISYSEVENT_PART" ]
143c2b37d2cSopenharmony_ci  }
144c2b37d2cSopenharmony_ci
145c2b37d2cSopenharmony_ci  if (hicollie_enable == true) {
146c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHICOLLIE_ENABLE" ]
147c2b37d2cSopenharmony_ci  }
148c2b37d2cSopenharmony_ci
149c2b37d2cSopenharmony_ci  if (security_guard_enabled) {
150c2b37d2cSopenharmony_ci    cflags_cc += [ "-DSECURITY_GUARDE_ENABLE" ]
151c2b37d2cSopenharmony_ci  }
152c2b37d2cSopenharmony_ci
153c2b37d2cSopenharmony_ci  if (has_hiviewdfx_hitrace_part) {
154c2b37d2cSopenharmony_ci    cflags_cc += [ "-DHAS_HITRACE_PART" ]
155c2b37d2cSopenharmony_ci  }
156c2b37d2cSopenharmony_ci}
157