MBEDTLS_HAVE_TIME macro
\def MBEDTLS_NO_UDBL_DIVISION The platform lacks support for double-width integer division (64-bit division on a 32-bit platform, 128-bit division on a 64-bit platform). Used in: include/mbedtls/bignum.h library/bignum.c The bignum code uses double-width division to speed up some operations. Double-width division is often implemented in software that needs to be linked with the program. The presence of a double-width integer type is usually detected automatically through preprocessor macros, but the automatic detection cannot know whether the code needs to and can be linked with an implementation of division for that type. By default division is assumed to be usable if the type is present. Uncomment this option to prevent the use of double-width division. Note that division for the native integer type is always required. Furthermore, a 64-bit type is always required even on a 32-bit platform, but it need not support multiplication or division. In some cases it is also desirable to disable some double-width operations. For example, if double-width division is implemented in software, disabling it can reduce code size in some embedded targets. \def MBEDTLS_NO_64BIT_MULTIPLICATION The platform lacks support for 32x32 -> 64-bit multiplication. Used in: library/poly1305.c Some parts of the library may use multiplication of two unsigned 32-bit operands with a 64-bit result in order to speed up computations. On some platforms, this is not available in hardware and has to be implemented in software, usually in a library provided by the toolchain. Sometimes it is not desirable to have to link to that library. This option removes the dependency of that library on platforms that lack a hardware 64-bit multiplier by embedding a software implementation in Mbed TLS. Note that depending on the compiler, this may decrease performance compared to using the library function provided by the toolchain. \def MBEDTLS_HAVE_SSE2 CPU supports SSE2 instruction set. Uncomment if the CPU supports SSE2 (IA-32 specific). \def MBEDTLS_HAVE_TIME System has time.h and time(). The time does not need to be correct, only time differences are used, by contrast with MBEDTLS_HAVE_TIME_DATE Defining MBEDTLS_HAVE_TIME allows you to specify MBEDTLS_PLATFORM_TIME_ALT, MBEDTLS_PLATFORM_TIME_MACRO, MBEDTLS_PLATFORM_TIME_TYPE_MACRO and MBEDTLS_PLATFORM_STD_TIME. Comment if your system does not support time functions.
Syntax
#define MBEDTLS_HAVE_TIME
Notes
If MBEDTLS_TIMING_C is set - to enable the semi-portable timing interface - timing.c will include time.h on suitable platforms regardless of the setting of MBEDTLS_HAVE_TIME, unless MBEDTLS_TIMING_ALT is used. See timing.c for more information.