summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-04-21 08:04:33 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-04-21 08:04:33 -0700
commit0e88c73f68c405cdc8af3b98ab2f58efe54d943f (patch)
tree3f251eca2c2e60a5f854a9369a3db732a22c0db8
parentba0d73d102e09b6d60f1d677b1e5472a25c08d42 (diff)
downloadinfinitytier-0e88c73f68c405cdc8af3b98ab2f58efe54d943f.tar.gz
infinitytier-0e88c73f68c405cdc8af3b98ab2f58efe54d943f.zip
Mirror over some arch rules from Linux to BSD make, and enable fast crypto there.
-rw-r--r--make-bsd.mk66
1 files changed, 64 insertions, 2 deletions
diff --git a/make-bsd.mk b/make-bsd.mk
index b038d13e..9efa707b 100644
--- a/make-bsd.mk
+++ b/make-bsd.mk
@@ -1,3 +1,5 @@
+# This requires GNU make, which is typically "gmake" on BSD systems
+
INCLUDES=
DEFS=
LIBS=
@@ -28,12 +30,14 @@ endif
# Determine system build architecture from compiler target
CC_MACH=$(shell $(CC) -dumpmachine | cut -d '-' -f 1)
-ZT_ARCHITECTURE=0
+ZT_ARCHITECTURE=999
ifeq ($(CC_MACH),x86_64)
ZT_ARCHITECTURE=2
+ ZT_USE_X64_ASM_SALSA2012=1
endif
ifeq ($(CC_MACH),amd64)
ZT_ARCHITECTURE=2
+ ZT_USE_X64_ASM_SALSA2012=1
endif
ifeq ($(CC_MACH),i386)
ZT_ARCHITECTURE=1
@@ -43,16 +47,74 @@ ifeq ($(CC_MACH),i686)
endif
ifeq ($(CC_MACH),arm)
ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+ ZT_USE_ARM32_NEON_ASM_SALSA2012=1
+endif
+ifeq ($(CC_MACH),armel)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+ ZT_USE_ARM32_NEON_ASM_SALSA2012=1
+endif
+ifeq ($(CC_MACH),armhf)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+ ZT_USE_ARM32_NEON_ASM_SALSA2012=1
+endif
+ifeq ($(CC_MACH),armv6)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+ ZT_USE_ARM32_NEON_ASM_SALSA2012=1
+endif
+ifeq ($(CC_MACH),armv6zk)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+ ZT_USE_ARM32_NEON_ASM_SALSA2012=1
+endif
+ifeq ($(CC_MACH),armv6kz)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+ ZT_USE_ARM32_NEON_ASM_SALSA2012=1
+endif
+ifeq ($(CC_MACH),armv7)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+ ZT_USE_ARM32_NEON_ASM_SALSA2012=1
endif
ifeq ($(CC_MACH),arm64)
ZT_ARCHITECTURE=4
+ override DEFS+=-DZT_NO_TYPE_PUNNING
endif
ifeq ($(CC_MACH),aarch64)
ZT_ARCHITECTURE=4
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+endif
+ifeq ($(CC_MACH),mipsel)
+ ZT_ARCHITECTURE=5
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+endif
+ifeq ($(CC_MACH),mips)
+ ZT_ARCHITECTURE=5
+ override DEFS+=-DZT_NO_TYPE_PUNNING
endif
+ifeq ($(CC_MACH),mips64)
+ ZT_ARCHITECTURE=6
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+endif
+ifeq ($(CC_MACH),mips64el)
+ ZT_ARCHITECTURE=6
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+endif
+
+# Fail if system architecture could not be determined
+ifeq ($(ZT_ARCHITECTURE),999)
+ERR=$(error FATAL: architecture could not be determined from $(CC) -dumpmachine: $CC_MACH)
+.PHONY: err
+err: ; $(ERR)
+endif
+
DEFS+=-DZT_BUILD_PLATFORM=$(ZT_BUILD_PLATFORM) -DZT_BUILD_ARCHITECTURE=$(ZT_ARCHITECTURE) -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\""
-CXXFLAGS+=$(CFLAGS) -fno-rtti -std=c++11 -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH -D_GLIBCXX_USE_C99_MATH_TR1
+CXXFLAGS+=$(CFLAGS) -fno-rtti -std=c++11 #-D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH -D_GLIBCXX_USE_C99_MATH_TR1
all: one