blob: bbeb034306695e4217388633b1fc31af24ec7f85 [file] [log] [blame]
Imre Kisd0ed5c22021-12-15 17:05:47 +01001#-------------------------------------------------------------------------------
Gabor Toth75951632023-09-06 09:17:28 +02002# Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
Imre Kisd0ed5c22021-12-15 17:05:47 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
Gabor Tothbdc11a72023-12-13 09:02:15 +01008option(UEFI_INTERNAL_CRYPTO "Use internal mbedtls instance" OFF)
9
10if (UEFI_AUTH_VAR)
11
12# If enabled an internal mbedtls instance will be used instead of the crypto SP
13if (UEFI_INTERNAL_CRYPTO)
Gabor Toth4ad8b992024-08-13 10:41:48 +020014set(MBEDTLS_CONFIG_FILE "${TS_ROOT}/external/MbedTLS/config/internal_crypto_smmgw.h"
Gabor Tothbdc11a72023-12-13 09:02:15 +010015 CACHE STRING "Configuration file for Mbed TLS" FORCE)
16include(${TS_ROOT}/external/MbedTLS/MbedTLS.cmake)
17target_link_libraries(smm-gateway PRIVATE MbedTLS::mbedcrypto)
18target_link_libraries(smm-gateway PRIVATE MbedTLS::mbedx509)
19
Gabor Tothaf77b472024-04-05 11:19:37 +020020# Pass the mbedtls config file to C preprocessor so the uefi
21# direct backend will access the mbedtls headers
22target_compile_definitions(smm-gateway PRIVATE
Gabor Toth4ad8b992024-08-13 10:41:48 +020023 MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}"
Gabor Tothaf77b472024-04-05 11:19:37 +020024)
25
Gabor Tothbdc11a72023-12-13 09:02:15 +010026target_compile_definitions(smm-gateway PRIVATE
27 -DUEFI_INTERNAL_CRYPTO
28)
29
30add_components(TARGET "smm-gateway"
31 BASE_DIR ${TS_ROOT}
32 COMPONENTS
Gabor Tothaf77b472024-04-05 11:19:37 +020033 "components/common/mbedtls"
Gabor Tothbdc11a72023-12-13 09:02:15 +010034 "components/service/uefi/smm_variable/backend/direct"
Gabor Toth4ad8b992024-08-13 10:41:48 +020035 "components/service/crypto/backend/mbedcrypto/trng_adapter/stub"
Gabor Tothbdc11a72023-12-13 09:02:15 +010036)
37
38else()
39add_components(TARGET "smm-gateway"
40 BASE_DIR ${TS_ROOT}
41 COMPONENTS
42 "components/common/tlv"
43 "components/service/crypto/include"
44 "components/service/crypto/client/psa"
45)
46endif()
47
48endif()
49
Imre Kisd0ed5c22021-12-15 17:05:47 +010050add_components(TARGET "smm-gateway"
51 BASE_DIR ${TS_ROOT}
52 COMPONENTS
Julian Hall29620bf2022-06-09 10:26:37 +010053 "components/common/trace"
54 "components/common/utils"
Imre Kisd0ed5c22021-12-15 17:05:47 +010055 "components/common/uuid"
Imre Kisd0ed5c22021-12-15 17:05:47 +010056 "components/rpc/common/interface"
57 "components/service/common/include"
Imre Kisd0ed5c22021-12-15 17:05:47 +010058 "components/service/common/provider"
Julian Hall98656d52022-05-05 11:09:21 +010059 "components/service/uefi/smm_variable/backend"
60 "components/service/uefi/smm_variable/provider"
Imre Kisd0ed5c22021-12-15 17:05:47 +010061 "components/service/secure_storage/include"
Imre Kisd0ed5c22021-12-15 17:05:47 +010062 "components/service/secure_storage/backend/mock_store"
63 "protocols/rpc/common/packed-c"
Imre Kisd0ed5c22021-12-15 17:05:47 +010064)
65
Imre Kisd0ed5c22021-12-15 17:05:47 +010066target_include_directories(smm-gateway PRIVATE
67 ${TS_ROOT}
68 ${TS_ROOT}/components
69)