mirror of https://github.com/wolfSSL/wolfssl.git
MacOS: allow SHA-3 instructions to be explicitly not used
Some iPads and iPhones don't support SHA-3 instructions. Allow SHA-3 instructions to explicitly not be used for these devices.pull/8282/head
parent
dd3012682a
commit
2aacc7cd87
21
configure.ac
21
configure.ac
|
@ -2973,7 +2973,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
ENABLED_ARMASM_INLINE="no"
|
ENABLED_ARMASM_INLINE="no"
|
||||||
ENABLED_ARMASM_SHA3="no"
|
ENABLED_ARMASM_SHA3="unknown"
|
||||||
ENABLED_ARMASM_CRYPTO_SM4="no"
|
ENABLED_ARMASM_CRYPTO_SM4="no"
|
||||||
# ARM Assembly
|
# ARM Assembly
|
||||||
# Both SHA3 and SHA512 instructions available with ARMV8.2-a
|
# Both SHA3 and SHA512 instructions available with ARMV8.2-a
|
||||||
|
@ -3004,6 +3004,16 @@ then
|
||||||
ENABLED_ARMASM_SHA3=yes
|
ENABLED_ARMASM_SHA3=yes
|
||||||
ENABLED_ARMASM_PLUS=yes
|
ENABLED_ARMASM_PLUS=yes
|
||||||
;;
|
;;
|
||||||
|
no-sha512-crypto | no-sha3-crypto)
|
||||||
|
case $host_cpu in
|
||||||
|
*aarch64*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR([SHA512/SHA3 instructions only available on Aarch64 CPU.])
|
||||||
|
break;;
|
||||||
|
esac
|
||||||
|
ENABLED_ARMASM_SHA3=no
|
||||||
|
;;
|
||||||
sm4)
|
sm4)
|
||||||
case $host_cpu in
|
case $host_cpu in
|
||||||
*aarch64*)
|
*aarch64*)
|
||||||
|
@ -3048,8 +3058,10 @@ then
|
||||||
*aarch64*)
|
*aarch64*)
|
||||||
case $host_os in
|
case $host_os in
|
||||||
*darwin*)
|
*darwin*)
|
||||||
# All known Aarch64 Mac computers support SHA-512 instructions
|
# Turn it on unless explicitly turned off.
|
||||||
ENABLED_ARMASM_SHA3=yes
|
if test "$ENABLED_ARMASM_SHA3" = "unknown"; then
|
||||||
|
ENABLED_ARMASM_SHA3="yes"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# +crypto needed for hardware acceleration
|
# +crypto needed for hardware acceleration
|
||||||
|
@ -3163,6 +3175,9 @@ if test "$ENABLED_ARMASM_SHA3" = "yes"; then
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ARMASM_CRYPTO_SHA512 -DWOLFSSL_ARMASM_CRYPTO_SHA3"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ARMASM_CRYPTO_SHA512 -DWOLFSSL_ARMASM_CRYPTO_SHA3"
|
||||||
AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_ARMASM_CRYPTO_SHA512 -DWOLFSSL_ARMASM_CRYPTO_SHA3"
|
AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_ARMASM_CRYPTO_SHA512 -DWOLFSSL_ARMASM_CRYPTO_SHA3"
|
||||||
fi
|
fi
|
||||||
|
if test "$ENABLED_ARMASM_SHA3" = "unknown"; then
|
||||||
|
ENABLED_ARMASM_SHA3="no"
|
||||||
|
fi
|
||||||
if test "$ENABLED_ARMASM_SM3" = "yes"; then
|
if test "$ENABLED_ARMASM_SM3" = "yes"; then
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ARMASM_CRYPTO_SM3"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ARMASM_CRYPTO_SM3"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue