CMake: restore FILEPATH from STING for base

Signed-off-by: Yi Wu <yi.wu2@arm.com>
This commit is contained in:
Yi Wu 2026-08-21 11:48:30 +01:00
parent d18007682d
commit ebbe61a192
2 changed files with 26 additions and 17 deletions

View File

@ -134,10 +134,11 @@ endif()
# Make configuration file options into PATHs
set(MBEDTLS_CONFIG_FILE "" CACHE FILEPATH "Mbed TLS config file (overrides default).")
set(MBEDTLS_USER_CONFIG_FILE "" CACHE FILEPATH "Mbed TLS user config file (appended to default).")
set(MBEDTLS_CONFIG_BASE_FILE "" CACHE STRING "Mbed TLS config to copy and optionally transform.")
set(MBEDTLS_CONFIG_BASE_FILE "" CACHE FILEPATH "Mbed TLS config to copy and optionally transform.")
set(MBEDTLS_CONFIG_NAME "" CACHE STRING "Named Mbed TLS configuration (see config.py).")
set(MBEDTLS_CONFIG_SET "" CACHE STRING "Options to set, separated by semicolons (OPTION or OPTION=VALUE).")
set(MBEDTLS_CONFIG_UNSET "" CACHE STRING "Options to unset, separated by semicolons.")
set(TF_PSA_CRYPTO_CONFIG_BASE_FILE "" CACHE FILEPATH "TF-PSA-Crypto config to copy and optionally transform.")
set(MBEDTLS_CONFIG_TRANSFORMED FALSE)
if(NOT "${MBEDTLS_CONFIG_NAME}" STREQUAL "" OR
@ -182,9 +183,13 @@ if(NOT "${MBEDTLS_CONFIG_BASE_FILE}" STREQUAL "" OR
endif()
if(NOT "${MBEDTLS_CONFIG_BASE_FILE}" STREQUAL "")
get_filename_component(MBEDTLS_BASE_CONFIG_FILE
"${MBEDTLS_CONFIG_BASE_FILE}" ABSOLUTE
BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(MBEDTLS_BASE_CONFIG_FILE "${MBEDTLS_CONFIG_BASE_FILE}")
if(NOT EXISTS "${MBEDTLS_BASE_CONFIG_FILE}")
file(RELATIVE_PATH MBEDTLS_CONFIG_BASE_FILE_RELATIVE
"${CMAKE_CURRENT_BINARY_DIR}" "${MBEDTLS_CONFIG_BASE_FILE}")
set(MBEDTLS_BASE_CONFIG_FILE
"${CMAKE_CURRENT_SOURCE_DIR}/${MBEDTLS_CONFIG_BASE_FILE_RELATIVE}")
endif()
else()
set(MBEDTLS_BASE_CONFIG_FILE
"${CMAKE_CURRENT_SOURCE_DIR}/include/mbedtls/mbedtls_config.h")
@ -201,9 +206,15 @@ if(NOT "${MBEDTLS_CONFIG_BASE_FILE}" STREQUAL "" OR
if(MBEDTLS_CONFIG_TRANSFORMED)
if(NOT "${TF_PSA_CRYPTO_CONFIG_BASE_FILE}" STREQUAL "")
get_filename_component(MBEDTLS_BASE_CRYPTO_CONFIG_FILE
"${TF_PSA_CRYPTO_CONFIG_BASE_FILE}" ABSOLUTE
BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(MBEDTLS_BASE_CRYPTO_CONFIG_FILE
"${TF_PSA_CRYPTO_CONFIG_BASE_FILE}")
if(NOT EXISTS "${MBEDTLS_BASE_CRYPTO_CONFIG_FILE}")
file(RELATIVE_PATH TF_PSA_CRYPTO_CONFIG_BASE_FILE_RELATIVE
"${CMAKE_CURRENT_BINARY_DIR}"
"${TF_PSA_CRYPTO_CONFIG_BASE_FILE}")
set(MBEDTLS_BASE_CRYPTO_CONFIG_FILE
"${CMAKE_CURRENT_SOURCE_DIR}/${TF_PSA_CRYPTO_CONFIG_BASE_FILE_RELATIVE}")
endif()
else()
set(MBEDTLS_BASE_CRYPTO_CONFIG_FILE
"${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/include/psa/crypto_config.h")

View File

@ -320,13 +320,13 @@ component_build_cmake_config_options () {
cd "$MBEDTLS_ROOT_DIR"
rm -rf "$OUT_OF_SOURCE_DIR"
launch_dir="$OUT_OF_SOURCE_DIR.launch"
launch_dir="$MBEDTLS_ROOT_DIR/cmake-config-launch"
mkdir "$launch_dir"
cd "$launch_dir"
msg "configure: resolve a relative base config from the source tree"
msg "configure: resolve a base config relative to the launch directory"
cmake -H"$MBEDTLS_ROOT_DIR" -B"$OUT_OF_SOURCE_DIR" \
-DMBEDTLS_CONFIG_BASE_FILE=configs/config-ccm-psk-tls1_2.h \
-DMBEDTLS_CONFIG_BASE_FILE=../configs/config-ccm-psk-tls1_2.h \
-DMBEDTLS_CONFIG_SET=MBEDTLS_DEBUG_C
grep '^#define MBEDTLS_DEBUG_C' \
"$OUT_OF_SOURCE_DIR/generated/include/mbedtls/mbedtls_config.h"
@ -358,17 +358,15 @@ component_build_cmake_config_options () {
msg "build: combine Mbed TLS and TF-PSA-Crypto transformations"
cmake \
-DMBEDTLS_CONFIG_BASE_FILE=configs/config-ccm-psk-tls1_2.h \
'-DMBEDTLS_CONFIG_SET=MBEDTLS_DEBUG_C;PSA_WANT_ALG_RIPEMD160' \
-DTF_PSA_CRYPTO_CONFIG_BASE_FILE="$MBEDTLS_ROOT_DIR/tf-psa-crypto/configs/crypto-config-symmetric-only.h" \
-DTF_PSA_CRYPTO_CONFIG_UNSET=PSA_WANT_ALG_RIPEMD160 \
-DMBEDTLS_CONFIG_SET=MBEDTLS_DEBUG_C \
-DTF_PSA_CRYPTO_CONFIG_BASE_FILE="$MBEDTLS_ROOT_DIR/configs/crypto-config-ccm-psk-tls1_2.h" \
-DTF_PSA_CRYPTO_CONFIG_UNSET=MBEDTLS_HAVE_TIME \
"$MBEDTLS_ROOT_DIR"
make query_compile_time_config
programs/test/query_compile_time_config MBEDTLS_DEBUG_C
grep '^#define PSA_WANT_ALG_RIPEMD160' \
grep '^#define MBEDTLS_HAVE_TIME' \
generated/include/psa/crypto_config.h
not programs/test/query_compile_time_config PSA_WANT_ALG_RIPEMD160
not programs/test/query_compile_time_config \
PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC
not programs/test/query_compile_time_config MBEDTLS_HAVE_TIME
cd "$MBEDTLS_ROOT_DIR"
rm -rf "$OUT_OF_SOURCE_DIR"