diff options
Diffstat (limited to 'library/CMakeLists.txt')
-rw-r--r-- | library/CMakeLists.txt | 198 |
1 files changed, 100 insertions, 98 deletions
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index e2562df..da109dc 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -10,87 +10,90 @@ if(NOT DEFINED MBEDTLS_DIR) set(MBEDTLS_DIR ${CMAKE_SOURCE_DIR}) endif() +set(TF_PSA_CRYPTO_CORE_DIR ../tf-psa-crypto/core) +set(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR ../tf-psa-crypto/drivers/builtin/src) + set(src_crypto - aes.c - aesni.c - aesce.c - aria.c - asn1parse.c - asn1write.c - base64.c - bignum.c - bignum_core.c - bignum_mod.c - bignum_mod_raw.c - block_cipher.c - camellia.c - ccm.c - chacha20.c - chachapoly.c - cipher.c - cipher_wrap.c - constant_time.c - cmac.c - ctr_drbg.c - des.c - dhm.c - ecdh.c - ecdsa.c - ecjpake.c - ecp.c - ecp_curves.c - ecp_curves_new.c - entropy.c - entropy_poll.c - error.c - gcm.c - hkdf.c - hmac_drbg.c - lmots.c - lms.c - md.c - md5.c - memory_buffer_alloc.c - nist_kw.c - oid.c - pem.c - pk.c - pk_ecc.c - pk_wrap.c - pkcs12.c - pkcs5.c - pkparse.c - pkwrite.c - platform.c - platform_util.c - poly1305.c - psa_crypto.c - psa_crypto_aead.c - psa_crypto_cipher.c - psa_crypto_client.c - psa_crypto_driver_wrappers_no_static.c - psa_crypto_ecp.c - psa_crypto_ffdh.c - psa_crypto_hash.c - psa_crypto_mac.c - psa_crypto_pake.c - psa_crypto_rsa.c - psa_crypto_se.c - psa_crypto_slot_management.c - psa_crypto_storage.c - psa_its_file.c - psa_util.c - ripemd160.c - rsa.c - rsa_alt_helpers.c - sha1.c - sha256.c - sha512.c - sha3.c - threading.c - timing.c - version.c - version_features.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/aes.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/aesni.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/aesce.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/aria.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/asn1parse.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/asn1write.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/base64.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/bignum.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/bignum_core.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/bignum_mod.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/bignum_mod_raw.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/block_cipher.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/camellia.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ccm.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/chacha20.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/chachapoly.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/cipher.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/cipher_wrap.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/constant_time.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/cmac.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ctr_drbg.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/des.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/dhm.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ecdh.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ecdsa.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ecjpake.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ecp.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ecp_curves.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ecp_curves_new.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/entropy.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/entropy_poll.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/error.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/gcm.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/hkdf.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/hmac_drbg.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/lmots.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/lms.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/md.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/md5.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/memory_buffer_alloc.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/nist_kw.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/oid.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/pem.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/pk.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/pk_ecc.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/pk_wrap.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/pkcs12.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/pkcs5.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/pkparse.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/pkwrite.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/platform.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/platform_util.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/poly1305.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_aead.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_cipher.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_client.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_driver_wrappers_no_static.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_ecp.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_ffdh.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_hash.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_mac.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_pake.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_rsa.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_se.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_slot_management.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_storage.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_its_file.c + ${TF_PSA_CRYPTO_CORE_DIR}/psa_util.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/ripemd160.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/rsa.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/rsa_alt_helpers.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/sha1.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/sha256.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/sha512.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/sha3.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/threading.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/timing.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/version.c + ${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/version_features.c ) set(src_x509 @@ -133,14 +136,14 @@ if(GEN_FILES) file(GLOB tls_error_headers ${CMAKE_CURRENT_SOURCE_DIR}/../include/mbedtls/*.h) add_custom_command( OUTPUT - ${CMAKE_CURRENT_BINARY_DIR}/error.c + ${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_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}/error.c + ${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/error.c DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_errors.pl ${crypto_error_headers} @@ -150,13 +153,13 @@ if(GEN_FILES) add_custom_command( OUTPUT - ${CMAKE_CURRENT_BINARY_DIR}/version_features.c + ${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/version_features.c COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_features.pl ${CMAKE_CURRENT_SOURCE_DIR}/../include/mbedtls ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files - ${CMAKE_CURRENT_BINARY_DIR}/version_features.c + ${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/version_features.c DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_features.pl ${CMAKE_CURRENT_SOURCE_DIR}/../include/mbedtls/mbedtls_config.h @@ -178,24 +181,23 @@ if(GEN_FILES) add_custom_command( OUTPUT - ${CMAKE_CURRENT_BINARY_DIR}/psa_crypto_driver_wrappers.h - ${CMAKE_CURRENT_BINARY_DIR}/psa_crypto_driver_wrappers_no_static.c + ${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_driver_wrappers.h + ${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_driver_wrappers_no_static.c COMMAND ${MBEDTLS_PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_driver_wrappers.py - ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_CORE_DIR} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_driver_wrappers.py ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/driver_templates/psa_crypto_driver_wrappers_no_static.c.jinja ) - - else() - link_to_source(error.c) - link_to_source(version_features.c) + link_to_source(${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/error.c) + link_to_source(${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/version_features.c) link_to_source(ssl_debug_helpers_generated.c) - link_to_source(psa_crypto_driver_wrappers_no_static.c) + link_to_source(${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_driver_wrappers.h) + link_to_source(${TF_PSA_CRYPTO_CORE_DIR}/psa_crypto_driver_wrappers_no_static.c) endif() if(CMAKE_COMPILER_IS_GNUCC) @@ -324,19 +326,19 @@ endif(USE_SHARED_MBEDTLS_LIBRARY) foreach(target IN LISTS target_libraries) add_library(MbedTLS::${target} ALIAS ${target}) # add_subdirectory support - # Include public header files from /include and other directories - # declared by /3rdparty/**/CMakeLists.txt. Include private header files - # from /library and others declared by /3rdparty/**/CMakeLists.txt. - # /library needs to be listed explicitly when building .c files outside - # of /library (which currently means: under /3rdparty). + # Include public header files from /include, /tf-psa-crypto/include/ and + # tf-psa-crypto/drivers/builtin/include/. Include private header files + # from /library, tf-psa-crypto/core/ and tf-psa-crypto/drivers/builtin/src/. target_include_directories(${target} PUBLIC $<BUILD_INTERFACE:${MBEDTLS_DIR}/include/> $<BUILD_INTERFACE:${MBEDTLS_DIR}/tf-psa-crypto/include/> $<BUILD_INTERFACE:${MBEDTLS_DIR}/tf-psa-crypto/drivers/builtin/include/> $<INSTALL_INTERFACE:include/> PRIVATE ${MBEDTLS_DIR}/library/ + ${MBEDTLS_DIR}/tf-psa-crypto/core + ${MBEDTLS_DIR}/tf-psa-crypto/drivers/builtin/src # Needed to include psa_crypto_driver_wrappers.h - ${CMAKE_CURRENT_BINARY_DIR}) + ${CMAKE_CURRENT_BINARY_DIR}/../tf-psa-crypto/core) # Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE if(MBEDTLS_CONFIG_FILE) target_compile_definitions(${target} |