]> granicus.if.org Git - postgresql/commitdiff
Tweak configure to attempt to add -qnoansialias to CFLAGS whenever running
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 Feb 2009 20:02:40 +0000 (20:02 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 Feb 2009 20:02:40 +0000 (20:02 +0000)
on AIX with a non-gcc compiler.  The previous coding would do this only if
CC was exactly "xlc"; which is a bad idea, as demonstrated by trouble report
from Mihai Criveti.

configure
configure.in
src/template/aix

index 5924db003b91b8d86ee77f9beadfc393a45dd9a5..507b6796601898fd4dee1ed244f4f0eac496a578 100755 (executable)
--- a/configure
+++ b/configure
@@ -3833,7 +3833,7 @@ unset CFLAGS
 # else:  If the template file set something, that is used.
 # else:  If coverage was enabled, don't set anything.
 # else:  If the compiler is GCC, then we use -O2.
-# else:  If the compiler is something else, then we use -O.
+# else:  If the compiler is something else, then we use -O, unless debugging.
 
 if test "$ac_env_CFLAGS_set" = set; then
   CFLAGS=$ac_env_CFLAGS_value
@@ -3852,7 +3852,8 @@ fi
 
 # Some versions of GCC support some additional useful warning flags.
 # Check whether they are supported, and add them to CFLAGS if so.
-# ICC pretends to be GCC but it's lying; it doesn't support these options.
+# ICC pretends to be GCC but it's lying; it doesn't support these flags,
+# but has its own.  Also check other compiler-specific flags here.
 
 if test "$GCC" = yes -a "$ICC" = no; then
   CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wpointer-arith"
@@ -4157,8 +4158,8 @@ fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-elif test x"${CC}" = x"xlc"; then
-  # AIX xlc has to have strict aliasing turned off too
+elif test "$PORTNAME" = "aix"; then
+  # AIX's xlc has to have strict aliasing turned off too
   { echo "$as_me:$LINENO: checking if $CC supports -qnoansialias" >&5
 echo $ECHO_N "checking if $CC supports -qnoansialias... $ECHO_C" >&6; }
 pgac_save_CFLAGS=$CFLAGS
index c11591e5ab99d14d63ae252c83d607a988cc7cc9..eedd745b166cb4d96d8103f115823ceb8b2e7a0e 100644 (file)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-dnl $PostgreSQL: pgsql/configure.in,v 1.589 2009/01/22 22:27:12 petere Exp $
+dnl $PostgreSQL: pgsql/configure.in,v 1.590 2009/02/11 20:02:39 tgl Exp $
 dnl
 dnl Developers, please strive to achieve this order:
 dnl
@@ -402,7 +402,7 @@ unset CFLAGS
 # else:  If the template file set something, that is used.
 # else:  If coverage was enabled, don't set anything.
 # else:  If the compiler is GCC, then we use -O2.
-# else:  If the compiler is something else, then we use -O.
+# else:  If the compiler is something else, then we use -O, unless debugging.
 
 if test "$ac_env_CFLAGS_set" = set; then
   CFLAGS=$ac_env_CFLAGS_value
@@ -421,7 +421,8 @@ fi
 
 # Some versions of GCC support some additional useful warning flags.
 # Check whether they are supported, and add them to CFLAGS if so.
-# ICC pretends to be GCC but it's lying; it doesn't support these options.
+# ICC pretends to be GCC but it's lying; it doesn't support these flags,
+# but has its own.  Also check other compiler-specific flags here.
 
 if test "$GCC" = yes -a "$ICC" = no; then
   CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wpointer-arith"
@@ -438,8 +439,8 @@ elif test "$ICC" = yes; then
   PGAC_PROG_CC_CFLAGS_OPT([-mp1])
   # Make sure strict aliasing is off (though this is said to be the default)
   PGAC_PROG_CC_CFLAGS_OPT([-fno-strict-aliasing])
-elif test x"${CC}" = x"xlc"; then
-  # AIX xlc has to have strict aliasing turned off too
+elif test "$PORTNAME" = "aix"; then
+  # AIX's xlc has to have strict aliasing turned off too
   PGAC_PROG_CC_CFLAGS_OPT([-qnoansialias])
 fi
 
index 94ad2f6175886c9a27a484e3d6e6b92decd04021..04c97e7bd14e4a05219133ac7eca51ca7985257b 100644 (file)
@@ -1,3 +1,6 @@
+# Set appropriate default compiler options if using xlc
+# Note: configure will add -qnoansialias if the compiler accepts it,
+# even if user specifies a non-default CFLAGS setting.
 if test "$GCC" != yes ; then
   case $host_os in
     aix3.2.5 | aix4.1*)