diff --git a/package/libs/wolfssl/Makefile b/package/libs/wolfssl/Makefile index 1500a2cda79..6ad44a9acf1 100644 --- a/package/libs/wolfssl/Makefile +++ b/package/libs/wolfssl/Makefile @@ -151,6 +151,33 @@ CONFIGURE_ARGS += \ --$(if $(CONFIG_WOLFSSL_HAS_ECC448),enable,disable)-curve448 \ --$(if $(CONFIG_WOLFSSL_HAS_OPENVPN),enable,disable)-openvpn +define Package/libwolfsslcpu-crypto/preinst-aarch64 +#!/bin/sh +exec >&2 +printf "[libwolfsslcpu-crypto] Checking for Arm v8-A Cryptographic Extension support: " +if [ -n "$${IPKG_INSTROOT}" ]; then + printf "...[offline]... " + eval "$$(grep '^DISTRIB_TARGET=' "$${IPKG_INSTROOT}/etc/openwrt_release")" + echo "$${DISTRIB_TARGET}" | grep '^bcm27xx/.*' > /dev/null && { + echo "not supported" + echo "Error: Target $${DISTRIB_TARGET} does not support Arm Cryptographic Extension." + echo "Install the regular libwolfssl package instead of libwolfsslcpu-crypto." + exit 1 + } +else + grep -q '^Features.*\baes\b' /proc/cpuinfo || { + echo "not supported" + echo "Error: Arm v8-A Cryptographic Extension not supported." + echo "Install the regular libwolfssl package instead of libwolfsslcpu-crypto." + echo "Contents of /proc/cpuinfo:" + cat /proc/cpuinfo + exit 1 + } +fi +echo OK +exit 0 +endef + ifeq ($(BUILD_VARIANT),regular) CONFIGURE_ARGS += \ --$(if $(CONFIG_WOLFSSL_HAS_AFALG),enable,disable)-afalg \ @@ -160,9 +187,7 @@ CONFIGURE_ARGS += \ else ifdef CONFIG_aarch64 CONFIGURE_ARGS += --enable-armasm TARGET_CFLAGS:=$(TARGET_CFLAGS:-mcpu%=-mcpu%+crypto) - WOLFSSL_NOASM_REGEX:=^bcm27xx/.* - Package/libwolfsslcpu-crypto/preinst=\ - $(subst @@WOLFSSL_NOASM_REGEX@@,$(WOLFSSL_NOASM_REGEX),$(file &2 -printf "[libwolfsslcpu-crypto] Checking for Arm v8-A Cryptographic Extension support: " -if [ -n "${IPKG_INSTROOT}" ]; then - printf "...[offline]... " - eval "$(grep '^DISTRIB_TARGET=' "${IPKG_INSTROOT}/etc/openwrt_release")" - ### @@WOLFSSL_NOASM_REGEX@@ is expanded from WOLFSSL_NOASM_REGEX in the Makefile - echo "${DISTRIB_TARGET}" | grep '@@WOLFSSL_NOASM_REGEX@@' > /dev/null && { - echo "not supported" - echo "Error: Target ${DISTRIB_TARGET} does not support Arm Cryptographic Extension." - echo "Install the regular libwolfssl package instead of libwolfsslcpu-crypto." - exit 1 - } -else - grep -q '^Features.*\baes\b' /proc/cpuinfo || { - echo "not supported" - echo "Error: Arm v8-A Cryptographic Extension not supported." - echo "Install the regular libwolfssl package instead of libwolfsslcpu-crypto." - echo "Contents of /proc/cpuinfo:" - cat /proc/cpuinfo - exit 1 - } -fi -echo OK -exit 0