--- a/make-linux.mk	2019-09-27 21:35:39.000000000 -0700
+++ b/make-linux.mk	2019-09-27 21:36:01.000000000 -0700
@@ -118,6 +118,7 @@
 # Determine system build architecture from compiler target
 CC_MACH=$(shell $(CC) -dumpmachine | cut -d '-' -f 1)
 ZT_ARCHITECTURE=999
+ZT_DISABLE_NEON?=
 ifeq ($(CC_MACH),x86_64)
 	ZT_ARCHITECTURE=2
 	ZT_USE_X64_ASM_SALSA=1
@@ -158,57 +159,57 @@
 ifeq ($(CC_MACH),arm)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=0
 endif
 ifeq ($(CC_MACH),armel)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=1
 endif
 ifeq ($(CC_MACH),armhf)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=0
 endif
 ifeq ($(CC_MACH),armv6)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=1
 endif
 ifeq ($(CC_MACH),armv6l)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=1
 endif
 ifeq ($(CC_MACH),armv6zk)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=1
 endif
 ifeq ($(CC_MACH),armv6kz)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=1
 endif
 ifeq ($(CC_MACH),armv7)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=0
 endif
 ifeq ($(CC_MACH),armv7a)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=0
 endif
 ifeq ($(CC_MACH),armv7l)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=0
 endif
 ifeq ($(CC_MACH),armv7hl)
 	ZT_ARCHITECTURE=3
 	override DEFS+=-DZT_NO_TYPE_PUNNING
-	ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+	ZT_DISABLE_NEON?=0
 endif
 ifeq ($(CC_MACH),arm64)
 	ZT_ARCHITECTURE=4
@@ -268,10 +269,13 @@
 		override CFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
 		override CXXFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
 		ZT_USE_ARM32_NEON_ASM_CRYPTO=0
-	else
-		override CFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions
-		override CXXFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions
+	endif
+	ifeq ($(ZT_DISABLE_NEON),1)
+		override CFLAGS+=-mno-unaligned-access -marm -fexceptions
+		override CXXFLAGS+=-mno-unaligned-access -marm -fexceptions
 		ZT_USE_ARM32_NEON_ASM_CRYPTO=0
+	else
+		ZT_USE_ARM32_NEON_ASM_CRYPTO=1
 	endif
 endif
 
