Register generate_config_files.py outputs as generated files

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine
2025-07-31 21:50:35 +02:00
parent 3374f6e90b
commit b53b443f8e
3 changed files with 50 additions and 0 deletions

3
library/.gitignore vendored
View File

@@ -4,6 +4,9 @@ libmbed*
###START_GENERATED_FILES### ###START_GENERATED_FILES###
/error.c /error.c
/mbedtls_config_check_before.h
/mbedtls_config_check_final.h
/mbedtls_config_check_user.h
/version_features.c /version_features.c
/ssl_debug_helpers_generated.c /ssl_debug_helpers_generated.c
###END_GENERATED_FILES### ###END_GENERATED_FILES###

View File

@@ -73,6 +73,39 @@ if(GEN_FILES)
${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/version_features.fmt ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/version_features.fmt
) )
execute_process(
COMMAND
${MBEDTLS_PYTHON_EXECUTABLE}
${MBEDTLS_DIR}/scripts/generate_config_checks.py
--list ""
WORKING_DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/..
OUTPUT_VARIABLE
MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS)
# Turn newline-terminated non-empty list into semicolon-separated list.
string(REPLACE "\n" ";"
MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS "${MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS}")
string(REGEX REPLACE ";\$" ""
MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS "${MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS}")
# Prepend the binary dir to all element of MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS,
# using features that exist in CMake 3.5.1.
string(REPLACE ";" ";${CMAKE_CURRENT_BINARY_DIR}/"
MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS
"${MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS}")
set(MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS
"${CMAKE_CURRENT_BINARY_DIR}/${MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS}")
add_custom_command(
OUTPUT ${MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS}
COMMAND
${MBEDTLS_PYTHON_EXECUTABLE}
${MBEDTLS_DIR}/scripts/generate_config_checks.py
${CMAKE_CURRENT_BINARY_DIR}
DEPENDS
${MBEDTLS_DIR}/scripts/generate_config_checks.py
${MBEDTLS_FRAMEWORK_DIR}/scripts/mbedtls_framework/config_checks_generator.py
)
add_custom_command( add_custom_command(
OUTPUT OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/ssl_debug_helpers_generated.c ${CMAKE_CURRENT_BINARY_DIR}/ssl_debug_helpers_generated.c
@@ -89,6 +122,7 @@ if(GEN_FILES)
add_custom_target(${MBEDTLS_TARGET_PREFIX}mbedx509_generated_files_target add_custom_target(${MBEDTLS_TARGET_PREFIX}mbedx509_generated_files_target
DEPENDS DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/error.c ${CMAKE_CURRENT_BINARY_DIR}/error.c
${MBEDTLS_GENERATED_CONFIG_CHECKS_HEADERS}
) )
add_custom_target(${MBEDTLS_TARGET_PREFIX}mbedtls_generated_files_target add_custom_target(${MBEDTLS_TARGET_PREFIX}mbedtls_generated_files_target

View File

@@ -5,7 +5,12 @@ endif
TF_PSA_CRYPTO_CORE_PATH = $(MBEDTLS_PATH)/tf-psa-crypto/core TF_PSA_CRYPTO_CORE_PATH = $(MBEDTLS_PATH)/tf-psa-crypto/core
TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH = $(MBEDTLS_PATH)/tf-psa-crypto/drivers/builtin/src TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH = $(MBEDTLS_PATH)/tf-psa-crypto/drivers/builtin/src
# List the generated files without running a script, so that this
# works with no tooling dependencies when GEN_FILES is disabled.
GENERATED_FILES := \ GENERATED_FILES := \
mbedtls_config_check_before.h \
mbedtls_config_check_final.h \
mbedtls_config_check_user.h \
error.c \ error.c \
version_features.c \ version_features.c \
ssl_debug_helpers_generated.c \ ssl_debug_helpers_generated.c \
@@ -326,6 +331,14 @@ $(GENERATED_WRAPPER_FILES):
$(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto.o:$(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers.h $(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto.o:$(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers.h
GENERATED_CONFIG_CHECK_FILES = $(shell $(PYTHON) ../scripts/generate_config_checks.py --list .)
$(GENERATED_CONFIG_CHECK_FILES): $(gen_file_dep) \
$(TF_PSA_CRYPTO_CORE_PATH)/../scripts/generate_config_checks.py \
../framework/scripts/mbedtls_framework/config_checks_generator.py
$(GENERATED_CONFIG_CHECK_FILES):
echo " Gen $(GENERATED_CONFIG_CHECK_FILES)"
$(PYTHON) ../scripts/generate_config_checks.py
clean: clean:
ifndef WINDOWS ifndef WINDOWS
rm -f *.o *.s libmbed* rm -f *.o *.s libmbed*