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