14#ifndef MBEDTLS_BUILD_INFO_H
15#define MBEDTLS_BUILD_INFO_H
27#define MBEDTLS_VERSION_MAJOR 3
28#define MBEDTLS_VERSION_MINOR 6
29#define MBEDTLS_VERSION_PATCH 2
36#define MBEDTLS_VERSION_NUMBER 0x03060200
37#define MBEDTLS_VERSION_STRING "3.6.2"
38#define MBEDTLS_VERSION_STRING_FULL "Mbed TLS 3.6.2"
42#if !defined(MBEDTLS_ARCH_IS_ARM64) && \
43 (defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC))
44#define MBEDTLS_ARCH_IS_ARM64
47#if !defined(MBEDTLS_ARCH_IS_ARM32) && \
48 (defined(__arm__) || defined(_M_ARM) || \
49 defined(_M_ARMT) || defined(__thumb__) || defined(__thumb2__))
50#define MBEDTLS_ARCH_IS_ARM32
53#if !defined(MBEDTLS_ARCH_IS_X64) && \
54 (defined(__amd64__) || defined(__x86_64__) || \
55 ((defined(_M_X64) || defined(_M_AMD64)) && !defined(_M_ARM64EC)))
56#define MBEDTLS_ARCH_IS_X64
59#if !defined(MBEDTLS_ARCH_IS_X86) && \
60 (defined(__i386__) || defined(_X86_) || \
61 (defined(_M_IX86) && !defined(_M_I86)))
62#define MBEDTLS_ARCH_IS_X86
65#if !defined(MBEDTLS_PLATFORM_IS_WINDOWS_ON_ARM64) && \
66 (defined(_M_ARM64) || defined(_M_ARM64EC))
67#define MBEDTLS_PLATFORM_IS_WINDOWS_ON_ARM64
71#if !defined(MBEDTLS_ARCH_IS_ARMV8_A)
72#if defined(__ARM_ARCH) && defined(__ARM_ARCH_PROFILE)
73#if (__ARM_ARCH >= 8) && (__ARM_ARCH_PROFILE == 'A')
75#define MBEDTLS_ARCH_IS_ARMV8_A
77#elif defined(__ARM_ARCH_8A)
79#define MBEDTLS_ARCH_IS_ARMV8_A
80#elif defined(_M_ARM64) || defined(_M_ARM64EC)
82#define MBEDTLS_ARCH_IS_ARMV8_A
86#if defined(__GNUC__) && !defined(__ARMCC_VERSION) && !defined(__clang__) \
87 && !defined(__llvm__) && !defined(__INTEL_COMPILER)
89#define MBEDTLS_COMPILER_IS_GCC
90#define MBEDTLS_GCC_VERSION \
91 (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
94#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
95#define _CRT_SECURE_NO_DEPRECATE 1
99#if (defined(__ARMCC_VERSION) || defined(_MSC_VER)) && \
100 !defined(inline) && !defined(__cplusplus)
101#define inline __inline
104#if defined(MBEDTLS_CONFIG_FILES_READ)
105#error "Something went wrong: MBEDTLS_CONFIG_FILES_READ defined before reading the config files!"
107#if defined(MBEDTLS_CONFIG_IS_FINALIZED)
108#error "Something went wrong: MBEDTLS_CONFIG_IS_FINALIZED defined before reading the config files!"
112#if !defined(MBEDTLS_CONFIG_FILE)
115#include MBEDTLS_CONFIG_FILE
118#if defined(MBEDTLS_CONFIG_VERSION) && ( \
119 MBEDTLS_CONFIG_VERSION < 0x03000000 || \
120 MBEDTLS_CONFIG_VERSION > MBEDTLS_VERSION_NUMBER)
121#error "Invalid config version, defined value of MBEDTLS_CONFIG_VERSION is unsupported"
129#if defined(MBEDTLS_USER_CONFIG_FILE)
130#include MBEDTLS_USER_CONFIG_FILE
134#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
135#if defined(MBEDTLS_PSA_CRYPTO_CONFIG_FILE)
136#include MBEDTLS_PSA_CRYPTO_CONFIG_FILE
140#if defined(MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE)
141#include MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE
149#define MBEDTLS_CONFIG_FILES_READ
155#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH) && defined(MBEDTLS_CTR_DRBG_C)
156#define MBEDTLS_CTR_DRBG_USE_128_BIT_KEY
162#if defined(MBEDTLS_PKCS5_C)
173#if defined(MBEDTLS_PSA_CRYPTO_CONFIG) || \
174 defined(MBEDTLS_PSA_CRYPTO_C) || \
175 defined(MBEDTLS_PSA_CRYPTO_CLIENT)
190#define MBEDTLS_CONFIG_IS_FINALIZED
Consistency checks for configuration options.
Adjust legacy configuration configuration.
Adjust TLS configuration.
Adjust X.509 configuration.
PSA crypto configuration options (set of defines)
PSA crypto configuration options (set of defines)
Configuration options (set of defines)