diff --git a/config/armv7a/make_defs.mk b/config/armv7a/make_defs.mk index a28ad0878..ff1d84b0d 100644 --- a/config/armv7a/make_defs.mk +++ b/config/armv7a/make_defs.mk @@ -76,17 +76,32 @@ GIT_LOG := $(GIT) log --decorate # # --- Determine the C compiler and related flags --- +ifeq ($(CC),) CC := gcc +CC_VENDOR := gcc +endif +ifneq ($(CC_VENDOR),gcc) +$(error gcc is required for this configuration.) +endif # Enable IEEE Standard 1003.1-2004 (POSIX.1d). # NOTE: This is needed to enable posix_memalign(). CPPROCFLAGS := -D_POSIX_C_SOURCE=200112L -CMISCFLAGS := -std=c99 -O3 -mfloat-abi=hard -mfpu=vfpv3 -marm -march=armv7-a #-g +CMISCFLAGS := -std=c99 -mfloat-abi=hard CPICFLAGS := -fPIC -CDBGFLAGS := #-g CWARNFLAGS := -Wall -COPTFLAGS := -marm -march=armv7-a -mfpu=vfpv3 -O3 -mfloat-abi=hard #-g + +ifneq ($(DEBUG_TYPE),off) +CDBGFLAGS := -g +endif + +ifeq ($(DEBUG_TYPE),noopt) +COPTFLAGS := -O0 +else +COPTFLAGS := -O3 +endif + +CVECFLAGS := -mfpu=vfpv3 -marm -march=armv7-a CKOPTFLAGS := $(COPTFLAGS) -CVECFLAGS := #-msse3 # -mfpmath=sse # Aggregate all of the flags into multiple groups: one for standard # compilation, and one for each of the supported "special" compilation diff --git a/config/armv8a/make_defs.mk b/config/armv8a/make_defs.mk index 63c03c6a0..3cec43c92 100644 --- a/config/armv8a/make_defs.mk +++ b/config/armv8a/make_defs.mk @@ -76,18 +76,32 @@ GIT_LOG := $(GIT) log --decorate # # --- Determine the C compiler and related flags --- +ifeq ($(CC),) CC := gcc - +CC_VENDOR := gcc +endif +ifneq ($(CC_VENDOR),gcc) +$(error gcc is required for this configuration.) +endif # Enable IEEE Standard 1003.1-2004 (POSIX.1d). # NOTE: This is needed to enable posix_memalign(). CPPROCFLAGS := -D_GNU_SOURCE -CMISCFLAGS := -std=c99 -march=armv8-a+fp+simd -ftree-vectorize -O3 -fopenmp -mcpu=cortex-a57.cortex-a53 -mtune=cortex-a57.cortex-a53 +CMISCFLAGS := -std=c99 -fopenmp CPICFLAGS := -fPIC -CDBGFLAGS := -g #-g3 -gdwarf-2 CWARNFLAGS := -Wall -COPTFLAGS := -march=armv8-a+fp+simd -ftree-vectorize -O3 -mcpu=cortex-a57.cortex-a53 -mtune=cortex-a57.cortex-a53 + +ifneq ($(DEBUG_TYPE),off) +CDBGFLAGS := -g +endif + +ifeq ($(DEBUG_TYPE),noopt) +COPTFLAGS := -O0 +else +COPTFLAGS := -O3 -ftree-vectorize -mtune=cortex-a57.cortex-a53 +endif + +CVECFLAGS := -march=armv8-a+fp+simd -mcpu=cortex-a57.cortex-a53 CKOPTFLAGS := $(COPTFLAGS) -CVECFLAGS := #-march=armv8-a+fp+simd -ftree-vectorize -O3 -mcpu=cortex-a57.cortex-a53 -mtune=cortex-a57.cortex-a53 #-march=armv8-a -O2 -mtune=cortex-a57 -mfpu=neon-fp-armv8 # Aggregate all of the flags into multiple groups: one for standard # compilation, and one for each of the supported "special" compilation diff --git a/config/bulldozer/make_defs.mk b/config/bulldozer/make_defs.mk index 13e306a02..772ac1c53 100644 --- a/config/bulldozer/make_defs.mk +++ b/config/bulldozer/make_defs.mk @@ -76,17 +76,32 @@ GIT_LOG := $(GIT) log --decorate # # --- Determine the C compiler and related flags --- +ifeq ($(CC),) CC := gcc +CC_VENDOR := gcc +endif +ifneq ($(CC_VENDOR),gcc) +$(error gcc is required for this configuration.) +endif # Enable IEEE Standard 1003.1-2004 (POSIX.1d). # NOTE: This is needed to enable posix_memalign(). CPPROCFLAGS := -D_POSIX_C_SOURCE=200112L CMISCFLAGS := -std=c99 -fopenmp CPICFLAGS := -fPIC -CDBGFLAGS := -g CWARNFLAGS := -Wall -COPTFLAGS := -O0 -malign-double -funroll-all-loops -CKOPTFLAGS := $(COPTFLAGS) + +ifneq ($(DEBUG_TYPE),off) +CDBGFLAGS := -g +endif + +ifeq ($(DEBUG_TYPE),noopt) +COPTFLAGS := -O0 +else +COPTFLAGS := -O2 -malign-double -funroll-all-loops +endif + CVECFLAGS := -mavx -mfma -march=bdver2 -mfpmath=sse +CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard # compilation, and one for each of the supported "special" compilation diff --git a/config/carrizo/make_defs.mk b/config/carrizo/make_defs.mk index 5f5303ade..08a5baaaf 100644 --- a/config/carrizo/make_defs.mk +++ b/config/carrizo/make_defs.mk @@ -76,17 +76,32 @@ GIT_LOG := $(GIT) log --decorate # # --- Determine the C compiler and related flags --- +ifeq ($(CC),) CC := gcc +CC_VENDOR := gcc +endif +ifneq ($(CC_VENDOR),gcc) +$(error gcc is required for this configuration.) +endif # Enable IEEE Standard 1003.1-2004 (POSIX.1d). # NOTE: This is needed to enable posix_memalign(). CPPROCFLAGS := -D_POSIX_C_SOURCE=200112L CMISCFLAGS := -std=c99 -fopenmp CPICFLAGS := -fPIC -CDBGFLAGS := #-g CWARNFLAGS := -Wall -COPTFLAGS := -O2 -mfpmath=sse -fomit-frame-pointer + +ifneq ($(DEBUG_TYPE),off) +CDBGFLAGS := -g +endif + +ifeq ($(DEBUG_TYPE),noopt) +COPTFLAGS := -O0 +else +COPTFLAGS := -O2 -fomit-frame-pointer +endif + +CVECFLAGS := -mavx -mfma -march=native -mfpmath=sse CKOPTFLAGS := $(COPTFLAGS) -CVECFLAGS := -mavx -mfma -march=native # Aggregate all of the flags into multiple groups: one for standard # compilation, and one for each of the supported "special" compilation diff --git a/config/cortex-a15/make_defs.mk b/config/cortex-a15/make_defs.mk index 078c063b7..e81c28f60 100644 --- a/config/cortex-a15/make_defs.mk +++ b/config/cortex-a15/make_defs.mk @@ -97,13 +97,10 @@ endif ifeq ($(DEBUG_TYPE),noopt) COPTFLAGS := -O0 else -COPTFLAGS := -march=armv7-a -mfpu=neon -O2 -endif - -ifneq ($(DEBUG_TYPE),noopt) -CVECFLAGS := #-msse3 -march=native # -mfpmath=sse +COPTFLAGS := -O2 endif +CVECFLAGS := -march=armv7-a #-msse3 -march=native # -mfpmath=sse CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/cortex-a9/make_defs.mk b/config/cortex-a9/make_defs.mk index 7dbc0aa77..e81c28f60 100644 --- a/config/cortex-a9/make_defs.mk +++ b/config/cortex-a9/make_defs.mk @@ -97,13 +97,10 @@ endif ifeq ($(DEBUG_TYPE),noopt) COPTFLAGS := -O0 else -COPTFLAGS := -march=armv7-a -mfpu=neon -O2 -mfloat-abi=hard -endif - -ifneq ($(DEBUG_TYPE),noopt) -CVECFLAGS := #-msse3 -march=native # -mfpmath=sse +COPTFLAGS := -O2 endif +CVECFLAGS := -march=armv7-a #-msse3 -march=native # -mfpmath=sse CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/dunnington/make_defs.mk b/config/dunnington/make_defs.mk index d065640f5..4d06567d0 100644 --- a/config/dunnington/make_defs.mk +++ b/config/dunnington/make_defs.mk @@ -97,13 +97,10 @@ endif ifeq ($(DEBUG_TYPE),noopt) COPTFLAGS := -O0 else -COPTFLAGS := -O2 -mfpmath=sse -fomit-frame-pointer -endif - -ifneq ($(DEBUG_TYPE),noopt) -CVECFLAGS := -msse3 -march=native +COPTFLAGS := -O2 -fomit-frame-pointer endif +CVECFLAGS := -msse3 -march=native -mfpmath=sse CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/haswell/make_defs.mk b/config/haswell/make_defs.mk index a1865a98b..895746fc5 100644 --- a/config/haswell/make_defs.mk +++ b/config/haswell/make_defs.mk @@ -97,13 +97,10 @@ endif ifeq ($(DEBUG_TYPE),noopt) COPTFLAGS := -O0 else -COPTFLAGS := -O3 -march=native -endif - -ifneq ($(DEBUG_TYPE),noopt) -CVECFLAGS := -mavx2 -mfma -mfpmath=sse #-msse3 -march=native # -mfpmath=sse +COPTFLAGS := -O3 endif +CVECFLAGS := -mavx2 -mfma -mfpmath=sse -march=native #-msse3 -march=native # -mfpmath=sse CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/loongson3a/make_defs.mk b/config/loongson3a/make_defs.mk index d3500a7c3..8296dcd92 100644 --- a/config/loongson3a/make_defs.mk +++ b/config/loongson3a/make_defs.mk @@ -97,13 +97,10 @@ endif ifeq ($(DEBUG_TYPE),noopt) COPTFLAGS := -O0 else -COPTFLAGS := -O3 -march=loongson3a -mtune=loongson3a -endif - -ifneq ($(DEBUG_TYPE),noopt) -CVECFLAGS := #-msse3 -march=native # -mfpmath=sse +COPTFLAGS := -O3 -mtune=loongson3a endif +CVECFLAGS := -march=loongson3a #-msse3 -march=native # -mfpmath=sse CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/mic/make_defs.mk b/config/mic/make_defs.mk index 93e1efb9a..5e298269d 100644 --- a/config/mic/make_defs.mk +++ b/config/mic/make_defs.mk @@ -100,10 +100,7 @@ else COPTFLAGS := -O3 endif -ifneq ($(DEBUG_TYPE),noopt) CVECFLAGS := -endif - CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/piledriver/make_defs.mk b/config/piledriver/make_defs.mk index 89756bea1..08a5baaaf 100644 --- a/config/piledriver/make_defs.mk +++ b/config/piledriver/make_defs.mk @@ -97,13 +97,10 @@ endif ifeq ($(DEBUG_TYPE),noopt) COPTFLAGS := -O0 else -COPTFLAGS := -O2 -mfpmath=sse -fomit-frame-pointer -endif - -ifneq ($(DEBUG_TYPE),noopt) -CVECFLAGS := -mavx -mfma -march=native +COPTFLAGS := -O2 -fomit-frame-pointer endif +CVECFLAGS := -mavx -mfma -march=native -mfpmath=sse CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/power7/make_defs.mk b/config/power7/make_defs.mk index 460f53d07..8beaa15fb 100644 --- a/config/power7/make_defs.mk +++ b/config/power7/make_defs.mk @@ -100,10 +100,7 @@ else COPTFLAGS := -O3 -mtune=power7 endif -ifneq ($(DEBUG_TYPE),noopt) CVECFLAGS := -mvsx -endif - CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/reference/make_defs.mk b/config/reference/make_defs.mk index 509c4d9e5..b0ac0c62f 100644 --- a/config/reference/make_defs.mk +++ b/config/reference/make_defs.mk @@ -100,10 +100,7 @@ else COPTFLAGS := -O2 endif -ifneq ($(DEBUG_TYPE),noopt) CVECFLAGS := #-msse3 -march=native # -mfpmath=sse -endif - CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/sandybridge/make_defs.mk b/config/sandybridge/make_defs.mk index c1fd57176..4b96d93f7 100644 --- a/config/sandybridge/make_defs.mk +++ b/config/sandybridge/make_defs.mk @@ -97,13 +97,10 @@ endif ifeq ($(DEBUG_TYPE),noopt) COPTFLAGS := -O0 else -COPTFLAGS := -O3 -march=native -endif - -ifneq ($(DEBUG_TYPE),noopt) -CVECFLAGS := -mavx -mfpmath=sse #-msse3 -march=native # -mfpmath=sse +COPTFLAGS := -O3 endif +CVECFLAGS := -mavx -mfpmath=sse -march=native #-msse3 -march=native # -mfpmath=sse CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/config/template/make_defs.mk b/config/template/make_defs.mk index 509c4d9e5..b0ac0c62f 100644 --- a/config/template/make_defs.mk +++ b/config/template/make_defs.mk @@ -100,10 +100,7 @@ else COPTFLAGS := -O2 endif -ifneq ($(DEBUG_TYPE),noopt) CVECFLAGS := #-msse3 -march=native # -mfpmath=sse -endif - CKOPTFLAGS := $(COPTFLAGS) # Aggregate all of the flags into multiple groups: one for standard diff --git a/configure b/configure index 4528a826e..63303434e 100755 --- a/configure +++ b/configure @@ -206,6 +206,7 @@ main() ;; enable-debug) debug_flag=1 + debug_type=noopt ;; enable-debug=*) debug_flag=1 @@ -327,7 +328,7 @@ main() # Check if the debug flag was specified. if [ -n "${debug_flag}" ]; then - if [ ${debug_type} = 'opt' ]; then + if [ "x${debug_type}" = "xopt" ]; then echo "${script_name}: enabling debug symbols with optimizations." else debug_type='noopt'