From 33c3af752bf8ff505bf8d191bf36aad25f35ada3 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 4 Apr 2017 11:26:50 -0700 Subject: [PATCH] Need to just have a make option for soft float ARM. --- make-linux.mk | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/make-linux.mk b/make-linux.mk index 582968575..956953b58 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -122,16 +122,26 @@ ifeq ($(CC_MACH),aarch64) endif DEFS+=-DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=$(ZT_ARCHITECTURE) -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\"" -# Define some conservative CPU instruction set flags for arm32 since there's a ton of variation out there +# Ensure no unaligned access on ARM targets ifeq ($(ZT_ARCHITECTURE),3) - override CFLAGS+=-march=armv5te -mfloat-abi=soft -marm -mno-unaligned-access - override CXXFLAGS+=-march=armv5te -mfloat-abi=soft -marm -mno-unaligned-access + override DEFS+=-DZT_NO_TYPE_PUNNING +endif +ifeq ($(ZT_ARCHITECTURE),4) override DEFS+=-DZT_NO_TYPE_PUNNING endif -# Define this to build a static binary, which is needed to make this runnable on a few ancient Linux distros +# Static builds, which are currently done for a number of Linux targets ifeq ($(ZT_STATIC),1) override LDFLAGS+=-static + ifeq ($(ZT_ARCHITECTURE),3) + ifeq ($(ZT_ARM_SOFTFLOAT),1) + override CFLAGS+=-march=armv5te -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm + override CXXFLAGS+=-march=armv5te -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm + else + override CFLAGS+=-march=armv6kz -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -mno-unaligned-access -marm + override CXXFLAGS+=-march=armv6kz -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -mno-unaligned-access -marm + endif + endif endif all: one