1# Copyright (c) 2022-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
16ohos_shared_library("libuser_auth_interface_service_3.0") {
17  sanitize = {
18    integer_overflow = true
19    ubsan = true
20    boundary_sanitize = true
21    cfi = true
22    cfi_cross_dso = true
23    debug = false
24  }
25  branch_protector_ret = "pac_ret"
26  include_dirs = [
27    "adaptor/inc",
28    "coauth/inc",
29    "common/inc",
30    "database/inc",
31    "interface",
32    "idm/inc",
33    "key_mgr/inc",
34    "user_auth/inc",
35    "utils/inc",
36    "service",
37    "../common/logs",
38    "../common/utils",
39  ]
40  sources = [
41    "adaptor/src/adaptor_algorithm.c",
42    "adaptor/src/adaptor_file.c",
43    "adaptor/src/adaptor_memory.c",
44    "adaptor/src/adaptor_time.c",
45    "adaptor/src/buffer.c",
46    "adaptor/src/file_operator.c",
47    "coauth/src/coauth.c",
48    "coauth/src/coauth_funcs.c",
49    "coauth/src/executor_message.c",
50    "coauth/src/pool.c",
51    "common/src/user_sign_centre.c",
52    "database/src/idm_common.c",
53    "database/src/idm_database.c",
54    "database/src/idm_file_manager.c",
55    "hal_sdk/useriam_common.cpp",
56    "idm/src/enroll_specification_check.c",
57    "idm/src/idm_session.c",
58    "idm/src/user_idm_funcs.c",
59    "key_mgr/src/ed25519_key.c",
60    "key_mgr/src/hmac_key.c",
61    "key_mgr/src/token_key.c",
62    "key_mgr/src/udid_manager.c",
63    "service/user_auth_interface_service.cpp",
64    "user_auth/src/auth_level.c",
65    "user_auth/src/auth_token_signer.c",
66    "user_auth/src/context_manager.c",
67    "user_auth/src/identify_funcs.c",
68    "user_auth/src/user_auth_funcs.c",
69    "utils/src/attribute.c",
70    "utils/src/c_array.c",
71    "utils/src/linked_list.c",
72  ]
73  external_deps = [
74    "c_utils:utils",
75    "drivers_interface_user_auth:user_auth_idl_headers",
76    "hilog:libhilog",
77    "ipc:ipc_single",
78    "openssl:libcrypto_shared",
79  ]
80
81  remove_configs = [ "//build/config/compiler:no_exceptions" ]
82
83  install_images = [ chipset_base_dir ]
84  subsystem_name = "hdf"
85  part_name = "drivers_peripheral_user_auth"
86}
87
88ohos_shared_library("libuser_auth_driver") {
89  sanitize = {
90    integer_overflow = true
91    ubsan = true
92    boundary_sanitize = true
93    cfi = true
94    cfi_cross_dso = true
95    debug = false
96  }
97  branch_protector_ret = "pac_ret"
98  include_dirs = [
99    "interface",
100    "../common/logs",
101    "../common/utils",
102  ]
103  sources = [ "service/user_auth_interface_driver.cpp" ]
104  deps = [ ":libuser_auth_interface_service_3.0" ]
105
106  external_deps = [
107    "c_utils:utils",
108    "drivers_interface_user_auth:libuser_auth_stub_3.0",
109    "hdf_core:libhdf_host",
110    "hdf_core:libhdf_ipc_adapter",
111    "hdf_core:libhdf_utils",
112    "hdf_core:libhdi",
113    "hilog:libhilog",
114    "ipc:ipc_single",
115  ]
116
117  remove_configs = [ "//build/config/compiler:no_exceptions" ]
118
119  shlib_type = "hdi"
120  install_images = [ chipset_base_dir ]
121  subsystem_name = "hdf"
122  part_name = "drivers_peripheral_user_auth"
123}
124
125group("hdf_user_auth_service") {
126  deps = [
127    ":libuser_auth_driver",
128    ":libuser_auth_interface_service_3.0",
129  ]
130}
131