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("//base/security/huks/build/config.gni")
15import("//base/security/huks/huks.gni")
16import("//build/ohos.gni")
17
18config("huks_config") {
19  include_dirs = [ "." ]
20}
21
22if (os_level == "standard") {
23  ohos_static_library("libhuks_utils_list_static") {
24    subsystem_name = "security"
25    part_name = "huks"
26    public_configs = [ ":huks_config" ]
27
28    sources = [ "hks_double_list.c" ]
29    cflags = [
30      "-Wall",
31      "-Werror",
32    ]
33
34    complete_static_lib = true
35
36    branch_protector_ret = "pac_ret"
37
38    sanitize = {
39      integer_overflow = true
40      cfi = true
41      debug = false
42      cfi_cross_dso = true
43      boundary_sanitize = true
44      ubsan = true
45    }
46
47    configs = [
48      "//base/security/huks/frameworks/config/build:l2_standard_common_config",
49    ]
50    external_deps = [ "c_utils:utils" ]
51  }
52} else {
53  ohos_static_library("libhuks_utils_list_static") {
54    public_configs = [ ":huks_config" ]
55    configs = [
56      "//base/security/huks/frameworks/config/build:l1_small_common_config",
57    ]
58
59    sources = [ "hks_double_list.c" ]
60
61    complete_static_lib = true
62  }
63}
64