14f7ff21fSopenharmony_ci# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
24f7ff21fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
34f7ff21fSopenharmony_ci# you may not use this file except in compliance with the License.
44f7ff21fSopenharmony_ci# You may obtain a copy of the License at
54f7ff21fSopenharmony_ci#
64f7ff21fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
74f7ff21fSopenharmony_ci#
84f7ff21fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
94f7ff21fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
104f7ff21fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
114f7ff21fSopenharmony_ci# See the License for the specific language governing permissions and
124f7ff21fSopenharmony_ci# limitations under the License.
134f7ff21fSopenharmony_ci
144f7ff21fSopenharmony_ciimport("//build/ohos.gni")
154f7ff21fSopenharmony_ci
164f7ff21fSopenharmony_cideclare_args() {
174f7ff21fSopenharmony_ci  fingerprint_auth_enabled = true
184f7ff21fSopenharmony_ci}
194f7ff21fSopenharmony_ci
204f7ff21fSopenharmony_ciconfig("fingerprintauthservice_config") {
214f7ff21fSopenharmony_ci  include_dirs = [
224f7ff21fSopenharmony_ci    "inc",
234f7ff21fSopenharmony_ci    "../common/inc",
244f7ff21fSopenharmony_ci    "../common/logs",
254f7ff21fSopenharmony_ci    "../common/utils",
264f7ff21fSopenharmony_ci  ]
274f7ff21fSopenharmony_ci}
284f7ff21fSopenharmony_ci
294f7ff21fSopenharmony_ciohos_source_set("fingerprintauthservice_source_set") {
304f7ff21fSopenharmony_ci  sanitize = {
314f7ff21fSopenharmony_ci    integer_overflow = true
324f7ff21fSopenharmony_ci    ubsan = true
334f7ff21fSopenharmony_ci    boundary_sanitize = true
344f7ff21fSopenharmony_ci    cfi = true
354f7ff21fSopenharmony_ci    cfi_cross_dso = true
364f7ff21fSopenharmony_ci    debug = false
374f7ff21fSopenharmony_ci  }
384f7ff21fSopenharmony_ci  branch_protector_ret = "pac_ret"
394f7ff21fSopenharmony_ci  sources = [
404f7ff21fSopenharmony_ci    "src/fingerprint_auth_all_in_one_executor_hdi.cpp",
414f7ff21fSopenharmony_ci    "src/fingerprint_auth_driver_hdi.cpp",
424f7ff21fSopenharmony_ci    "src/fingerprint_auth_executor_callback_hdi.cpp",
434f7ff21fSopenharmony_ci    "src/fingerprint_auth_interface_adapter.cpp",
444f7ff21fSopenharmony_ci    "src/fingerprint_auth_service.cpp",
454f7ff21fSopenharmony_ci    "src/memory_guard.cpp",
464f7ff21fSopenharmony_ci    "src/sa_command_manager.cpp",
474f7ff21fSopenharmony_ci    "src/sensor_illumination_manager.cpp",
484f7ff21fSopenharmony_ci    "src/service_ex_manager.cpp",
494f7ff21fSopenharmony_ci  ]
504f7ff21fSopenharmony_ci
514f7ff21fSopenharmony_ci  public_configs = [ ":fingerprintauthservice_config" ]
524f7ff21fSopenharmony_ci
534f7ff21fSopenharmony_ci  external_deps = [
544f7ff21fSopenharmony_ci    "c_utils:utils",
554f7ff21fSopenharmony_ci    "drivers_interface_fingerprint_auth:libfingerprint_auth_proxy_2.0",
564f7ff21fSopenharmony_ci    "hdf_core:libhdf_utils",
574f7ff21fSopenharmony_ci    "hilog:libhilog",
584f7ff21fSopenharmony_ci    "ipc:ipc_core",
594f7ff21fSopenharmony_ci    "miscdevice:vibrator_interface_native",
604f7ff21fSopenharmony_ci    "safwk:system_ability_fwk",
614f7ff21fSopenharmony_ci    "samgr:samgr_proxy",
624f7ff21fSopenharmony_ci    "user_auth_framework:userauth_executors",
634f7ff21fSopenharmony_ci  ]
644f7ff21fSopenharmony_ci
654f7ff21fSopenharmony_ci  if (use_musl) {
664f7ff21fSopenharmony_ci    if (musl_use_jemalloc && musl_use_jemalloc_dfx_intf) {
674f7ff21fSopenharmony_ci      defines = [ "CONFIG_USE_JEMALLOC_DFX_INTF" ]
684f7ff21fSopenharmony_ci    }
694f7ff21fSopenharmony_ci  }
704f7ff21fSopenharmony_ci
714f7ff21fSopenharmony_ci  remove_configs = [ "//build/config/compiler:no_exceptions" ]
724f7ff21fSopenharmony_ci
734f7ff21fSopenharmony_ci  subsystem_name = "useriam"
744f7ff21fSopenharmony_ci  part_name = "fingerprint_auth"
754f7ff21fSopenharmony_ci}
764f7ff21fSopenharmony_ci
774f7ff21fSopenharmony_ciohos_shared_library("fingerprintauthservice") {
784f7ff21fSopenharmony_ci  sanitize = {
794f7ff21fSopenharmony_ci    integer_overflow = true
804f7ff21fSopenharmony_ci    ubsan = true
814f7ff21fSopenharmony_ci    boundary_sanitize = true
824f7ff21fSopenharmony_ci    cfi = true
834f7ff21fSopenharmony_ci    cfi_cross_dso = true
844f7ff21fSopenharmony_ci    debug = false
854f7ff21fSopenharmony_ci  }
864f7ff21fSopenharmony_ci  branch_protector_ret = "pac_ret"
874f7ff21fSopenharmony_ci  deps = [ ":fingerprintauthservice_source_set" ]
884f7ff21fSopenharmony_ci
894f7ff21fSopenharmony_ci  external_deps = [ "hilog:libhilog" ]
904f7ff21fSopenharmony_ci
914f7ff21fSopenharmony_ci  if (use_musl) {
924f7ff21fSopenharmony_ci    version_script = "fingerprint_auth_service_map"
934f7ff21fSopenharmony_ci  }
944f7ff21fSopenharmony_ci
954f7ff21fSopenharmony_ci  subsystem_name = "useriam"
964f7ff21fSopenharmony_ci  part_name = "fingerprint_auth"
974f7ff21fSopenharmony_ci}
98