aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-11 14:07:59 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-11 14:07:59 +0000
commit9b89b7f2c0dcfa76f0cb6f17dd1d56dd299fa32e (patch)
tree83414913875933ae71f2c5ed03ff13d6d2f93c22
parent173ee40cbcdf685d841dd9827199f9eba7364395 (diff)
check for compiler support for -fno-strict-overflow before using it (tested with Debian's gcc 4.3, 4.1 and 3.4)
(closes issue #12179) Reported by: Netview git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@107408 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xconfigure21
-rw-r--r--configure.ac10
-rw-r--r--main/Makefile2
-rw-r--r--makeopts.in1
4 files changed, 30 insertions, 4 deletions
diff --git a/configure b/configure
index e31ed7d64..ca3b00a5a 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Revision: 103812 .
+# From configure.ac Revision: 107405 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for asterisk 1.4.
#
@@ -884,6 +884,7 @@ POW_LIB
GC_CFLAGS
GC_LDFLAGS
AST_DECLARATION_AFTER_STATEMENT
+AST_NO_STRICT_OVERFLOW
GSM_INTERNAL
KDEINIT
KDEDIR
@@ -15688,6 +15689,19 @@ echo "${ECHO_T}no" >&6; }
fi
+{ echo "$as_me:$LINENO: checking for -fno-strict-overflow" >&5
+echo $ECHO_N "checking for -fno-strict-overflow... $ECHO_C" >&6; }
+if $(${CC} -O2 -fno-strict-overflow -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ AST_NO_STRICT_OVERFLOW=-fno-strict-overflow
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ AST_NO_STRICT_OVERFLOW=
+fi
+
+
{ echo "$as_me:$LINENO: checking for res_ninit" >&5
echo $ECHO_N "checking for res_ninit... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
@@ -35806,6 +35820,7 @@ POW_LIB!$POW_LIB$ac_delim
GC_CFLAGS!$GC_CFLAGS$ac_delim
GC_LDFLAGS!$GC_LDFLAGS$ac_delim
AST_DECLARATION_AFTER_STATEMENT!$AST_DECLARATION_AFTER_STATEMENT$ac_delim
+AST_NO_STRICT_OVERFLOW!$AST_NO_STRICT_OVERFLOW$ac_delim
GSM_INTERNAL!$GSM_INTERNAL$ac_delim
KDEINIT!$KDEINIT$ac_delim
KDEDIR!$KDEDIR$ac_delim
@@ -35832,7 +35847,6 @@ GTK_INCLUDE!$GTK_INCLUDE$ac_delim
GTK_LIB!$GTK_LIB$ac_delim
PKGCONFIG!$PKGCONFIG$ac_delim
PBX_GTK2!$PBX_GTK2$ac_delim
-GTK2_INCLUDE!$GTK2_INCLUDE$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -35874,12 +35888,13 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
+GTK2_INCLUDE!$GTK2_INCLUDE$ac_delim
GTK2_LIB!$GTK2_LIB$ac_delim
CURL_CONFIG!$CURL_CONFIG$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 3; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 4; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/configure.ac b/configure.ac
index 49cd0ff0d..1662fbe4a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -354,6 +354,16 @@ else
fi
AC_SUBST(AST_DECLARATION_AFTER_STATEMENT)
+AC_MSG_CHECKING(for -fno-strict-overflow)
+if $(${CC} -O2 -fno-strict-overflow -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+ AC_MSG_RESULT(yes)
+ AST_NO_STRICT_OVERFLOW=-fno-strict-overflow
+else
+ AC_MSG_RESULT(no)
+ AST_NO_STRICT_OVERFLOW=
+fi
+AC_SUBST(AST_NO_STRICT_OVERFLOW)
+
AC_MSG_CHECKING(for res_ninit)
AC_LINK_IFELSE(
AC_LANG_PROGRAM([#include <resolv.h>],
diff --git a/main/Makefile b/main/Makefile
index 9a70e1f4f..44e5a891b 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -123,7 +123,7 @@ testexpr2: ast_expr2f.c ast_expr2.c ast_expr2.h
channel.o: ASTCFLAGS+=$(ZAPTEL_INCLUDE)
-stdtime/localtime.o: ASTCFLAGS+=-fno-strict-overflow
+stdtime/localtime.o: ASTCFLAGS+=$(AST_NO_STRICT_OVERFLOW)
AST_EMBED_LDSCRIPTS:=$(sort $(EMBED_LDSCRIPTS))
AST_EMBED_LDFLAGS:=$(foreach dep,$(EMBED_LDFLAGS),$(value $(dep)))
diff --git a/makeopts.in b/makeopts.in
index 88a414f4d..9d45c3c88 100644
--- a/makeopts.in
+++ b/makeopts.in
@@ -62,6 +62,7 @@ sysconfdir = @sysconfdir@
AST_DEVMODE=@AST_DEVMODE@
AST_DECLARATION_AFTER_STATEMENT=@AST_DECLARATION_AFTER_STATEMENT@
+AST_NO_STRICT_OVERFLOW=@AST_NO_STRICT_OVERFLOW@
ASOUND_INCLUDE=@ALSA_INCLUDE@
ASOUND_LIB=@ALSA_LIB@