Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of OmniWheels by
check_config.h
00001 /** 00002 * \file check_config.h 00003 * 00004 * \brief Consistency checks for configuration options 00005 */ 00006 /* 00007 * Copyright (C) 2006-2016, ARM Limited, All Rights Reserved 00008 * SPDX-License-Identifier: Apache-2.0 00009 * 00010 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00011 * not use this file except in compliance with the License. 00012 * You may obtain a copy of the License at 00013 * 00014 * http://www.apache.org/licenses/LICENSE-2.0 00015 * 00016 * Unless required by applicable law or agreed to in writing, software 00017 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00018 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00019 * See the License for the specific language governing permissions and 00020 * limitations under the License. 00021 * 00022 * This file is part of mbed TLS (https://tls.mbed.org) 00023 */ 00024 00025 /* 00026 * It is recommended to include this file from your config.h 00027 * in order to catch dependency issues early. 00028 */ 00029 00030 #ifndef MBEDTLS_CHECK_CONFIG_H 00031 #define MBEDTLS_CHECK_CONFIG_H 00032 00033 /* 00034 * We assume CHAR_BIT is 8 in many places. In practice, this is true on our 00035 * target platforms, so not an issue, but let's just be extra sure. 00036 */ 00037 #include <limits.h> 00038 #if CHAR_BIT != 8 00039 #error "mbed TLS requires a platform with 8-bit chars" 00040 #endif 00041 00042 #if defined(_WIN32) 00043 #if !defined(MBEDTLS_PLATFORM_C) 00044 #error "MBEDTLS_PLATFORM_C is required on Windows" 00045 #endif 00046 00047 /* Fix the config here. Not convenient to put an #ifdef _WIN32 in config.h as 00048 * it would confuse config.pl. */ 00049 #if !defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) && \ 00050 !defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) 00051 #define MBEDTLS_PLATFORM_SNPRINTF_ALT 00052 #endif 00053 #endif /* _WIN32 */ 00054 00055 #if defined(TARGET_LIKE_MBED) && \ 00056 ( defined(MBEDTLS_NET_C) || defined(MBEDTLS_TIMING_C) ) 00057 #error "The NET and TIMING modules are not available for mbed OS - please use the network and timing functions provided by mbed OS" 00058 #endif 00059 00060 #if defined(MBEDTLS_DEPRECATED_WARNING) && \ 00061 !defined(__GNUC__) && !defined(__clang__) 00062 #error "MBEDTLS_DEPRECATED_WARNING only works with GCC and Clang" 00063 #endif 00064 00065 #if defined(MBEDTLS_HAVE_TIME_DATE) && !defined(MBEDTLS_HAVE_TIME) 00066 #error "MBEDTLS_HAVE_TIME_DATE without MBEDTLS_HAVE_TIME does not make sense" 00067 #endif 00068 00069 #if defined(MBEDTLS_AESNI_C) && !defined(MBEDTLS_HAVE_ASM) 00070 #error "MBEDTLS_AESNI_C defined, but not all prerequisites" 00071 #endif 00072 00073 #if defined(MBEDTLS_CTR_DRBG_C) && !defined(MBEDTLS_AES_C) 00074 #error "MBEDTLS_CTR_DRBG_C defined, but not all prerequisites" 00075 #endif 00076 00077 #if defined(MBEDTLS_DHM_C) && !defined(MBEDTLS_BIGNUM_C) 00078 #error "MBEDTLS_DHM_C defined, but not all prerequisites" 00079 #endif 00080 00081 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT) && !defined(MBEDTLS_SSL_TRUNCATED_HMAC) 00082 #error "MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT defined, but not all prerequisites" 00083 #endif 00084 00085 #if defined(MBEDTLS_CMAC_C) && \ 00086 !defined(MBEDTLS_AES_C) && !defined(MBEDTLS_DES_C) 00087 #error "MBEDTLS_CMAC_C defined, but not all prerequisites" 00088 #endif 00089 00090 #if defined(MBEDTLS_ECDH_C) && !defined(MBEDTLS_ECP_C) 00091 #error "MBEDTLS_ECDH_C defined, but not all prerequisites" 00092 #endif 00093 00094 #if defined(MBEDTLS_ECDSA_C) && \ 00095 ( !defined(MBEDTLS_ECP_C) || \ 00096 !defined(MBEDTLS_ASN1_PARSE_C) || \ 00097 !defined(MBEDTLS_ASN1_WRITE_C) ) 00098 #error "MBEDTLS_ECDSA_C defined, but not all prerequisites" 00099 #endif 00100 00101 #if defined(MBEDTLS_ECJPAKE_C) && \ 00102 ( !defined(MBEDTLS_ECP_C) || !defined(MBEDTLS_MD_C) ) 00103 #error "MBEDTLS_ECJPAKE_C defined, but not all prerequisites" 00104 #endif 00105 00106 #if defined(MBEDTLS_ECDSA_DETERMINISTIC) && !defined(MBEDTLS_HMAC_DRBG_C) 00107 #error "MBEDTLS_ECDSA_DETERMINISTIC defined, but not all prerequisites" 00108 #endif 00109 00110 #if defined(MBEDTLS_ECP_C) && ( !defined(MBEDTLS_BIGNUM_C) || ( \ 00111 !defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) && \ 00112 !defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) && \ 00113 !defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) && \ 00114 !defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) && \ 00115 !defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) && \ 00116 !defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) && \ 00117 !defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) && \ 00118 !defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) && \ 00119 !defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) && \ 00120 !defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) && \ 00121 !defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) ) ) 00122 #error "MBEDTLS_ECP_C defined, but not all prerequisites" 00123 #endif 00124 00125 #if defined(MBEDTLS_ENTROPY_C) && (!defined(MBEDTLS_SHA512_C) && \ 00126 !defined(MBEDTLS_SHA256_C)) 00127 #error "MBEDTLS_ENTROPY_C defined, but not all prerequisites" 00128 #endif 00129 #if defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_SHA512_C) && \ 00130 defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN) && (MBEDTLS_CTR_DRBG_ENTROPY_LEN > 64) 00131 #error "MBEDTLS_CTR_DRBG_ENTROPY_LEN value too high" 00132 #endif 00133 #if defined(MBEDTLS_ENTROPY_C) && \ 00134 ( !defined(MBEDTLS_SHA512_C) || defined(MBEDTLS_ENTROPY_FORCE_SHA256) ) \ 00135 && defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN) && (MBEDTLS_CTR_DRBG_ENTROPY_LEN > 32) 00136 #error "MBEDTLS_CTR_DRBG_ENTROPY_LEN value too high" 00137 #endif 00138 #if defined(MBEDTLS_ENTROPY_C) && \ 00139 defined(MBEDTLS_ENTROPY_FORCE_SHA256) && !defined(MBEDTLS_SHA256_C) 00140 #error "MBEDTLS_ENTROPY_FORCE_SHA256 defined, but not all prerequisites" 00141 #endif 00142 00143 #if defined(MBEDTLS_TEST_NULL_ENTROPY) && \ 00144 ( !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) ) 00145 #error "MBEDTLS_TEST_NULL_ENTROPY defined, but not all prerequisites" 00146 #endif 00147 #if defined(MBEDTLS_TEST_NULL_ENTROPY) && \ 00148 ( defined(MBEDTLS_ENTROPY_NV_SEED) || defined(MBEDTLS_ENTROPY_HARDWARE_ALT) || \ 00149 defined(MBEDTLS_HAVEGE_C) ) 00150 #error "MBEDTLS_TEST_NULL_ENTROPY defined, but entropy sources too" 00151 #endif 00152 00153 #if defined(MBEDTLS_GCM_C) && ( \ 00154 !defined(MBEDTLS_AES_C) && !defined(MBEDTLS_CAMELLIA_C) ) 00155 #error "MBEDTLS_GCM_C defined, but not all prerequisites" 00156 #endif 00157 00158 #if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT) 00159 #error "MBEDTLS_ECP_RANDOMIZE_JAC_ALT defined, but not all prerequisites" 00160 #endif 00161 00162 #if defined(MBEDTLS_ECP_ADD_MIXED_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT) 00163 #error "MBEDTLS_ECP_ADD_MIXED_ALT defined, but not all prerequisites" 00164 #endif 00165 00166 #if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT) 00167 #error "MBEDTLS_ECP_DOUBLE_JAC_ALT defined, but not all prerequisites" 00168 #endif 00169 00170 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT) 00171 #error "MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT defined, but not all prerequisites" 00172 #endif 00173 00174 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT) 00175 #error "MBEDTLS_ECP_NORMALIZE_JAC_ALT defined, but not all prerequisites" 00176 #endif 00177 00178 #if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT) 00179 #error "MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT defined, but not all prerequisites" 00180 #endif 00181 00182 #if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT) 00183 #error "MBEDTLS_ECP_RANDOMIZE_MXZ_ALT defined, but not all prerequisites" 00184 #endif 00185 00186 #if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT) 00187 #error "MBEDTLS_ECP_NORMALIZE_MXZ_ALT defined, but not all prerequisites" 00188 #endif 00189 00190 #if defined(MBEDTLS_HAVEGE_C) && !defined(MBEDTLS_TIMING_C) 00191 #error "MBEDTLS_HAVEGE_C defined, but not all prerequisites" 00192 #endif 00193 00194 #if defined(MBEDTLS_HMAC_DRBG_C) && !defined(MBEDTLS_MD_C) 00195 #error "MBEDTLS_HMAC_DRBG_C defined, but not all prerequisites" 00196 #endif 00197 00198 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) && \ 00199 ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) ) 00200 #error "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED defined, but not all prerequisites" 00201 #endif 00202 00203 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) && \ 00204 ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) ) 00205 #error "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED defined, but not all prerequisites" 00206 #endif 00207 00208 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) && !defined(MBEDTLS_DHM_C) 00209 #error "MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED defined, but not all prerequisites" 00210 #endif 00211 00212 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) && \ 00213 !defined(MBEDTLS_ECDH_C) 00214 #error "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED defined, but not all prerequisites" 00215 #endif 00216 00217 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) && \ 00218 ( !defined(MBEDTLS_DHM_C) || !defined(MBEDTLS_RSA_C) || \ 00219 !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) ) 00220 #error "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED defined, but not all prerequisites" 00221 #endif 00222 00223 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) && \ 00224 ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_RSA_C) || \ 00225 !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) ) 00226 #error "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED defined, but not all prerequisites" 00227 #endif 00228 00229 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) && \ 00230 ( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_ECDSA_C) || \ 00231 !defined(MBEDTLS_X509_CRT_PARSE_C) ) 00232 #error "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED defined, but not all prerequisites" 00233 #endif 00234 00235 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) && \ 00236 ( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) || \ 00237 !defined(MBEDTLS_PKCS1_V15) ) 00238 #error "MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED defined, but not all prerequisites" 00239 #endif 00240 00241 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) && \ 00242 ( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) || \ 00243 !defined(MBEDTLS_PKCS1_V15) ) 00244 #error "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED defined, but not all prerequisites" 00245 #endif 00246 00247 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ 00248 ( !defined(MBEDTLS_ECJPAKE_C) || !defined(MBEDTLS_SHA256_C) || \ 00249 !defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) ) 00250 #error "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED defined, but not all prerequisites" 00251 #endif 00252 00253 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) && \ 00254 ( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) ) 00255 #error "MBEDTLS_MEMORY_BUFFER_ALLOC_C defined, but not all prerequisites" 00256 #endif 00257 00258 #if defined(MBEDTLS_PADLOCK_C) && !defined(MBEDTLS_HAVE_ASM) 00259 #error "MBEDTLS_PADLOCK_C defined, but not all prerequisites" 00260 #endif 00261 00262 #if defined(MBEDTLS_PEM_PARSE_C) && !defined(MBEDTLS_BASE64_C) 00263 #error "MBEDTLS_PEM_PARSE_C defined, but not all prerequisites" 00264 #endif 00265 00266 #if defined(MBEDTLS_PEM_WRITE_C) && !defined(MBEDTLS_BASE64_C) 00267 #error "MBEDTLS_PEM_WRITE_C defined, but not all prerequisites" 00268 #endif 00269 00270 #if defined(MBEDTLS_PK_C) && \ 00271 ( !defined(MBEDTLS_RSA_C) && !defined(MBEDTLS_ECP_C) ) 00272 #error "MBEDTLS_PK_C defined, but not all prerequisites" 00273 #endif 00274 00275 #if defined(MBEDTLS_PK_PARSE_C) && !defined(MBEDTLS_PK_C) 00276 #error "MBEDTLS_PK_PARSE_C defined, but not all prerequisites" 00277 #endif 00278 00279 #if defined(MBEDTLS_PK_WRITE_C) && !defined(MBEDTLS_PK_C) 00280 #error "MBEDTLS_PK_WRITE_C defined, but not all prerequisites" 00281 #endif 00282 00283 #if defined(MBEDTLS_PKCS11_C) && !defined(MBEDTLS_PK_C) 00284 #error "MBEDTLS_PKCS11_C defined, but not all prerequisites" 00285 #endif 00286 00287 #if defined(MBEDTLS_PLATFORM_EXIT_ALT) && !defined(MBEDTLS_PLATFORM_C) 00288 #error "MBEDTLS_PLATFORM_EXIT_ALT defined, but not all prerequisites" 00289 #endif 00290 00291 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO) && !defined(MBEDTLS_PLATFORM_C) 00292 #error "MBEDTLS_PLATFORM_EXIT_MACRO defined, but not all prerequisites" 00293 #endif 00294 00295 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO) &&\ 00296 ( defined(MBEDTLS_PLATFORM_STD_EXIT) ||\ 00297 defined(MBEDTLS_PLATFORM_EXIT_ALT) ) 00298 #error "MBEDTLS_PLATFORM_EXIT_MACRO and MBEDTLS_PLATFORM_STD_EXIT/MBEDTLS_PLATFORM_EXIT_ALT cannot be defined simultaneously" 00299 #endif 00300 00301 #if defined(MBEDTLS_PLATFORM_TIME_ALT) &&\ 00302 ( !defined(MBEDTLS_PLATFORM_C) ||\ 00303 !defined(MBEDTLS_HAVE_TIME) ) 00304 #error "MBEDTLS_PLATFORM_TIME_ALT defined, but not all prerequisites" 00305 #endif 00306 00307 #if defined(MBEDTLS_PLATFORM_TIME_MACRO) &&\ 00308 ( !defined(MBEDTLS_PLATFORM_C) ||\ 00309 !defined(MBEDTLS_HAVE_TIME) ) 00310 #error "MBEDTLS_PLATFORM_TIME_MACRO defined, but not all prerequisites" 00311 #endif 00312 00313 #if defined(MBEDTLS_PLATFORM_TIME_TYPE_MACRO) &&\ 00314 ( !defined(MBEDTLS_PLATFORM_C) ||\ 00315 !defined(MBEDTLS_HAVE_TIME) ) 00316 #error "MBEDTLS_PLATFORM_TIME_TYPE_MACRO defined, but not all prerequisites" 00317 #endif 00318 00319 #if defined(MBEDTLS_PLATFORM_TIME_MACRO) &&\ 00320 ( defined(MBEDTLS_PLATFORM_STD_TIME) ||\ 00321 defined(MBEDTLS_PLATFORM_TIME_ALT) ) 00322 #error "MBEDTLS_PLATFORM_TIME_MACRO and MBEDTLS_PLATFORM_STD_TIME/MBEDTLS_PLATFORM_TIME_ALT cannot be defined simultaneously" 00323 #endif 00324 00325 #if defined(MBEDTLS_PLATFORM_TIME_TYPE_MACRO) &&\ 00326 ( defined(MBEDTLS_PLATFORM_STD_TIME) ||\ 00327 defined(MBEDTLS_PLATFORM_TIME_ALT) ) 00328 #error "MBEDTLS_PLATFORM_TIME_TYPE_MACRO and MBEDTLS_PLATFORM_STD_TIME/MBEDTLS_PLATFORM_TIME_ALT cannot be defined simultaneously" 00329 #endif 00330 00331 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C) 00332 #error "MBEDTLS_PLATFORM_FPRINTF_ALT defined, but not all prerequisites" 00333 #endif 00334 00335 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C) 00336 #error "MBEDTLS_PLATFORM_FPRINTF_MACRO defined, but not all prerequisites" 00337 #endif 00338 00339 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) &&\ 00340 ( defined(MBEDTLS_PLATFORM_STD_FPRINTF) ||\ 00341 defined(MBEDTLS_PLATFORM_FPRINTF_ALT) ) 00342 #error "MBEDTLS_PLATFORM_FPRINTF_MACRO and MBEDTLS_PLATFORM_STD_FPRINTF/MBEDTLS_PLATFORM_FPRINTF_ALT cannot be defined simultaneously" 00343 #endif 00344 00345 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) &&\ 00346 ( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) ) 00347 #error "MBEDTLS_PLATFORM_FREE_MACRO defined, but not all prerequisites" 00348 #endif 00349 00350 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) &&\ 00351 defined(MBEDTLS_PLATFORM_STD_FREE) 00352 #error "MBEDTLS_PLATFORM_FREE_MACRO and MBEDTLS_PLATFORM_STD_FREE cannot be defined simultaneously" 00353 #endif 00354 00355 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) && !defined(MBEDTLS_PLATFORM_CALLOC_MACRO) 00356 #error "MBEDTLS_PLATFORM_CALLOC_MACRO must be defined if MBEDTLS_PLATFORM_FREE_MACRO is" 00357 #endif 00358 00359 #if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) &&\ 00360 ( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) ) 00361 #error "MBEDTLS_PLATFORM_CALLOC_MACRO defined, but not all prerequisites" 00362 #endif 00363 00364 #if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) &&\ 00365 defined(MBEDTLS_PLATFORM_STD_CALLOC) 00366 #error "MBEDTLS_PLATFORM_CALLOC_MACRO and MBEDTLS_PLATFORM_STD_CALLOC cannot be defined simultaneously" 00367 #endif 00368 00369 #if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) && !defined(MBEDTLS_PLATFORM_FREE_MACRO) 00370 #error "MBEDTLS_PLATFORM_FREE_MACRO must be defined if MBEDTLS_PLATFORM_CALLOC_MACRO is" 00371 #endif 00372 00373 #if defined(MBEDTLS_PLATFORM_MEMORY) && !defined(MBEDTLS_PLATFORM_C) 00374 #error "MBEDTLS_PLATFORM_MEMORY defined, but not all prerequisites" 00375 #endif 00376 00377 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C) 00378 #error "MBEDTLS_PLATFORM_PRINTF_ALT defined, but not all prerequisites" 00379 #endif 00380 00381 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C) 00382 #error "MBEDTLS_PLATFORM_PRINTF_MACRO defined, but not all prerequisites" 00383 #endif 00384 00385 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) &&\ 00386 ( defined(MBEDTLS_PLATFORM_STD_PRINTF) ||\ 00387 defined(MBEDTLS_PLATFORM_PRINTF_ALT) ) 00388 #error "MBEDTLS_PLATFORM_PRINTF_MACRO and MBEDTLS_PLATFORM_STD_PRINTF/MBEDTLS_PLATFORM_PRINTF_ALT cannot be defined simultaneously" 00389 #endif 00390 00391 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C) 00392 #error "MBEDTLS_PLATFORM_SNPRINTF_ALT defined, but not all prerequisites" 00393 #endif 00394 00395 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C) 00396 #error "MBEDTLS_PLATFORM_SNPRINTF_MACRO defined, but not all prerequisites" 00397 #endif 00398 00399 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) &&\ 00400 ( defined(MBEDTLS_PLATFORM_STD_SNPRINTF) ||\ 00401 defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) ) 00402 #error "MBEDTLS_PLATFORM_SNPRINTF_MACRO and MBEDTLS_PLATFORM_STD_SNPRINTF/MBEDTLS_PLATFORM_SNPRINTF_ALT cannot be defined simultaneously" 00403 #endif 00404 00405 #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR) &&\ 00406 !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) 00407 #error "MBEDTLS_PLATFORM_STD_MEM_HDR defined, but not all prerequisites" 00408 #endif 00409 00410 #if defined(MBEDTLS_PLATFORM_STD_CALLOC) && !defined(MBEDTLS_PLATFORM_MEMORY) 00411 #error "MBEDTLS_PLATFORM_STD_CALLOC defined, but not all prerequisites" 00412 #endif 00413 00414 #if defined(MBEDTLS_PLATFORM_STD_CALLOC) && !defined(MBEDTLS_PLATFORM_MEMORY) 00415 #error "MBEDTLS_PLATFORM_STD_CALLOC defined, but not all prerequisites" 00416 #endif 00417 00418 #if defined(MBEDTLS_PLATFORM_STD_FREE) && !defined(MBEDTLS_PLATFORM_MEMORY) 00419 #error "MBEDTLS_PLATFORM_STD_FREE defined, but not all prerequisites" 00420 #endif 00421 00422 #if defined(MBEDTLS_PLATFORM_STD_EXIT) &&\ 00423 !defined(MBEDTLS_PLATFORM_EXIT_ALT) 00424 #error "MBEDTLS_PLATFORM_STD_EXIT defined, but not all prerequisites" 00425 #endif 00426 00427 #if defined(MBEDTLS_PLATFORM_STD_TIME) &&\ 00428 ( !defined(MBEDTLS_PLATFORM_TIME_ALT) ||\ 00429 !defined(MBEDTLS_HAVE_TIME) ) 00430 #error "MBEDTLS_PLATFORM_STD_TIME defined, but not all prerequisites" 00431 #endif 00432 00433 #if defined(MBEDTLS_PLATFORM_STD_FPRINTF) &&\ 00434 !defined(MBEDTLS_PLATFORM_FPRINTF_ALT) 00435 #error "MBEDTLS_PLATFORM_STD_FPRINTF defined, but not all prerequisites" 00436 #endif 00437 00438 #if defined(MBEDTLS_PLATFORM_STD_PRINTF) &&\ 00439 !defined(MBEDTLS_PLATFORM_PRINTF_ALT) 00440 #error "MBEDTLS_PLATFORM_STD_PRINTF defined, but not all prerequisites" 00441 #endif 00442 00443 #if defined(MBEDTLS_PLATFORM_STD_SNPRINTF) &&\ 00444 !defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) 00445 #error "MBEDTLS_PLATFORM_STD_SNPRINTF defined, but not all prerequisites" 00446 #endif 00447 00448 #if defined(MBEDTLS_ENTROPY_NV_SEED) &&\ 00449 ( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_ENTROPY_C) ) 00450 #error "MBEDTLS_ENTROPY_NV_SEED defined, but not all prerequisites" 00451 #endif 00452 00453 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) &&\ 00454 !defined(MBEDTLS_ENTROPY_NV_SEED) 00455 #error "MBEDTLS_PLATFORM_NV_SEED_ALT defined, but not all prerequisites" 00456 #endif 00457 00458 #if defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) &&\ 00459 !defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 00460 #error "MBEDTLS_PLATFORM_STD_NV_SEED_READ defined, but not all prerequisites" 00461 #endif 00462 00463 #if defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) &&\ 00464 !defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 00465 #error "MBEDTLS_PLATFORM_STD_NV_SEED_WRITE defined, but not all prerequisites" 00466 #endif 00467 00468 #if defined(MBEDTLS_PLATFORM_NV_SEED_READ_MACRO) &&\ 00469 ( defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) ||\ 00470 defined(MBEDTLS_PLATFORM_NV_SEED_ALT) ) 00471 #error "MBEDTLS_PLATFORM_NV_SEED_READ_MACRO and MBEDTLS_PLATFORM_STD_NV_SEED_READ cannot be defined simultaneously" 00472 #endif 00473 00474 #if defined(MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO) &&\ 00475 ( defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) ||\ 00476 defined(MBEDTLS_PLATFORM_NV_SEED_ALT) ) 00477 #error "MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO and MBEDTLS_PLATFORM_STD_NV_SEED_WRITE cannot be defined simultaneously" 00478 #endif 00479 00480 #if defined(MBEDTLS_RSA_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ 00481 !defined(MBEDTLS_OID_C) ) 00482 #error "MBEDTLS_RSA_C defined, but not all prerequisites" 00483 #endif 00484 00485 #if defined(MBEDTLS_RSA_C) && ( !defined(MBEDTLS_PKCS1_V21) && \ 00486 !defined(MBEDTLS_PKCS1_V15) ) 00487 #error "MBEDTLS_RSA_C defined, but none of the PKCS1 versions enabled" 00488 #endif 00489 00490 #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && \ 00491 ( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_PKCS1_V21) ) 00492 #error "MBEDTLS_X509_RSASSA_PSS_SUPPORT defined, but not all prerequisites" 00493 #endif 00494 00495 #if defined(MBEDTLS_SSL_PROTO_SSL3) && ( !defined(MBEDTLS_MD5_C) || \ 00496 !defined(MBEDTLS_SHA1_C) ) 00497 #error "MBEDTLS_SSL_PROTO_SSL3 defined, but not all prerequisites" 00498 #endif 00499 00500 #if defined(MBEDTLS_SSL_PROTO_TLS1) && ( !defined(MBEDTLS_MD5_C) || \ 00501 !defined(MBEDTLS_SHA1_C) ) 00502 #error "MBEDTLS_SSL_PROTO_TLS1 defined, but not all prerequisites" 00503 #endif 00504 00505 #if defined(MBEDTLS_SSL_PROTO_TLS1_1) && ( !defined(MBEDTLS_MD5_C) || \ 00506 !defined(MBEDTLS_SHA1_C) ) 00507 #error "MBEDTLS_SSL_PROTO_TLS1_1 defined, but not all prerequisites" 00508 #endif 00509 00510 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) && ( !defined(MBEDTLS_SHA1_C) && \ 00511 !defined(MBEDTLS_SHA256_C) && !defined(MBEDTLS_SHA512_C) ) 00512 #error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites" 00513 #endif 00514 00515 #if defined(MBEDTLS_SSL_PROTO_DTLS) && \ 00516 !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \ 00517 !defined(MBEDTLS_SSL_PROTO_TLS1_2) 00518 #error "MBEDTLS_SSL_PROTO_DTLS defined, but not all prerequisites" 00519 #endif 00520 00521 #if defined(MBEDTLS_SSL_CLI_C) && !defined(MBEDTLS_SSL_TLS_C) 00522 #error "MBEDTLS_SSL_CLI_C defined, but not all prerequisites" 00523 #endif 00524 00525 #if defined(MBEDTLS_SSL_TLS_C) && ( !defined(MBEDTLS_CIPHER_C) || \ 00526 !defined(MBEDTLS_MD_C) ) 00527 #error "MBEDTLS_SSL_TLS_C defined, but not all prerequisites" 00528 #endif 00529 00530 #if defined(MBEDTLS_SSL_SRV_C) && !defined(MBEDTLS_SSL_TLS_C) 00531 #error "MBEDTLS_SSL_SRV_C defined, but not all prerequisites" 00532 #endif 00533 00534 #if defined(MBEDTLS_SSL_TLS_C) && (!defined(MBEDTLS_SSL_PROTO_SSL3) && \ 00535 !defined(MBEDTLS_SSL_PROTO_TLS1) && !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \ 00536 !defined(MBEDTLS_SSL_PROTO_TLS1_2)) 00537 #error "MBEDTLS_SSL_TLS_C defined, but no protocols are active" 00538 #endif 00539 00540 #if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_SSL3) && \ 00541 defined(MBEDTLS_SSL_PROTO_TLS1_1) && !defined(MBEDTLS_SSL_PROTO_TLS1)) 00542 #error "Illegal protocol selection" 00543 #endif 00544 00545 #if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_TLS1) && \ 00546 defined(MBEDTLS_SSL_PROTO_TLS1_2) && !defined(MBEDTLS_SSL_PROTO_TLS1_1)) 00547 #error "Illegal protocol selection" 00548 #endif 00549 00550 #if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_SSL3) && \ 00551 defined(MBEDTLS_SSL_PROTO_TLS1_2) && (!defined(MBEDTLS_SSL_PROTO_TLS1) || \ 00552 !defined(MBEDTLS_SSL_PROTO_TLS1_1))) 00553 #error "Illegal protocol selection" 00554 #endif 00555 00556 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && !defined(MBEDTLS_SSL_PROTO_DTLS) 00557 #error "MBEDTLS_SSL_DTLS_HELLO_VERIFY defined, but not all prerequisites" 00558 #endif 00559 00560 #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) && \ 00561 !defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) 00562 #error "MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE defined, but not all prerequisites" 00563 #endif 00564 00565 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) && \ 00566 ( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) ) 00567 #error "MBEDTLS_SSL_DTLS_ANTI_REPLAY defined, but not all prerequisites" 00568 #endif 00569 00570 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT) && \ 00571 ( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) ) 00572 #error "MBEDTLS_SSL_DTLS_BADMAC_LIMIT defined, but not all prerequisites" 00573 #endif 00574 00575 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) && \ 00576 !defined(MBEDTLS_SSL_PROTO_TLS1) && \ 00577 !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \ 00578 !defined(MBEDTLS_SSL_PROTO_TLS1_2) 00579 #error "MBEDTLS_SSL_ENCRYPT_THEN_MAC defined, but not all prerequsites" 00580 #endif 00581 00582 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) && \ 00583 !defined(MBEDTLS_SSL_PROTO_TLS1) && \ 00584 !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \ 00585 !defined(MBEDTLS_SSL_PROTO_TLS1_2) 00586 #error "MBEDTLS_SSL_EXTENDED_MASTER_SECRET defined, but not all prerequsites" 00587 #endif 00588 00589 #if defined(MBEDTLS_SSL_TICKET_C) && !defined(MBEDTLS_CIPHER_C) 00590 #error "MBEDTLS_SSL_TICKET_C defined, but not all prerequisites" 00591 #endif 00592 00593 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING) && \ 00594 !defined(MBEDTLS_SSL_PROTO_SSL3) && !defined(MBEDTLS_SSL_PROTO_TLS1) 00595 #error "MBEDTLS_SSL_CBC_RECORD_SPLITTING defined, but not all prerequisites" 00596 #endif 00597 00598 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \ 00599 !defined(MBEDTLS_X509_CRT_PARSE_C) 00600 #error "MBEDTLS_SSL_SERVER_NAME_INDICATION defined, but not all prerequisites" 00601 #endif 00602 00603 #if defined(MBEDTLS_THREADING_PTHREAD) 00604 #if !defined(MBEDTLS_THREADING_C) || defined(MBEDTLS_THREADING_IMPL) 00605 #error "MBEDTLS_THREADING_PTHREAD defined, but not all prerequisites" 00606 #endif 00607 #define MBEDTLS_THREADING_IMPL 00608 #endif 00609 00610 #if defined(MBEDTLS_THREADING_ALT) 00611 #if !defined(MBEDTLS_THREADING_C) || defined(MBEDTLS_THREADING_IMPL) 00612 #error "MBEDTLS_THREADING_ALT defined, but not all prerequisites" 00613 #endif 00614 #define MBEDTLS_THREADING_IMPL 00615 #endif 00616 00617 #if defined(MBEDTLS_THREADING_C) && !defined(MBEDTLS_THREADING_IMPL) 00618 #error "MBEDTLS_THREADING_C defined, single threading implementation required" 00619 #endif 00620 #undef MBEDTLS_THREADING_IMPL 00621 00622 #if defined(MBEDTLS_VERSION_FEATURES) && !defined(MBEDTLS_VERSION_C) 00623 #error "MBEDTLS_VERSION_FEATURES defined, but not all prerequisites" 00624 #endif 00625 00626 #if defined(MBEDTLS_X509_USE_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ 00627 !defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_PARSE_C) || \ 00628 !defined(MBEDTLS_PK_PARSE_C) ) 00629 #error "MBEDTLS_X509_USE_C defined, but not all prerequisites" 00630 #endif 00631 00632 #if defined(MBEDTLS_X509_CREATE_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ 00633 !defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_WRITE_C) || \ 00634 !defined(MBEDTLS_PK_WRITE_C) ) 00635 #error "MBEDTLS_X509_CREATE_C defined, but not all prerequisites" 00636 #endif 00637 00638 #if defined(MBEDTLS_X509_CRT_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) 00639 #error "MBEDTLS_X509_CRT_PARSE_C defined, but not all prerequisites" 00640 #endif 00641 00642 #if defined(MBEDTLS_X509_CRL_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) 00643 #error "MBEDTLS_X509_CRL_PARSE_C defined, but not all prerequisites" 00644 #endif 00645 00646 #if defined(MBEDTLS_X509_CSR_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) ) 00647 #error "MBEDTLS_X509_CSR_PARSE_C defined, but not all prerequisites" 00648 #endif 00649 00650 #if defined(MBEDTLS_X509_CRT_WRITE_C) && ( !defined(MBEDTLS_X509_CREATE_C) ) 00651 #error "MBEDTLS_X509_CRT_WRITE_C defined, but not all prerequisites" 00652 #endif 00653 00654 #if defined(MBEDTLS_X509_CSR_WRITE_C) && ( !defined(MBEDTLS_X509_CREATE_C) ) 00655 #error "MBEDTLS_X509_CSR_WRITE_C defined, but not all prerequisites" 00656 #endif 00657 00658 #if defined(MBEDTLS_HAVE_INT32) && defined(MBEDTLS_HAVE_INT64) 00659 #error "MBEDTLS_HAVE_INT32 and MBEDTLS_HAVE_INT64 cannot be defined simultaneously" 00660 #endif /* MBEDTLS_HAVE_INT32 && MBEDTLS_HAVE_INT64 */ 00661 00662 #if ( defined(MBEDTLS_HAVE_INT32) || defined(MBEDTLS_HAVE_INT64) ) && \ 00663 defined(MBEDTLS_HAVE_ASM) 00664 #error "MBEDTLS_HAVE_INT32/MBEDTLS_HAVE_INT64 and MBEDTLS_HAVE_ASM cannot be defined simultaneously" 00665 #endif /* (MBEDTLS_HAVE_INT32 || MBEDTLS_HAVE_INT64) && MBEDTLS_HAVE_ASM */ 00666 00667 /* 00668 * Avoid warning from -pedantic. This is a convenient place for this 00669 * workaround since this is included by every single file before the 00670 * #if defined(MBEDTLS_xxx_C) that results in emtpy translation units. 00671 */ 00672 typedef int mbedtls_iso_c_forbids_empty_translation_units; 00673 00674 #endif /* MBEDTLS_CHECK_CONFIG_H */
Generated on Fri Jul 22 2022 04:53:46 by
1.7.2
