Cargo Features

mbedtls-sys-auto = { version = "2.28.7", default-features = false, features = ["std", "debug", "aes_alt", "threading", "time", "havege", "zlib", "pkcs11", "legacy_protocols", "trusted_cert_callback", "custom_threading", "custom_gmtime_r", "pthread", "libc"] }
default = aesni, debug, legacy_protocols, padlock, std, threading, time, zlib

If you use mbedtls-sys in a no_std configuration, you need to provide your own versions of the following functions:

* calloc/free
* strstr/strlen/strncpy/strncmp/strcmp/snprintf
* memmove/memcpy/memcmp/memset
* rand/printf (used only for self tests. optionally use custom_printf)

std default = debug

deprecated automatic enabling of debug, can be removed on major version bump

debug default std
custom_printf custom_has_support aes_alt
threading default custom_threading? pthread?
time default custom_gmtime_r? custom_time? havege?
havege = time
zlib default = libz-sys
aesni padlock legacy_protocols default
mpi_force_c_code trusted_cert_callback
custom_threading = threading

deprecated, needed for backcompat, can be removed on major version bump

custom_time custom_gmtime_r = time
pthread = threading

deprecated features, these don't do anything anymore, can be removed on major version bump

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

libz-sys zlib
libc implicit feature

Enables libc

deprecated dependency, this don't do anything anymore, but still needed to provide the libc feature, can be removed on major version bump