From 798d8b6533ae324eb2875db4594dc10d0752f478 Mon Sep 17 00:00:00 2001 From: Harry Ramsey Date: Fri, 11 Oct 2024 17:09:18 +0100 Subject: [PATCH] Update build scripts for error.c generation This commit updates the build scripts for error.c generation to be generated in the Mbed TLS library directory. Signed-off-by: Harry Ramsey --- library/CMakeLists.txt | 22 +++++++++++++++ library/Makefile | 12 ++++----- tf-psa-crypto/drivers/builtin/CMakeLists.txt | 28 -------------------- 3 files changed, 28 insertions(+), 34 deletions(-) diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index 5cb5ec860f..6af4f0f2fc 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -6,6 +6,7 @@ if(NOT DEFINED MBEDTLS_DIR) endif() set(src_x509 + error.c pkcs7.c x509.c x509_create.c @@ -41,6 +42,26 @@ set(src_tls ) if(GEN_FILES) + find_package(Perl REQUIRED) + + file(GLOB crypto_error_headers ${CMAKE_CURRENT_SOURCE_DIR}/include/mbedtls/*.h) + file(GLOB tls_error_headers ${MBEDTLS_DIR}/include/mbedtls/*.h) + add_custom_command( + OUTPUT + ${CMAKE_CURRENT_BINARY_DIR}/error.c + COMMAND + ${PERL_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_errors.pl + ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/drivers/builtin/include/mbedtls + ${CMAKE_CURRENT_SOURCE_DIR}/../include/mbedtls + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files + ${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/error.c + DEPENDS + ${MBEDTLS_DIR}/scripts/generate_errors.pl + ${crypto_error_headers} + ${tls_error_headers} + ${MBEDTLS_DIR}/scripts/data_files/error.fmt + ) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/version_features.c @@ -69,6 +90,7 @@ if(GEN_FILES) ${tls_error_headers} ) else() + link_to_source(error.c) link_to_source(version_features.c) link_to_source(ssl_debug_helpers_generated.c) endif() diff --git a/library/Makefile b/library/Makefile index e9c908ee9c..d69f9e0592 100644 --- a/library/Makefile +++ b/library/Makefile @@ -6,7 +6,7 @@ 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 GENERATED_FILES := \ - $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/error.c \ + error.c \ version_features.c \ ssl_debug_helpers_generated.c \ $(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers.h \ @@ -148,7 +148,7 @@ OBJS_CRYPTO= \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/ecp_curves_new.o \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/entropy.o \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/entropy_poll.o \ - $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/error.o \ + error.o \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/gcm.o \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/hkdf.o \ $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/hmac_drbg.o \ @@ -357,10 +357,10 @@ else gen_file_dep = | endif -$(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/error.c: $(gen_file_dep) ../scripts/generate_errors.pl -$(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/error.c: $(gen_file_dep) ../scripts/data_files/error.fmt -$(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/error.c: $(gen_file_dep) $(filter-out %config%,$(wildcard ../include/mbedtls/*.h)) -$(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/error.c: +error.c: $(gen_file_dep) ../scripts/generate_errors.pl +error.c: $(gen_file_dep) ../scripts/data_files/error.fmt +error.c: $(gen_file_dep) $(filter-out %config%,$(wildcard ../include/mbedtls/*.h)) +error.c: echo " Gen $@" $(PERL) ../scripts/generate_errors.pl diff --git a/tf-psa-crypto/drivers/builtin/CMakeLists.txt b/tf-psa-crypto/drivers/builtin/CMakeLists.txt index 5cbdbbcc87..9ec1a87b42 100644 --- a/tf-psa-crypto/drivers/builtin/CMakeLists.txt +++ b/tf-psa-crypto/drivers/builtin/CMakeLists.txt @@ -1,34 +1,6 @@ add_subdirectory(src) file(GLOB src_builtin RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.c) -if(NOT "src/error.c" IN_LIST "${src_builtin}") - list(APPEND src_builtin src/error.c) -endif() - -if(GEN_FILES) - find_package(Perl REQUIRED) - - file(GLOB crypto_error_headers ${CMAKE_CURRENT_SOURCE_DIR}/include/mbedtls/*.h) - file(GLOB tls_error_headers ${MBEDTLS_DIR}/include/mbedtls/*.h) - add_custom_command( - OUTPUT - ${CMAKE_CURRENT_BINARY_DIR}/src/error.c - COMMAND - ${PERL_EXECUTABLE} - ${MBEDTLS_DIR}/scripts/generate_errors.pl - ${CMAKE_CURRENT_SOURCE_DIR}/include/mbedtls - ${MBEDTLS_DIR}/include/mbedtls - ${MBEDTLS_DIR}/scripts/data_files - ${CMAKE_CURRENT_BINARY_DIR}/src/error.c - DEPENDS - ${MBEDTLS_DIR}/scripts/generate_errors.pl - ${crypto_error_headers} - ${tls_error_headers} - ${MBEDTLS_DIR}/scripts/data_files/error.fmt - ) -else() - link_to_source(src/error.c) -endif() if(CMAKE_COMPILER_IS_GNUCC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations -Wmissing-prototypes")