+ ## -W is not all that useful. And it cannot be controlled
+ ## with individual -Wno-xxx flags, unlike -Wall
+
+ ## -Wformat=2 chokes on the snprintf replacement because the format is passed to real sprintf
+ ## -Wshadow chokes on try{ try{} } constructs
+ if test "x$enable_compile_warnings" = "xyes"; then
+ warnCFLAGS=`echo $warnCFLAGS -Wmissing-prototypes -Wmissing-declarations \
+ -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings \
+ -Wno-unused-function -Wno-strict-aliasing -Wno-format-nonliteral \
+ -Werror \
+ | sed 's/ +/ /g'`
+ # -Wno-unused-variable -Wno-unused-label
+ fi
+ fi
+ AC_MSG_RESULT($warnCFLAGS)
+ # placed before since gcc remembers the last one on conflict
+ CFLAGS="$warnCFLAGS $CFLAGS"
+ fi
+
+ if test "x$enable_compile_optimizations" = "xyes" ||
+ test "x$enable_compile_optimizations" = "xauto" ; then
+ AC_MSG_CHECKING(the optimization flags for this compiler)
+ optCFLAGS=
+ if test "x$CC" = "xgcc" || test "x$GCC" = "xyes" ; then
+ case " $CFLAGS " in
+ *-O*) ;;
+ *) optCFLAGS="$optCFLAGS -O3" ;;
+ esac
+ optCFLAGS="$optCFLAGS -finline-functions -ffast-math -funroll-loops -fno-strict-aliasing"
+
+ GCC_VER=`gcc --version | head -n 1 | sed 's/^[^0-9]*\([^ ]*\).*$/\1/'`
+ GCC_VER_MAJ=`echo $GCC_VER | sed 's/^\(.\).*$/\1/'`
+ if test "x$target_cpu" = "xpowerpc" && test "x$GCC_VER_MAJ" == "x3" ; then
+ # avoid gcc bug #12828, which apeared in 3.x branch and is fixed in 3.4.0
+ # but the check would be too complicated to get 3.4.
+ # Instead, rule out any 3.x compiler.
+
+ # Note that the flag didn't exist before gcc 3.0
+ optCFLAGS="$optCFLAGS -fno-loop-optimize"
+ fi
+ dnl A C_MSG_WARN(GCC_VER_MAJ=$GCC_VER_MAJ)