]> granicus.if.org Git - postgresql/commitdiff
Cause the default CFLAGS to be -O2 -fno-strict-aliasing when using gcc,
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 15 Oct 2003 22:23:56 +0000 (22:23 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 15 Oct 2003 22:23:56 +0000 (22:23 +0000)
per recent pghackers discussions.  Also ensure that explicitly setting
CFLAGS in the configure environment will be honored.

configure
configure.in

index f376dc92ef577322d84e128b06f993c96f4e17b3..b8f3e3c35fd41df37f7c7ba122eeeefeba4a79ab 100755 (executable)
--- a/configure
+++ b/configure
@@ -2389,18 +2389,28 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 #
 . "$srcdir/src/template/$template" || exit
 
-# adjust CFLAGS per template
+# The template may have supplied a default setting for CFLAGS.
+# Override this if CFLAGS was set in the original environment.
 if test "$ac_env_CFLAGS_set" = set; then
   CFLAGS=$ac_env_CFLAGS_value
-fi
-if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then
-  CFLAGS="$CFLAGS -g"
 else
-  # configure sets CFLAGS to -O2 for gcc, so this is only for non-gcc
-  if test x"$CFLAGS" = x""; then
-    CFLAGS="-O"
+  # autoconf already set the default CFLAGS for gcc to be -O2, but we
+  # need to specify -fno-strict-aliasing too in case it's gcc 3.3 or later.
+  if test "$GCC" = yes; then
+    CFLAGS="$CFLAGS -fno-strict-aliasing"
   fi
 fi
+# supply -g if --enable-debug
+if test "$enable_debug" = yes -a "$ac_cv_prog_cc_g" = yes; then
+  CFLAGS="$CFLAGS -g"
+fi
+# default to -O rather than empty CFLAGS; this path will not be taken for
+# gcc (since autoconf supplies -O2), nor if --enable-debug (because -O -g
+# doesn't work on most non-gcc compilers), nor if the template provided
+# some CFLAGS.
+if test "$ac_env_CFLAGS_set" != set -a x"$CFLAGS" = x""; then
+  CFLAGS="-O"
+fi
 { echo "$as_me:$LINENO: using CFLAGS=$CFLAGS" >&5
 echo "$as_me: using CFLAGS=$CFLAGS" >&6;}
 
@@ -2457,7 +2467,7 @@ echo "$as_me: error: cannot proceed" >&2;}
 fi
 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
 
-# Defend against gcc -ffastmath
+# Defend against gcc -ffast-math
 if test "$GCC" = yes; then
 cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
index 5a6d85582666e128acbcd597957e5f8f848e6742..9de34631572248b3ccb59f7d8e8d97fcafaaf5c2 100644 (file)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-dnl $Header: /cvsroot/pgsql/configure.in,v 1.295 2003/10/14 00:48:09 momjian Exp $
+dnl $Header: /cvsroot/pgsql/configure.in,v 1.296 2003/10/15 22:23:56 tgl Exp $
 dnl
 dnl Developers, please strive to achieve this order:
 dnl
@@ -234,18 +234,28 @@ AC_PROG_CC([$pgac_cc_list])
 #
 . "$srcdir/src/template/$template" || exit
 
-# adjust CFLAGS per template
+# The template may have supplied a default setting for CFLAGS.
+# Override this if CFLAGS was set in the original environment.
 if test "$ac_env_CFLAGS_set" = set; then
   CFLAGS=$ac_env_CFLAGS_value
-fi
-if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then
-  CFLAGS="$CFLAGS -g"
 else
-  # configure sets CFLAGS to -O2 for gcc, so this is only for non-gcc
-  if test x"$CFLAGS" = x""; then       
-    CFLAGS="-O"
+  # autoconf already set the default CFLAGS for gcc to be -O2, but we
+  # need to specify -fno-strict-aliasing too in case it's gcc 3.3 or later.
+  if test "$GCC" = yes; then
+    CFLAGS="$CFLAGS -fno-strict-aliasing"
   fi
 fi
+# supply -g if --enable-debug
+if test "$enable_debug" = yes -a "$ac_cv_prog_cc_g" = yes; then
+  CFLAGS="$CFLAGS -g"
+fi
+# default to -O rather than empty CFLAGS; this path will not be taken for
+# gcc (since autoconf supplies -O2), nor if --enable-debug (because -O -g
+# doesn't work on most non-gcc compilers), nor if the template provided
+# some CFLAGS.
+if test "$ac_env_CFLAGS_set" != set -a x"$CFLAGS" = x""; then
+  CFLAGS="-O"
+fi
 AC_MSG_NOTICE([using CFLAGS=$CFLAGS])
 
 # We already have this in Makefile.win32, but configure needs it too
@@ -261,7 +271,7 @@ AC_TRY_LINK([], [return 0;],
   [AC_MSG_RESULT(no)
    AC_MSG_ERROR([cannot proceed])])
 
-# Defend against gcc -ffastmath
+# Defend against gcc -ffast-math
 if test "$GCC" = yes; then
 AC_TRY_COMPILE([], [@%:@ifdef __FAST_MATH__
 choke me