diff --git a/3rdparty/everest/CMakeLists.txt b/3rdparty/everest/CMakeLists.txt index 8c8e8db04a..356931e05f 100644 --- a/3rdparty/everest/CMakeLists.txt +++ b/3rdparty/everest/CMakeLists.txt @@ -9,6 +9,7 @@ target_include_directories(${everest_target} PUBLIC $ $ $ + $ $ PRIVATE include/everest include/everest/kremlib diff --git a/3rdparty/p256-m/CMakeLists.txt b/3rdparty/p256-m/CMakeLists.txt index bd302a7b66..d3dc81328e 100644 --- a/3rdparty/p256-m/CMakeLists.txt +++ b/3rdparty/p256-m/CMakeLists.txt @@ -9,6 +9,7 @@ target_include_directories(${p256m_target} $ $ $ + $ $ PRIVATE ${MBEDTLS_DIR}/library/) diff --git a/CMakeLists.txt b/CMakeLists.txt index 35b8d4812e..28d4b832a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -356,6 +356,7 @@ if(ENABLE_TESTING OR ENABLE_PROGRAMS) PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests/include PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/drivers/builtin/include PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/library) # Request C11, needed for memory poisoning tests set_target_properties(mbedtls_test PROPERTIES C_STANDARD 11) @@ -367,6 +368,7 @@ if(ENABLE_TESTING OR ENABLE_PROGRAMS) PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests/include PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/drivers/builtin/include PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/library PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/everest/include) diff --git a/Makefile b/Makefile index 0f1f3da8fd..67ad0b7b10 100644 --- a/Makefile +++ b/Makefile @@ -95,6 +95,7 @@ ifndef WINDOWS install: no_test mkdir -p $(DESTDIR)/include/mbedtls cp -rp include/mbedtls $(DESTDIR)/include + cp -rp tf-psa-crypto/drivers/builtin/include/mbedtls $(DESTDIR)/include mkdir -p $(DESTDIR)/include/psa cp -rp tf-psa-crypto/include/psa $(DESTDIR)/include @@ -198,6 +199,7 @@ C_SOURCE_FILES = $(wildcard \ include/*/*.h \ library/*.[hc] \ tf-psa-crypto/include/*/*.h \ + tf-psa-crypto/drivers/builtin/include/*/*.h \ programs/*/*.[hc] \ tests/include/*/*.h tests/include/*/*/*.h \ tests/src/*.c tests/src/*/*.c \ @@ -214,5 +216,7 @@ GPATH GRTAGS GSYMS GTAGS: $(C_SOURCE_FILES) ls $(C_SOURCE_FILES) | gtags -f - --gtagsconf .globalrc cscope: cscope.in.out cscope.po.out cscope.out cscope.in.out cscope.po.out cscope.out: $(C_SOURCE_FILES) - cscope -bq -u -Iinclude -Ilibrary -Itf-psa-crypto/include $(patsubst %,-I%,$(wildcard 3rdparty/*/include)) -Itests/include $(C_SOURCE_FILES) + cscope -bq -u -Iinclude -Ilibrary -Itf-psa-crypto/include \ + -Itf-psa-crypto/drivers/builtin/include \ + $(patsubst %,-I%,$(wildcard 3rdparty/*/include)) -Itests/include $(C_SOURCE_FILES) .PHONY: cscope global diff --git a/doxygen/mbedtls.doxyfile b/doxygen/mbedtls.doxyfile index 847deb01ae..1e494a0de0 100644 --- a/doxygen/mbedtls.doxyfile +++ b/doxygen/mbedtls.doxyfile @@ -6,7 +6,7 @@ EXTRACT_ALL = YES EXTRACT_PRIVATE = YES EXTRACT_STATIC = YES CASE_SENSE_NAMES = NO -INPUT = ../include ../tf-psa-crypto/include input ../tests/include/alt-dummy +INPUT = ../include ../tf-psa-crypto/include input ../tf-psa-crypto/drivers/builtin/include ../tests/include/alt-dummy FILE_PATTERNS = *.h RECURSIVE = YES EXCLUDE_SYMLINKS = YES @@ -21,7 +21,7 @@ GENERATE_LATEX = NO GENERATE_XML = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES -INCLUDE_PATH = ../include ../tf-psa-crypto/include +INCLUDE_PATH = ../include ../tf-psa-crypto/include ../tf-psa-crypto/drivers/builtin/include EXPAND_AS_DEFINED = MBEDTLS_PRIVATE CLASS_DIAGRAMS = NO HAVE_DOT = YES diff --git a/framework b/framework index 04847216ab..423e41ec80 160000 --- a/framework +++ b/framework @@ -1 +1 @@ -Subproject commit 04847216ab964b9bdce41f1e61ccc6d8f5d2a139 +Subproject commit 423e41ec8044a797eca7ac3a36497963fc4e5606 diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index 9b26b6b102..e2562df998 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -129,19 +129,22 @@ set(src_tls if(GEN_FILES) find_package(Perl REQUIRED) - file(GLOB error_headers ${CMAKE_CURRENT_SOURCE_DIR}/../include/mbedtls/*.h) + file(GLOB crypto_error_headers ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/drivers/builtin/include/mbedtls/*.h) + file(GLOB tls_error_headers ${CMAKE_CURRENT_SOURCE_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}/error.c DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_errors.pl - ${error_headers} + ${crypto_error_headers} + ${tls_error_headers} ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/error.fmt ) @@ -170,7 +173,7 @@ if(GEN_FILES) ${CMAKE_CURRENT_BINARY_DIR} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_ssl_debug_helpers.py - ${error_headers} + ${tls_error_headers} ) add_custom_command( @@ -329,6 +332,7 @@ foreach(target IN LISTS target_libraries) target_include_directories(${target} PUBLIC $ $ + $ $ PRIVATE ${MBEDTLS_DIR}/library/ # Needed to include psa_crypto_driver_wrappers.h diff --git a/library/Makefile b/library/Makefile index 014e0caab4..e4fb643ec2 100644 --- a/library/Makefile +++ b/library/Makefile @@ -28,11 +28,13 @@ CFLAGS ?= -O2 WARNING_CFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral LDFLAGS ?= -# Include ../include, ../tf-psa-crypto/include for public headers and . for +# Include ../include, ../tf-psa-crypto/include and +# ../tf-psa-crypto/drivers/builtin/include for public headers and . for # private headers. Note that . needs to be included explicitly for the sake of # library files that are not in the /library directory (which currently means # under /3rdparty). -LOCAL_CFLAGS = $(WARNING_CFLAGS) -I. -I../include -I../tf-psa-crypto/include -D_FILE_OFFSET_BITS=64 +LOCAL_CFLAGS = $(WARNING_CFLAGS) -I. -I../include -I../tf-psa-crypto/include \ + -I../tf-psa-crypto/drivers/builtin/include -D_FILE_OFFSET_BITS=64 LOCAL_LDFLAGS = ifdef DEBUG diff --git a/programs/test/CMakeLists.txt b/programs/test/CMakeLists.txt index 08fb321312..20cdf41890 100644 --- a/programs/test/CMakeLists.txt +++ b/programs/test/CMakeLists.txt @@ -27,7 +27,8 @@ if(TEST_CPP) add_executable(cpp_dummy_build "${cpp_dummy_build_cpp}") target_include_directories(cpp_dummy_build PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/include) + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/drivers/builtin/include) target_link_libraries(cpp_dummy_build ${mbedcrypto_target} ${CMAKE_THREAD_LIBS_INIT}) endif() @@ -36,7 +37,8 @@ if(USE_SHARED_MBEDTLS_LIBRARY AND add_executable(dlopen "dlopen.c") target_include_directories(dlopen PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/include) + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/drivers/builtin/include) target_link_libraries(dlopen ${CMAKE_DL_LIBS}) endif() diff --git a/programs/test/generate_cpp_dummy_build.sh b/programs/test/generate_cpp_dummy_build.sh index ef9996e4c2..d27c7ae124 100755 --- a/programs/test/generate_cpp_dummy_build.sh +++ b/programs/test/generate_cpp_dummy_build.sh @@ -45,6 +45,13 @@ EOF esac done + for header in tf-psa-crypto/drivers/builtin/include/mbedtls/*.h; do + case ${header#tf-psa-crypto/drivers/builtin/include/} in + mbedtls/config_*.h) :;; # not meant for direct inclusion + *) echo "#include \"${header#tf-psa-crypto/drivers/builtin/include/}\"";; + esac + done + for header in tf-psa-crypto/include/psa/*.h; do case ${header#tf-psa-crypto/include/} in psa/crypto_config.h) :;; # not meant for direct inclusion diff --git a/scripts/common.make b/scripts/common.make index 702ef5c670..ead1334ca3 100644 --- a/scripts/common.make +++ b/scripts/common.make @@ -21,7 +21,10 @@ WARNING_CFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral WARNING_CXXFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral LDFLAGS ?= -LOCAL_CFLAGS = $(WARNING_CFLAGS) -I$(MBEDTLS_TEST_PATH)/include -I$(MBEDTLS_PATH)/include -I$(MBEDTLS_PATH)/tf-psa-crypto/include -D_FILE_OFFSET_BITS=64 +LOCAL_CFLAGS = $(WARNING_CFLAGS) -I$(MBEDTLS_TEST_PATH)/include \ + -I$(MBEDTLS_PATH)/include -I$(MBEDTLS_PATH)/tf-psa-crypto/include \ + -I$(MBEDTLS_PATH)/tf-psa-crypto/drivers/builtin/include \ + -D_FILE_OFFSET_BITS=64 LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I$(MBEDTLS_PATH)/include -I$(MBEDTLS_PATH)/tests/include -D_FILE_OFFSET_BITS=64 LOCAL_LDFLAGS = ${MBEDTLS_TEST_OBJS} \ -L$(MBEDTLS_PATH)/library \ diff --git a/scripts/generate_errors.pl b/scripts/generate_errors.pl index b3acb0e6c3..fb95c0d2ca 100755 --- a/scripts/generate_errors.pl +++ b/scripts/generate_errors.pl @@ -3,7 +3,7 @@ # Generate error.c # # Usage: ./generate_errors.pl or scripts/generate_errors.pl without arguments, -# or generate_errors.pl include_dir data_dir error_file +# or generate_errors.pl crypto_include_dir tls_include_dir data_dir error_file # # Copyright The Mbed TLS Contributors # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later @@ -11,22 +11,24 @@ use strict; use warnings; -my ($include_dir, $data_dir, $error_file); +my ($crypto_include_dir, $tls_include_dir, $data_dir, $error_file); if( @ARGV ) { - die "Invalid number of arguments" if scalar @ARGV != 3; - ($include_dir, $data_dir, $error_file) = @ARGV; + die "Invalid number of arguments" if scalar @ARGV != 4; + ($crypto_include_dir, $tls_include_dir, $data_dir, $error_file) = @ARGV; - -d $include_dir or die "No such directory: $include_dir\n"; + -d $crypto_include_dir or die "No such directory: $crypto_include_dir\n"; + -d $tls_include_dir or die "No such directory: $tls_include_dir\n"; -d $data_dir or die "No such directory: $data_dir\n"; } else { - $include_dir = 'include/mbedtls'; + $crypto_include_dir = 'tf-psa-crypto/drivers/builtin/include/mbedtls'; + $tls_include_dir = 'include/mbedtls'; $data_dir = 'scripts/data_files'; $error_file = 'library/error.c'; - unless( -d $include_dir && -d $data_dir ) { + unless( -d $crypto_include_dir && -d $tls_include_dir && -d $data_dir ) { chdir '..' or die; - -d $include_dir && -d $data_dir + -d $crypto_include_dir && -d $tls_include_dir && -d $data_dir or die "Without arguments, must be run from root or scripts\n" } } @@ -48,7 +50,8 @@ open(FORMAT_FILE, '<:crlf', "$error_format_file") or die "Opening error format f my $error_format = ; close(FORMAT_FILE); -my @files = glob qq("$include_dir/*.h"); +my @files = glob qq("$crypto_include_dir/*.h"); +push(@files, glob qq("$tls_include_dir/*.h")); my @necessary_include_files; my @matches; foreach my $file (@files) { diff --git a/scripts/generate_visualc_files.pl b/scripts/generate_visualc_files.pl index b566372e1a..e9267eb450 100755 --- a/scripts/generate_visualc_files.pl +++ b/scripts/generate_visualc_files.pl @@ -23,6 +23,7 @@ my $vsx_sln_file = "$vsx_dir/mbedTLS.sln"; my $programs_dir = 'programs'; my $mbedtls_header_dir = 'include/mbedtls'; +my $drivers_builtin_header_dir = 'tf-psa-crypto/drivers/builtin/include/mbedtls'; my $psa_header_dir = 'tf-psa-crypto/include/psa'; my $source_dir = 'library'; my $test_source_dir = 'tests/src'; @@ -45,6 +46,7 @@ my @thirdparty_source_dirs = qw( my @include_directories = qw( include tf-psa-crypto/include + tf-psa-crypto/drivers/builtin/include 3rdparty/everest/include/ 3rdparty/everest/include/everest 3rdparty/everest/include/everest/vs2013 @@ -102,6 +104,7 @@ sub check_dirs { } return -d $vsx_dir && -d $mbedtls_header_dir + && -d $drivers_builtin_header_dir && -d $psa_header_dir && -d $source_dir && -d $test_source_dir @@ -258,6 +261,7 @@ sub main { my @app_list = get_app_list(); my @header_dirs = ( $mbedtls_header_dir, + $drivers_builtin_header_dir, $psa_header_dir, $test_header_dir, $test_drivers_header_dir, diff --git a/tests/Makefile b/tests/Makefile index d1d5ed9721..7ab4d9c474 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -209,6 +209,8 @@ include/alt-extra/%_alt.h: ../include/%.h perl -p -e 's/^(# *(define|ifndef) +\w+_)H\b/$${1}ALT_H/' $< >$@ include/alt-extra/%_alt.h: ../tf-psa-crypto/include/%.h perl -p -e 's/^(# *(define|ifndef) +\w+_)H\b/$${1}ALT_H/' $< >$@ +include/alt-extra/%_alt.h: ../tf-psa-crypto/drivers/builtin/include/%.h + perl -p -e 's/^(# *(define|ifndef) +\w+_)H\b/$${1}ALT_H/' $< >$@ # Generate test library @@ -217,7 +219,13 @@ include/alt-extra/%_alt.h: ../tf-psa-crypto/include/%.h # library. Add a LIBTESTDRIVER1_/libtestdriver1_ to mbedtls_xxx and psa_xxx # symbols. define libtestdriver1_rewrite := - s!^(\s*#\s*include\s*[\"<])mbedtls/!$${1}libtestdriver1/include/mbedtls/!; \ + s!^(\s*#\s*include\s*[\"<])mbedtls/build_info.h!$${1}libtestdriver1/include/mbedtls/build_info.h!; \ + s!^(\s*#\s*include\s*[\"<])mbedtls/mbedtls_config.h!$${1}libtestdriver1/include/mbedtls/mbedtls_config.h!; \ + s!^(\s*#\s*include\s*[\"<])mbedtls/config_adjust_legacy_crypto.h!$${1}libtestdriver1/include/mbedtls/config_adjust_legacy_crypto.h!; \ + s!^(\s*#\s*include\s*[\"<])mbedtls/config_adjust_x509.h!$${1}libtestdriver1/include/mbedtls/config_adjust_x509.h!; \ + s!^(\s*#\s*include\s*[\"<])mbedtls/config_adjust_ssl.h!$${1}libtestdriver1/include/mbedtls/config_adjust_ssl.h!; \ + s!^(\s*#\s*include\s*[\"<])mbedtls/check_config.h!$${1}libtestdriver1/include/mbedtls/check_config.h!; \ + s!^(\s*#\s*include\s*[\"<])mbedtls/!$${1}libtestdriver1/tf-psa-crypto/drivers/builtin/include/mbedtls/!; \ s!^(\s*#\s*include\s*[\"<])psa/!$${1}libtestdriver1/tf-psa-crypto/include/psa/!; \ next if /^\s*#\s*include/; \ s/\b(?=MBEDTLS_|PSA_)/LIBTESTDRIVER1_/g; \ @@ -255,6 +263,7 @@ libtestdriver1.a: perl -pi -e '$(libtestdriver1_rewrite)' ./libtestdriver1/library/*.[ch] perl -pi -e '$(libtestdriver1_rewrite)' ./libtestdriver1/include/*/*.h perl -pi -e '$(libtestdriver1_rewrite)' ./libtestdriver1/tf-psa-crypto/include/*/*.h + perl -pi -e '$(libtestdriver1_rewrite)' ./libtestdriver1/tf-psa-crypto/drivers/builtin/include/*/*.h $(MAKE) -C ./libtestdriver1/library CFLAGS="-I../../ $(CFLAGS)" LDFLAGS="$(LDFLAGS)" libmbedcrypto.a cp ./libtestdriver1/library/libmbedcrypto.a ../library/libtestdriver1.a diff --git a/tests/psa-client-server/psasim/Makefile b/tests/psa-client-server/psasim/Makefile index 4b0c46e47c..02b639f2c4 100644 --- a/tests/psa-client-server/psasim/Makefile +++ b/tests/psa-client-server/psasim/Makefile @@ -8,7 +8,9 @@ LIBPSACLIENT := -Llibpsaclient/ -lmbedcrypto -lmbedx509 -lmbedtls LIBPSASERVER := -Llibpsaserver/ -lmbedcrypto MBEDTLS_ROOT_PATH = ../../.. -COMMON_INCLUDE := -I./include -I$(MBEDTLS_ROOT_PATH)/include -I$(MBEDTLS_ROOT_PATH)/tf-psa-crypto/include +COMMON_INCLUDE := -I./include -I$(MBEDTLS_ROOT_PATH)/include \ + -I$(MBEDTLS_ROOT_PATH)/tf-psa-crypto/include \ + -I$(MBEDTLS_ROOT_PATH)/tf-psa-crypto/drivers/builtin/include GENERATED_H_FILES = include/psa_manifest/manifest.h \ include/psa_manifest/pid.h \ diff --git a/tests/scripts/check_names.py b/tests/scripts/check_names.py index 01c3f3c11d..142233c6b3 100755 --- a/tests/scripts/check_names.py +++ b/tests/scripts/check_names.py @@ -239,6 +239,7 @@ class CodeParser(): "include/mbedtls/*.h", "include/psa/*.h", "tf-psa-crypto/include/psa/*.h", + "tf-psa-crypto/drivers/builtin/include/mbedtls/*.h", "3rdparty/everest/include/everest/everest.h", "3rdparty/everest/include/everest/x25519.h" ]) @@ -253,6 +254,7 @@ class CodeParser(): "include/mbedtls/*.h", "include/psa/*.h", "tf-psa-crypto/include/psa/*.h", + "tf-psa-crypto/drivers/builtin/include/mbedtls/*.h", "library/*.h", "library/*.c", "3rdparty/everest/include/everest/everest.h", @@ -262,6 +264,7 @@ class CodeParser(): "include/mbedtls/*.h", "include/psa/*.h", "tf-psa-crypto/include/psa/*.h", + "tf-psa-crypto/drivers/builtin/include/mbedtls/*.h", "library/*.h", "3rdparty/everest/include/everest/everest.h", "3rdparty/everest/include/everest/x25519.h" @@ -270,6 +273,7 @@ class CodeParser(): "include/mbedtls/*.h", "include/psa/*.h", "tf-psa-crypto/include/psa/*.h", + "tf-psa-crypto/drivers/builtin/include/mbedtls/*.h", "library/*.h", "3rdparty/everest/include/everest/everest.h", "3rdparty/everest/include/everest/x25519.h", diff --git a/tests/scripts/depends.py b/tests/scripts/depends.py index 1990cd21ca..fa17e134d3 100755 --- a/tests/scripts/depends.py +++ b/tests/scripts/depends.py @@ -369,7 +369,11 @@ class CipherInfo: # pylint: disable=too-few-public-methods """Collect data about cipher.h.""" def __init__(self): self.base_symbols = set() - with open('include/mbedtls/cipher.h', encoding="utf-8") as fh: + if os.path.isdir('tf-psa-crypto'): + cipher_h_path = 'tf-psa-crypto/drivers/builtin/include/mbedtls/cipher.h' + else: + cipher_h_path = 'include/mbedtls/cipher.h' + with open(cipher_h_path, encoding="utf-8") as fh: for line in fh: m = re.match(r' *MBEDTLS_CIPHER_ID_(\w+),', line) if m and m.group(1) not in ['NONE', 'NULL', '3DES']: diff --git a/tests/scripts/test_psa_compliance.py b/tests/scripts/test_psa_compliance.py index b500fe5b51..d4e4979890 100755 --- a/tests/scripts/test_psa_compliance.py +++ b/tests/scripts/test_psa_compliance.py @@ -73,9 +73,14 @@ def main(library_build_dir: str): os.mkdir(build_dir) os.chdir(build_dir) - extra_includes = (';{}/drivers/builtin/include'.format(root_dir) - if in_tf_psa_crypto_repo else - ';{}/tf-psa-crypto/include'.format(root_dir)) + # Temporary while the PSA compliance test suite is still run as part + # of Mbed TLS testing. When it is not the case anymore, the second case + # can be removed. + if in_tf_psa_crypto_repo: + extra_includes = ';{}/drivers/builtin/include'.format(root_dir) + elif os.path.isdir(os.path.join(root_dir, 'tf-psa-crypto')): + extra_includes = ';{}/tf-psa-crypto/include'.format(root_dir) + \ + (';{}/tf-psa-crypto/drivers/builtin/include'.format(root_dir)) #pylint: disable=bad-continuation subprocess.check_call([ diff --git a/tests/scripts/test_psa_constant_names.py b/tests/scripts/test_psa_constant_names.py index 6c9d905106..f35351c079 100755 --- a/tests/scripts/test_psa_constant_names.py +++ b/tests/scripts/test_psa_constant_names.py @@ -161,7 +161,9 @@ TEST_SUITES = ['tests/suites/test_suite_psa_crypto_metadata.data'] def main(): parser = argparse.ArgumentParser(description=globals()['__doc__']) parser.add_argument('--include', '-I', - action='append', default=['tf-psa-crypto/include', 'include'], + action='append', default=['tf-psa-crypto/include', + 'tf-psa-crypto/drivers/builtin/include', + 'include'], help='Directory for header files') parser.add_argument('--keep-c', action='store_true', dest='keep_c', default=False, diff --git a/include/mbedtls/aes.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/aes.h similarity index 100% rename from include/mbedtls/aes.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/aes.h diff --git a/include/mbedtls/aria.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/aria.h similarity index 100% rename from include/mbedtls/aria.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/aria.h diff --git a/include/mbedtls/asn1.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/asn1.h similarity index 100% rename from include/mbedtls/asn1.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/asn1.h diff --git a/include/mbedtls/asn1write.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/asn1write.h similarity index 100% rename from include/mbedtls/asn1write.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/asn1write.h diff --git a/include/mbedtls/base64.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/base64.h similarity index 100% rename from include/mbedtls/base64.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/base64.h diff --git a/include/mbedtls/bignum.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/bignum.h similarity index 100% rename from include/mbedtls/bignum.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/bignum.h diff --git a/include/mbedtls/block_cipher.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/block_cipher.h similarity index 100% rename from include/mbedtls/block_cipher.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/block_cipher.h diff --git a/include/mbedtls/camellia.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/camellia.h similarity index 100% rename from include/mbedtls/camellia.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/camellia.h diff --git a/include/mbedtls/ccm.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/ccm.h similarity index 100% rename from include/mbedtls/ccm.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/ccm.h diff --git a/include/mbedtls/chacha20.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/chacha20.h similarity index 100% rename from include/mbedtls/chacha20.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/chacha20.h diff --git a/include/mbedtls/chachapoly.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/chachapoly.h similarity index 100% rename from include/mbedtls/chachapoly.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/chachapoly.h diff --git a/include/mbedtls/cipher.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/cipher.h similarity index 100% rename from include/mbedtls/cipher.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/cipher.h diff --git a/include/mbedtls/cmac.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/cmac.h similarity index 100% rename from include/mbedtls/cmac.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/cmac.h diff --git a/include/mbedtls/config_adjust_legacy_from_psa.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/config_adjust_legacy_from_psa.h similarity index 100% rename from include/mbedtls/config_adjust_legacy_from_psa.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/config_adjust_legacy_from_psa.h diff --git a/include/mbedtls/config_adjust_psa_superset_legacy.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/config_adjust_psa_superset_legacy.h similarity index 100% rename from include/mbedtls/config_adjust_psa_superset_legacy.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/config_adjust_psa_superset_legacy.h diff --git a/include/mbedtls/config_psa.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/config_psa.h similarity index 100% rename from include/mbedtls/config_psa.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/config_psa.h diff --git a/include/mbedtls/constant_time.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/constant_time.h similarity index 100% rename from include/mbedtls/constant_time.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/constant_time.h diff --git a/include/mbedtls/ctr_drbg.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/ctr_drbg.h similarity index 100% rename from include/mbedtls/ctr_drbg.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/ctr_drbg.h diff --git a/include/mbedtls/des.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/des.h similarity index 100% rename from include/mbedtls/des.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/des.h diff --git a/include/mbedtls/dhm.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/dhm.h similarity index 100% rename from include/mbedtls/dhm.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/dhm.h diff --git a/include/mbedtls/ecdh.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/ecdh.h similarity index 100% rename from include/mbedtls/ecdh.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/ecdh.h diff --git a/include/mbedtls/ecdsa.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/ecdsa.h similarity index 100% rename from include/mbedtls/ecdsa.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/ecdsa.h diff --git a/include/mbedtls/ecjpake.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/ecjpake.h similarity index 100% rename from include/mbedtls/ecjpake.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/ecjpake.h diff --git a/include/mbedtls/ecp.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/ecp.h similarity index 100% rename from include/mbedtls/ecp.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/ecp.h diff --git a/include/mbedtls/entropy.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/entropy.h similarity index 100% rename from include/mbedtls/entropy.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/entropy.h diff --git a/include/mbedtls/error.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/error.h similarity index 100% rename from include/mbedtls/error.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/error.h diff --git a/include/mbedtls/gcm.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/gcm.h similarity index 100% rename from include/mbedtls/gcm.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/gcm.h diff --git a/include/mbedtls/hmac_drbg.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/hmac_drbg.h similarity index 100% rename from include/mbedtls/hmac_drbg.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/hmac_drbg.h diff --git a/include/mbedtls/lms.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/lms.h similarity index 100% rename from include/mbedtls/lms.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/lms.h diff --git a/include/mbedtls/md.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/md.h similarity index 100% rename from include/mbedtls/md.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/md.h diff --git a/include/mbedtls/md5.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/md5.h similarity index 100% rename from include/mbedtls/md5.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/md5.h diff --git a/include/mbedtls/memory_buffer_alloc.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/memory_buffer_alloc.h similarity index 100% rename from include/mbedtls/memory_buffer_alloc.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/memory_buffer_alloc.h diff --git a/include/mbedtls/nist_kw.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/nist_kw.h similarity index 100% rename from include/mbedtls/nist_kw.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/nist_kw.h diff --git a/include/mbedtls/oid.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/oid.h similarity index 100% rename from include/mbedtls/oid.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/oid.h diff --git a/include/mbedtls/pem.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/pem.h similarity index 100% rename from include/mbedtls/pem.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/pem.h diff --git a/include/mbedtls/pk.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/pk.h similarity index 100% rename from include/mbedtls/pk.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/pk.h diff --git a/include/mbedtls/pkcs12.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/pkcs12.h similarity index 100% rename from include/mbedtls/pkcs12.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/pkcs12.h diff --git a/include/mbedtls/pkcs5.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/pkcs5.h similarity index 100% rename from include/mbedtls/pkcs5.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/pkcs5.h diff --git a/include/mbedtls/platform.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/platform.h similarity index 100% rename from include/mbedtls/platform.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/platform.h diff --git a/include/mbedtls/platform_time.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/platform_time.h similarity index 100% rename from include/mbedtls/platform_time.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/platform_time.h diff --git a/include/mbedtls/platform_util.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/platform_util.h similarity index 100% rename from include/mbedtls/platform_util.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/platform_util.h diff --git a/include/mbedtls/poly1305.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/poly1305.h similarity index 100% rename from include/mbedtls/poly1305.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/poly1305.h diff --git a/include/mbedtls/private_access.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/private_access.h similarity index 100% rename from include/mbedtls/private_access.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/private_access.h diff --git a/include/mbedtls/psa_util.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/psa_util.h similarity index 100% rename from include/mbedtls/psa_util.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/psa_util.h diff --git a/include/mbedtls/ripemd160.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/ripemd160.h similarity index 100% rename from include/mbedtls/ripemd160.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/ripemd160.h diff --git a/include/mbedtls/rsa.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/rsa.h similarity index 100% rename from include/mbedtls/rsa.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/rsa.h diff --git a/include/mbedtls/sha1.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/sha1.h similarity index 100% rename from include/mbedtls/sha1.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/sha1.h diff --git a/include/mbedtls/sha256.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/sha256.h similarity index 100% rename from include/mbedtls/sha256.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/sha256.h diff --git a/include/mbedtls/sha3.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/sha3.h similarity index 100% rename from include/mbedtls/sha3.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/sha3.h diff --git a/include/mbedtls/sha512.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/sha512.h similarity index 100% rename from include/mbedtls/sha512.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/sha512.h diff --git a/include/mbedtls/threading.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/threading.h similarity index 100% rename from include/mbedtls/threading.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/threading.h diff --git a/include/mbedtls/timing.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/timing.h similarity index 100% rename from include/mbedtls/timing.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/timing.h diff --git a/include/mbedtls/version.h b/tf-psa-crypto/drivers/builtin/include/mbedtls/version.h similarity index 100% rename from include/mbedtls/version.h rename to tf-psa-crypto/drivers/builtin/include/mbedtls/version.h diff --git a/tf-psa-crypto/include/CMakeLists.txt b/tf-psa-crypto/include/CMakeLists.txt index dea92fe6ef..bca86ff4ee 100644 --- a/tf-psa-crypto/include/CMakeLists.txt +++ b/tf-psa-crypto/include/CMakeLists.txt @@ -1,14 +1,17 @@ -option(INSTALL_PSA_CRYPTO_HEADERS "Install PSA Crypto headers." ON) - -if(INSTALL_PSA_CRYPTO_HEADERS) +option(INSTALL_TF_PSA_CRYPTO_HEADERS "Install TF PSA Crypto headers." ON) +if(INSTALL_TF_PSA_CRYPTO_HEADERS) file(GLOB psa_headers "psa/*.h") + file(GLOB mbedtls_crypto_headers "../drivers/builtin/include/mbedtls/*.h") install(FILES ${psa_headers} DESTINATION include/psa PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) -endif(INSTALL_PSA_CRYPTO_HEADERS) + install(FILES ${mbedtls_crypto_headers} + DESTINATION include/mbedtls + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) +endif(INSTALL_TF_PSA_CRYPTO_HEADERS) # Make includes available in an out-of-source build. ssl-opt.sh requires it. if (ENABLE_TESTING AND NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})