15bbf6e98Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
25bbf6e98Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
35bbf6e98Sopenharmony_ci# you may not use this file except in compliance with the License.
45bbf6e98Sopenharmony_ci# You may obtain a copy of the License at
55bbf6e98Sopenharmony_ci#
65bbf6e98Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
75bbf6e98Sopenharmony_ci#
85bbf6e98Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
95bbf6e98Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
105bbf6e98Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
115bbf6e98Sopenharmony_ci# See the License for the specific language governing permissions and
125bbf6e98Sopenharmony_ci# limitations under the License.
135bbf6e98Sopenharmony_ci
145bbf6e98Sopenharmony_ciimport("//build/ohos.gni")
155bbf6e98Sopenharmony_ciimport("//test/xts/device_attest/build/devattestconfig.gni")
165bbf6e98Sopenharmony_ciimport("attestsource.gni")
175bbf6e98Sopenharmony_ci
185bbf6e98Sopenharmony_cisources_common = sources_notmock
195bbf6e98Sopenharmony_cisources_common += sources_mock
205bbf6e98Sopenharmony_ci
215bbf6e98Sopenharmony_ciif (enable_attest_debug_memory_leak) {
225bbf6e98Sopenharmony_ci  sources_common += [ "utils/attest_utils_memleak.c" ]
235bbf6e98Sopenharmony_ci}
245bbf6e98Sopenharmony_ci
255bbf6e98Sopenharmony_ciif (enable_attest_debug_dfx) {
265bbf6e98Sopenharmony_ci  sources_common += [ "dfx/attest_dfx.c" ]
275bbf6e98Sopenharmony_ci}
285bbf6e98Sopenharmony_ci
295bbf6e98Sopenharmony_ciconfig("devattest_core_config") {
305bbf6e98Sopenharmony_ci  visibility = [ ":*" ]
315bbf6e98Sopenharmony_ci  cflags = [ "-Wall" ]
325bbf6e98Sopenharmony_ci  include_dirs = include_core_dirs
335bbf6e98Sopenharmony_ci
345bbf6e98Sopenharmony_ci  if (enable_attest_common_debug) {
355bbf6e98Sopenharmony_ci    defines = [ "ATTEST_HILOG_LEVEL = 0" ]
365bbf6e98Sopenharmony_ci  } else {
375bbf6e98Sopenharmony_ci    defines = [ "ATTEST_HILOG_LEVEL = 1" ]
385bbf6e98Sopenharmony_ci  }
395bbf6e98Sopenharmony_ci
405bbf6e98Sopenharmony_ci  if (enable_attest_test_mock_network) {
415bbf6e98Sopenharmony_ci    defines += [ "__ATTEST_MOCK_NETWORK_STUB__" ]
425bbf6e98Sopenharmony_ci  }
435bbf6e98Sopenharmony_ci  if (enable_attest_test_mock_device) {
445bbf6e98Sopenharmony_ci    defines += [ "__ATTEST_MOCK_DEVICE_STUB__" ]
455bbf6e98Sopenharmony_ci  }
465bbf6e98Sopenharmony_ci  if (enable_attest_debug_memory_leak) {
475bbf6e98Sopenharmony_ci    defines += [ "__ATTEST_DEBUG_MEMORY_LEAK__" ]
485bbf6e98Sopenharmony_ci  }
495bbf6e98Sopenharmony_ci  if (enable_attest_network_debug_log) {
505bbf6e98Sopenharmony_ci    defines += [ "__ATTEST_NETWORK_DEBUG_LOG__" ]
515bbf6e98Sopenharmony_ci  }
525bbf6e98Sopenharmony_ci  if (disable_attest_active_site) {
535bbf6e98Sopenharmony_ci    defines += [ "__ATTEST_DISABLE_SITE__" ]
545bbf6e98Sopenharmony_ci  }
555bbf6e98Sopenharmony_ci  if (enable_attest_preset_token) {
565bbf6e98Sopenharmony_ci    defines += [ "__ATTEST_ENABLE_PRESET_TOKEN__" ]
575bbf6e98Sopenharmony_ci  }
585bbf6e98Sopenharmony_ci
595bbf6e98Sopenharmony_ci  defines += [ "MBEDTLS_ALLOW_PRIVATE_ACCESS" ]
605bbf6e98Sopenharmony_ci  defines += [ "OPENSSL_SUPPRESS_DEPRECATED" ]
615bbf6e98Sopenharmony_ci}
625bbf6e98Sopenharmony_ci
635bbf6e98Sopenharmony_ciohos_shared_library("devattest_core") {
645bbf6e98Sopenharmony_ci  version_script = "libdevattest_core.map"
655bbf6e98Sopenharmony_ci
665bbf6e98Sopenharmony_ci  sanitize = {
675bbf6e98Sopenharmony_ci    cfi = true
685bbf6e98Sopenharmony_ci    cfi_cross_dso = true
695bbf6e98Sopenharmony_ci    debug = false
705bbf6e98Sopenharmony_ci  }
715bbf6e98Sopenharmony_ci
725bbf6e98Sopenharmony_ci  branch_protector_ret = "pac_ret"
735bbf6e98Sopenharmony_ci
745bbf6e98Sopenharmony_ci  sources = sources_common
755bbf6e98Sopenharmony_ci
765bbf6e98Sopenharmony_ci  configs = [ ":devattest_core_config" ]
775bbf6e98Sopenharmony_ci
785bbf6e98Sopenharmony_ci  deps = core_deps
795bbf6e98Sopenharmony_ci
805bbf6e98Sopenharmony_ci  external_deps = core_external_deps
815bbf6e98Sopenharmony_ci
825bbf6e98Sopenharmony_ci  subsystem_name = "xts"
835bbf6e98Sopenharmony_ci  part_name = "device_attest"
845bbf6e98Sopenharmony_ci}
85