1ea497e4dSopenharmony_ci# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
2ea497e4dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3ea497e4dSopenharmony_ci# you may not use this file except in compliance with the License.
4ea497e4dSopenharmony_ci# You may obtain a copy of the License at
5ea497e4dSopenharmony_ci#
6ea497e4dSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7ea497e4dSopenharmony_ci#
8ea497e4dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9ea497e4dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10ea497e4dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11ea497e4dSopenharmony_ci# See the License for the specific language governing permissions and
12ea497e4dSopenharmony_ci# limitations under the License.
13ea497e4dSopenharmony_ci
14ea497e4dSopenharmony_ciimport("//build/ohos.gni")
15ea497e4dSopenharmony_ci
16ea497e4dSopenharmony_ciconfig("faceauth_framework_public_config") {
17ea497e4dSopenharmony_ci  include_dirs = [ "inc" ]
18ea497e4dSopenharmony_ci}
19ea497e4dSopenharmony_ci
20ea497e4dSopenharmony_ciohos_shared_library("faceauth_framework") {
21ea497e4dSopenharmony_ci  sanitize = {
22ea497e4dSopenharmony_ci    integer_overflow = true
23ea497e4dSopenharmony_ci    ubsan = true
24ea497e4dSopenharmony_ci    boundary_sanitize = true
25ea497e4dSopenharmony_ci    cfi = true
26ea497e4dSopenharmony_ci    cfi_cross_dso = true
27ea497e4dSopenharmony_ci    debug = false
28ea497e4dSopenharmony_ci    blocklist = "../../cfi_blocklist.txt"
29ea497e4dSopenharmony_ci  }
30ea497e4dSopenharmony_ci  branch_protector_ret = "pac_ret"
31ea497e4dSopenharmony_ci  sources = [
32ea497e4dSopenharmony_ci    "src/face_auth_client_impl.cpp",
33ea497e4dSopenharmony_ci    "src/face_auth_proxy.cpp",
34ea497e4dSopenharmony_ci  ]
35ea497e4dSopenharmony_ci
36ea497e4dSopenharmony_ci  public_configs = [ ":faceauth_framework_public_config" ]
37ea497e4dSopenharmony_ci
38ea497e4dSopenharmony_ci  configs = [ "../../common:iam_log_config" ]
39ea497e4dSopenharmony_ci
40ea497e4dSopenharmony_ci  include_dirs = [
41ea497e4dSopenharmony_ci    "../../common/utils",
42ea497e4dSopenharmony_ci    "../../common/inc",
43ea497e4dSopenharmony_ci  ]
44ea497e4dSopenharmony_ci
45ea497e4dSopenharmony_ci  external_deps = [
46ea497e4dSopenharmony_ci    "access_token:libaccesstoken_sdk",
47ea497e4dSopenharmony_ci    "access_token:libtokenid_sdk",
48ea497e4dSopenharmony_ci    "access_token:libtokensetproc_shared",
49ea497e4dSopenharmony_ci    "c_utils:utils",
50ea497e4dSopenharmony_ci    "hilog:libhilog",
51ea497e4dSopenharmony_ci    "ipc:ipc_single",
52ea497e4dSopenharmony_ci    "samgr:samgr_proxy",
53ea497e4dSopenharmony_ci  ]
54ea497e4dSopenharmony_ci
55ea497e4dSopenharmony_ci  if (use_musl) {
56ea497e4dSopenharmony_ci    version_script = "face_auth_framework_map"
57ea497e4dSopenharmony_ci  }
58ea497e4dSopenharmony_ci
59ea497e4dSopenharmony_ci  if (defined(global_parts_info.graphic_graphic_2d)) {
60ea497e4dSopenharmony_ci    external_deps += [ "graphic_surface:surface" ]
61ea497e4dSopenharmony_ci  }
62ea497e4dSopenharmony_ci
63ea497e4dSopenharmony_ci  subsystem_name = "useriam"
64ea497e4dSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
65ea497e4dSopenharmony_ci  part_name = "face_auth"
66ea497e4dSopenharmony_ci}
67ea497e4dSopenharmony_ci
68ea497e4dSopenharmony_ciohos_source_set("faceauth_framework_stub") {
69ea497e4dSopenharmony_ci  sanitize = {
70ea497e4dSopenharmony_ci    integer_overflow = true
71ea497e4dSopenharmony_ci    ubsan = true
72ea497e4dSopenharmony_ci    boundary_sanitize = true
73ea497e4dSopenharmony_ci    cfi = true
74ea497e4dSopenharmony_ci    cfi_cross_dso = true
75ea497e4dSopenharmony_ci    debug = false
76ea497e4dSopenharmony_ci    blocklist = "../../cfi_blocklist.txt"
77ea497e4dSopenharmony_ci  }
78ea497e4dSopenharmony_ci  branch_protector_ret = "pac_ret"
79ea497e4dSopenharmony_ci  sources = [ "src/face_auth_stub.cpp" ]
80ea497e4dSopenharmony_ci
81ea497e4dSopenharmony_ci  configs = [ "../../common:iam_log_config" ]
82ea497e4dSopenharmony_ci
83ea497e4dSopenharmony_ci  public_configs = [ ":faceauth_framework_public_config" ]
84ea497e4dSopenharmony_ci
85ea497e4dSopenharmony_ci  include_dirs = [
86ea497e4dSopenharmony_ci    "../../common/utils",
87ea497e4dSopenharmony_ci    "../../common/inc",
88ea497e4dSopenharmony_ci  ]
89ea497e4dSopenharmony_ci
90ea497e4dSopenharmony_ci  external_deps = [
91ea497e4dSopenharmony_ci    "c_utils:utils",
92ea497e4dSopenharmony_ci    "hilog:libhilog",
93ea497e4dSopenharmony_ci    "ipc:ipc_single",
94ea497e4dSopenharmony_ci  ]
95ea497e4dSopenharmony_ci
96ea497e4dSopenharmony_ci  if (defined(global_parts_info.graphic_graphic_2d)) {
97ea497e4dSopenharmony_ci    external_deps += [ "graphic_surface:surface" ]
98ea497e4dSopenharmony_ci  }
99ea497e4dSopenharmony_ci
100ea497e4dSopenharmony_ci  subsystem_name = "useriam"
101ea497e4dSopenharmony_ci  part_name = "face_auth"
102ea497e4dSopenharmony_ci}
103