@@ -50,37 +50,42 @@
#include <asm/hwcap.h>
#endif
+#ifdef ZT_ARCH_ARM_HAS_NEON
+
+#ifdef __LINUX__
+#include <sys/auxv.h>
+#include <asm/hwcap.h>
+#endif
#if defined(__FreeBSD__)
#include <elf.h>
#include <sys/auxv.h>
-static inline long getauxval(int caps) {
+static inline long getauxval(int caps)
+{
long hwcaps = 0;
elf_aux_info(caps, &hwcaps, sizeof(hwcaps));
return hwcaps;
}
-// If these are not even defined, then they're not supported at all
+// If these are not even defined, obviously they are not supported.
#ifndef HWCAP_AES
#define HWCAP_AES 0
-
#ifndef HWCAP_CRC32
#define HWCAP_CRC32 0
#ifndef HWCAP_PMULL
#define HWCAP_PMULL 0
#ifndef HWCAP_SHA1
#define HWCAP_SHA1 0
#ifndef HWCAP_SHA2
#define HWCAP_SHA2 0
+#endif // ZT_ARCH_ARM_HAS_NEON
namespace ZeroTier {