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 0
36#define MBEDTLS_VERSION_NUMBER 0x03060000
37#define MBEDTLS_VERSION_STRING "3.6.0"
38#define MBEDTLS_VERSION_STRING_FULL "Mbed TLS 3.6.0"
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
105#if !defined(MBEDTLS_CONFIG_FILE)
108#include MBEDTLS_CONFIG_FILE
111#if defined(MBEDTLS_CONFIG_VERSION) && ( \
112 MBEDTLS_CONFIG_VERSION < 0x03000000 || \
113 MBEDTLS_CONFIG_VERSION > MBEDTLS_VERSION_NUMBER)
114#error "Invalid config version, defined value of MBEDTLS_CONFIG_VERSION is unsupported"
122#if defined(MBEDTLS_USER_CONFIG_FILE)
123#include MBEDTLS_USER_CONFIG_FILE
127#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
128#if defined(MBEDTLS_PSA_CRYPTO_CONFIG_FILE)
129#include MBEDTLS_PSA_CRYPTO_CONFIG_FILE
133#if defined(MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE)
134#include MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE
142#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH) && defined(MBEDTLS_CTR_DRBG_C)
143#define MBEDTLS_CTR_DRBG_USE_128_BIT_KEY
149#if defined(MBEDTLS_PKCS5_C)
160#if defined(MBEDTLS_PSA_CRYPTO_CONFIG) || \
161 defined(MBEDTLS_PSA_CRYPTO_C) || \
162 defined(MBEDTLS_PSA_CRYPTO_CLIENT)
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)