summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-04-18 09:14:33 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-04-18 09:14:33 -0700
commit02f84b225c82e3ae964d136211f6213766d8b606 (patch)
tree50c8b866824a4fdc2b7db244bcadf534c23af12e
parent6551c20005dd904f14aeb40199152e60c4664f45 (diff)
downloadinfinitytier-02f84b225c82e3ae964d136211f6213766d8b606.tar.gz
infinitytier-02f84b225c82e3ae964d136211f6213766d8b606.zip
Add MIPS architectures to Linux Makefile and add an error if architecture cannot be determined.
-rw-r--r--make-linux.mk38
1 files changed, 32 insertions, 6 deletions
diff --git a/make-linux.mk b/make-linux.mk
index 487d5542..6a0007ee 100644
--- a/make-linux.mk
+++ b/make-linux.mk
@@ -80,7 +80,7 @@ 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
@@ -97,41 +97,67 @@ ifeq ($(CC_MACH),i686)
endif
ifeq ($(CC_MACH),arm)
ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
endif
ifeq ($(CC_MACH),armel)
ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
endif
ifeq ($(CC_MACH),armhf)
ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
endif
ifeq ($(CC_MACH),armv6)
ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
endif
ifeq ($(CC_MACH),armv6zk)
ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
endif
ifeq ($(CC_MACH),armv6kz)
ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
endif
ifeq ($(CC_MACH),armv7)
ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
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
-DEFS+=-DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=$(ZT_ARCHITECTURE) -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\""
-
-# Ensure no unaligned access on ARM targets
-ifeq ($(ZT_ARCHITECTURE),3)
+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 ($(ZT_ARCHITECTURE),4)
+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
+
+# Disable software updates by default on Linux since that is normally done with package management
+DEFS+=-DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=$(ZT_ARCHITECTURE) -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\""
+
# Use X64 ASM Salsa20/12 on X86_64 target
ifeq ($(ZT_USE_X64_ASM_SALSA2012),1)
override DEFS+=-DZT_USE_X64_ASM_SALSA2012