Only define FreeBSD hwcaps stuff if ARM crypto is enabled for compiled.

This commit is contained in:
Adam Ierymenko 2020-11-09 19:54:32 -05:00
parent cbcd2be232
commit 7280fcdec2
No known key found for this signature in database
GPG Key ID: C8877CF2D7A5D7F3

View File

@ -50,37 +50,42 @@
#include <asm/hwcap.h> #include <asm/hwcap.h>
#endif #endif
#ifdef ZT_ARCH_ARM_HAS_NEON
#ifdef __LINUX__
#include <sys/auxv.h>
#include <asm/hwcap.h>
#endif
#if defined(__FreeBSD__) #if defined(__FreeBSD__)
#include <elf.h> #include <elf.h>
#include <sys/auxv.h> #include <sys/auxv.h>
static inline long getauxval(int caps) { static inline long getauxval(int caps)
{
long hwcaps = 0; long hwcaps = 0;
elf_aux_info(caps, &hwcaps, sizeof(hwcaps)); elf_aux_info(caps, &hwcaps, sizeof(hwcaps));
return hwcaps; return hwcaps;
} }
#endif #endif
// 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 #ifndef HWCAP_AES
#define HWCAP_AES 0 #define HWCAP_AES 0
#endif #endif
#ifndef HWCAP_CRC32 #ifndef HWCAP_CRC32
#define HWCAP_CRC32 0 #define HWCAP_CRC32 0
#endif #endif
#ifndef HWCAP_PMULL #ifndef HWCAP_PMULL
#define HWCAP_PMULL 0 #define HWCAP_PMULL 0
#endif #endif
#ifndef HWCAP_SHA1 #ifndef HWCAP_SHA1
#define HWCAP_SHA1 0 #define HWCAP_SHA1 0
#endif #endif
#ifndef HWCAP_SHA2 #ifndef HWCAP_SHA2
#define HWCAP_SHA2 0 #define HWCAP_SHA2 0
#endif #endif
#endif // ZT_ARCH_ARM_HAS_NEON
namespace ZeroTier { namespace ZeroTier {