1# Copyright (c) 2022-2023 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 16config("iam_log_config") { 17 include_dirs = [ "logs" ] 18} 19 20config("iam_thread_pool_config") { 21 include_dirs = [ "thread_pool" ] 22} 23 24ohos_source_set("iam_thread_pool") { 25 sanitize = { 26 integer_overflow = true 27 ubsan = true 28 boundary_sanitize = true 29 cfi = true 30 cfi_cross_dso = true 31 debug = false 32 blocklist = "../cfi_blocklist.txt" 33 } 34 branch_protector_ret = "pac_ret" 35 include_dirs = [ 36 "thread_pool", 37 "logs", 38 ] 39 40 sources = [ "thread_pool/thread_groups.cpp" ] 41 42 external_deps = [ 43 "c_utils:utils", 44 "hilog:libhilog", 45 ] 46 47 public_configs = [ ":iam_thread_pool_config" ] 48 49 subsystem_name = "useriam" 50 part_name = "user_auth_framework" 51} 52 53config("iam_utils_config") { 54 include_dirs = [ "utils" ] 55} 56 57ohos_source_set("iam_utils") { 58 sanitize = { 59 integer_overflow = true 60 ubsan = true 61 boundary_sanitize = true 62 cfi = true 63 cfi_cross_dso = true 64 debug = false 65 blocklist = "../cfi_blocklist.txt" 66 } 67 branch_protector_ret = "pac_ret" 68 include_dirs = [ 69 "utils", 70 "logs", 71 ] 72 73 sources = [ 74 "utils/iam_mem.cpp", 75 "utils/iam_time.cpp", 76 "utils/xcollie_helper.cpp", 77 ] 78 79 external_deps = [ 80 "c_utils:utils", 81 "hicollie:libhicollie", 82 "hilog:libhilog", 83 ] 84 85 public_configs = [ 86 ":iam_utils_config", 87 ":iam_log_config", 88 ] 89 90 subsystem_name = "useriam" 91 part_name = "user_auth_framework" 92} 93 94config("iam_test_config") { 95 include_dirs = [ "test" ] 96} 97 98ohos_source_set("iam_test") { 99 testonly = true 100 include_dirs = [ "logs" ] 101 102 external_deps = [ 103 "c_utils:utils", 104 "hicollie:libhicollie", 105 "hilog:libhilog", 106 ] 107 108 public_configs = [ ":iam_test_config" ] 109 110 sources = [ "test/iam_fuzz_test.cpp" ] 111 112 subsystem_name = "useriam" 113 part_name = "user_auth_framework" 114} 115