blob: 2fa14ebc3693ad53c8fb6108db0c1264263d5313 [file] [log] [blame]
Fabio Utzigac18eec2017-12-11 08:08:44 -02001/**
2 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
3 * SPDX-License-Identifier: Apache-2.0
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may
6 * not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 * This file is part of mbed TLS (https://tls.mbed.org)
18 */
19
20#ifndef MBEDTLS_CONFIG_H
21#define MBEDTLS_CONFIG_H
22
23#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
24#define _CRT_SECURE_NO_DEPRECATE 1
25#endif
26
27//#define MBEDTLS_PLATFORM_MEMORY
28#define MBEDTLS_FS_IO
29//#define MBEDTLS_VERSION_FEATURES
30#define MBEDTLS_ASN1_PARSE_C
31#define MBEDTLS_BASE64_C
32#define MBEDTLS_BIGNUM_C
33#define MBEDTLS_MD_C
34#define MBEDTLS_OID_C
35#define MBEDTLS_PEM_PARSE_C
36
37/**
38 * \def MBEDTLS_PLATFORM_C
39 *
40 * Enable the platform abstraction layer that allows you to re-assign
41 * functions like calloc(), free(), snprintf(), printf(), fprintf(), exit().
42 *
43 * Enabling MBEDTLS_PLATFORM_C enables to use of MBEDTLS_PLATFORM_XXX_ALT
44 * or MBEDTLS_PLATFORM_XXX_MACRO directives, allowing the functions mentioned
45 * above to be specified at runtime or compile time respectively.
46 *
47 * \note This abstraction layer must be enabled on Windows (including MSYS2)
48 * as other module rely on it for a fixed snprintf implementation.
49 *
50 * Module: library/platform.c
51 * Caller: Most other .c files
52 *
53 * This module enables abstraction of common (libc) functions.
54 */
55#define MBEDTLS_PLATFORM_C
56
57/**
58 * \def MBEDTLS_TIMING_C
59 *
60 * Enable the semi-portable timing interface.
61 *
62 * \note The provided implementation only works on POSIX/Unix (including Linux,
63 * BSD and OS X) and Windows. On other platforms, you can either disable that
64 * module and provide your own implementations of the callbacks needed by
65 * \c mbedtls_ssl_set_timer_cb() for DTLS, or leave it enabled and provide
66 * your own implementation of the whole module by setting
67 * \c MBEDTLS_TIMING_ALT in the current file.
68 *
69 * \note See also our Knowledge Base article about porting to a new
70 * environment:
71 * https://tls.mbed.org/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS
72 *
73 * Module: library/timing.c
74 * Caller: library/havege.c
75 *
76 * This module is used by the HAVEGE random number generator.
77 */
78#define MBEDTLS_TIMING_C
79
80//#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */
81//#define MBEDTLS_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */
82//#define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */
83
84#if defined(TARGET_LIKE_MBED) && defined(YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE)
85#include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE
86#endif
87
88#if defined(YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE)
89#include YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE
90#elif defined(MBEDTLS_USER_CONFIG_FILE)
91#include MBEDTLS_USER_CONFIG_FILE
92#endif
93
94#include "check_config.h"
95
96#endif /* MBEDTLS_CONFIG_H */