aboutsummaryrefslogtreecommitdiffstats
path: root/codecs/gsm
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2011-03-11 15:09:23 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2011-03-11 15:09:23 +0000
commitf1bfb02b4f786fb63fc540fe8297ee1116fc314f (patch)
treeb7253545524f3ee28717d20a1e3066a31f7f767d /codecs/gsm
parent0d726a6c657c3d2ba0bead68a2effa6bbf6742da (diff)
Use "-march=native" when possible.
Recent versions of GCC have a tuning option value of 'native', which causes the compiler to optimize the build for the CPU the compile is performed on. Since most people are building Asterisk on the machine they plan to run it on, the configure script and build system will now use this value unless a different value is specified by the user in CFLAGS when the configure script is executed. In addition, this value will be used for building the GSM and LPC10 codecs as well, in preference to the logic that has been in their Makefiles forever to optimize for certain types of CPUs. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@310332 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs/gsm')
-rw-r--r--codecs/gsm/Makefile41
1 files changed, 23 insertions, 18 deletions
diff --git a/codecs/gsm/Makefile b/codecs/gsm/Makefile
index bef4d40d7..eddfcbb75 100644
--- a/codecs/gsm/Makefile
+++ b/codecs/gsm/Makefile
@@ -45,28 +45,33 @@ ifeq ($(shell $(CC) -v 2>&1 | awk '/^gcc version/ { split($$3, v, "."); printf "
OPTIMIZE=-O2
endif
-ifeq (,$(findstring $(shell uname -s),Darwin SunOS))
- ifeq (,$(strip $(findstring $(PROC) ,"x86_64 amd64 ultrasparc sparc64 arm armv5b armeb ppc powerpc ppc64 ia64 s390 bfin mipsel mips ")))
- ifeq (,$(strip $(findstring $(shell uname -m) ,"ppc ppc64 alpha armv4l s390 ")))
- OPTIMIZE+=-march=$(PROC)
+# If the compiler's '-march' flag has been specified already, then assume it's a value
+# that is what the user wants (or has been determined by the configure script). If not,
+# do some simple logic to set a decent value
+ifeq ($(findstring -march,$(_ASTCFLAGS) $(ASTCFLAGS)),)
+ ifeq (,$(findstring $(shell uname -s),Darwin SunOS))
+ ifeq (,$(strip $(findstring $(PROC) ,"x86_64 amd64 ultrasparc sparc64 arm armv5b armeb ppc powerpc ppc64 ia64 s390 bfin mipsel mips ")))
+ ifeq (,$(strip $(findstring $(shell uname -m) ,"ppc ppc64 alpha armv4l s390 ")))
+ OPTIMIZE+=-march=$(PROC)
+ endif
endif
- endif
-else
- ifneq (,$(findstring $(OSARCH),Darwin))
- ifeq ($(shell /usr/bin/sw_vers -productVersion | cut -c1-4),10.6)
- # Snow Leopard reports i386, even though it's really x86_64
- OPTIMIZE+=-mtune=native
+ else
+ ifneq (,$(findstring $(OSARCH),Darwin))
+ ifeq ($(shell /usr/bin/sw_vers -productVersion | cut -c1-4),10.6)
+ # Snow Leopard reports i386, even though it's really x86_64
+ OPTIMIZE+=-mtune=native
+ endif
endif
endif
-endif
-#The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
-#This works for even old (2.96) versions of gcc and provides a small boost either way.
-#A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn't support it.
-#So we go lowest common available by gcc and go a step down, still a step up from
-#the default as we now have a better instruction set to work with. - Belgarath
-ifeq ($(PROC),ultrasparc)
-OPTIMIZE+=-mcpu=v8 -mtune=$(PROC) -O3
+ #The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
+ #This works for even old (2.96) versions of gcc and provides a small boost either way.
+ #A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn't support it.
+ #So we go lowest common available by gcc and go a step down, still a step up from
+ #the default as we now have a better instruction set to work with. - Belgarath
+ ifeq ($(PROC),ultrasparc)
+ OPTIMIZE+=-mcpu=v8 -mtune=$(PROC) -O3
+ endif
endif
PG =