For an application that only needs to verify signatures, not create them (for example a boot stage implementing secure boot), it would be convenient to have a config option removes everything that isn't needed for verification.
Although making everything static (with MLD_CONFIG_EXTERNAL_API_QUALIFIER and MLD_CONFIG_INTERNAL_API_QUALIFIER) allows the compiler to drop C functions and tables that aren't used (but requires -Wno-unused-function to remove warnings), this is only a partial solution as it won't exclude unused functions from the native assembly backends such as poly_decompose_XX_asm and rej_uniform_etaX_asm.
For an application that only needs to verify signatures, not create them (for example a boot stage implementing secure boot), it would be convenient to have a config option removes everything that isn't needed for verification.
Although making everything static (with MLD_CONFIG_EXTERNAL_API_QUALIFIER and MLD_CONFIG_INTERNAL_API_QUALIFIER) allows the compiler to drop C functions and tables that aren't used (but requires -Wno-unused-function to remove warnings), this is only a partial solution as it won't exclude unused functions from the native assembly backends such as poly_decompose_XX_asm and rej_uniform_etaX_asm.