configure.ac: add --enable-all-asm, and add it to --enable-all and --enable-all-crypto.

pull/7967/head
Daniel Pouzzner 2024-09-10 15:56:05 -05:00
parent 3cb66ad18a
commit cf8f9a80fc
1 changed files with 74 additions and 2 deletions

View File

@ -316,7 +316,6 @@ then
fi
AC_SUBST([ENABLED_ASM])
# Default math is SP Math all and not fast math
# FIPS v1 and v2 must use fast math
DEF_SP_MATH="yes"
@ -1029,12 +1028,21 @@ then
# More thorough error queue usage.
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_VERBOSE_ERRORS"
# enable all applicable assembly accelerations
if test "$ENABLED_ASM" != "no" &&
test "$enable_sp_asm" != "no" &&
test "$enable_all_asm" = "" &&
test "$ENABLED_LINUXKM_DEFAULTS" = "no"
then
enable_all_asm=yes
fi
fi
# ALL CRYPTO FEATURES
AC_ARG_ENABLE([all-crypto],
[AS_HELP_STRING([--enable-all-crypto],[Enable all wolfcrypt algorithms (default: disabled)])],
[AS_HELP_STRING([--enable-all-crypto],[Enable all available wolfcrypt algorithm support (default: disabled)])],
[ ENABLED_ALL_CRYPT=$enableval ],
[ ENABLED_ALL_CRYPT=no ]
)
@ -1157,6 +1165,15 @@ then
# Store issuer name components when parsing certificates.
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_ISSUER_NAMES"
# enable all applicable assembly accelerations
if test "$ENABLED_ASM" != "no" &&
test "$enable_sp_asm" != "no" &&
test "$enable_all_asm" = "" &&
test "$ENABLED_LINUXKM_DEFAULTS" = "no"
then
enable_all_asm=yes
fi
fi
# liboqs
@ -2845,6 +2862,61 @@ then
fi
# Auto-selected activation of all applicable asm accelerations
AC_ARG_ENABLE([all-asm],
[AS_HELP_STRING([--enable-all-asm],[Enable all applicable assembly accelerations (default: disabled)])],
[ ENABLED_ALL_ASM=$enableval ],
[ ENABLED_ALL_ASM=no ]
)
if test "$ENABLED_ALL_ASM" != "no"
then
if test "$ENABLED_ASM" = "no"
then
AC_MSG_ERROR([--enable-all-asm is incompatible with --disable-asm])
fi
if test "$enable_sp_asm" = "no"
then
AC_MSG_ERROR([--enable-all-asm is incompatible with --disable-sp-asm])
fi
if test "$enable_intelasm" = "no"
then
AC_MSG_ERROR([--enable-all-asm is incompatible with --disable-intelasm])
fi
if test "$enable_armasm" = "no"
then
AC_MSG_ERROR([--enable-all-asm is incompatible with --disable-armasm])
fi
if test "$ENABLED_SP" != "no"
then
ENABLED_SP_ASM=yes
if test "$ENABLED_SP" = ""
then
ENABLED_SP=yes
fi
fi
case "$host_cpu" in
*x86_64*|*amd64*)
if test "$enable_intelasm" = ""
then
enable_intelasm=yes
fi
;;
*aarch64*|*arm*|*cortex*)
if test "$enable_armasm" = ""
then
enable_armasm=yes
fi
;;
esac
fi
ENABLED_ARMASM_INLINE="no"
ENABLED_ARMASM_SHA3="no"
ENABLED_ARMASM_CRYPTO_SM4="no"