wolfssl: fix build with make < 4.2
[openwrt/staging/wigyori.git] / package / libs / wolfssl / Makefile
index 1500a2cda7960c654eca108cc262363c2bb992f5..6ad44a9acf135336df9d992d61a95d51a2310bee 100644 (file)
@@ -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 <preinst.arm-ce))
+    Package/libwolfsslcpu-crypto/preinst=$(Package/libwolfsslcpu-crypto/preinst-aarch64)
 else ifdef CONFIG_TARGET_x86_64
        CONFIGURE_ARGS += --enable-intelasm
 endif