Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove test of metaxml which is not compatible with the new parser.
[simgrid.git] / acmacro / compiler-flags.m4
index b6dd1e9..9910dfd 100644 (file)
@@ -1,9 +1,15 @@
-
-
 dnl SG_COMPILE_FLAGS
 dnl Turn on many useful compiler warnings
 dnl For now, only sets extra flags on GCC
 
+
+dnl Copyright (C) 2004, 2005, 2007. Martin Quinson. All rights reserved.
+
+dnl This file is part of the SimGrid project. This is free software:
+dnl You can redistribute and/or modify it under the terms of the
+dnl GNU LGPL (v2.1) licence.
+
+
 AC_DEFUN([SG_COMPILE_FLAGS],[
   AC_ARG_ENABLE(compile-warnings,
     AS_HELP_STRING([--enable-compile-warnings], [use compiler warnings (default=no, unless in maintainer mode)]),
@@ -29,7 +35,8 @@ AC_DEFUN([SG_COMPILE_FLAGS],[
       fi;;
     esac
 
-  if test "x$enable_compile_warnings" = "xyes" ; then
+  if test "x$enable_compile_warnings" = "xyes" ||
+     test "x$force_compile_warnings" = "xyes"; then
     AC_MSG_CHECKING(the warning flags for this compiler)
     warnCFLAGS=
     if test "x$CC" = "xgcc" || test "x$GCC" = "xyes" ; then
@@ -43,14 +50,12 @@ AC_DEFUN([SG_COMPILE_FLAGS],[
       
       ## -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 \
+      warnCFLAGS=`echo $warnCFLAGS  -Wmissing-prototypes -Wmissing-declarations \
         -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings \
-        -Wno-unused-function  -Wno-strict-aliasing  \
+        -Wno-unused-function -Wno-unused-parameter -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
@@ -66,7 +71,8 @@ AC_DEFUN([SG_COMPILE_FLAGS],[
         *-O*) ;;
         *) optCFLAGS="$optCFLAGS -O3" ;;
         esac
-        optCFLAGS="$optCFLAGS -finline-functions -ffast-math -funroll-loops -fno-strict-aliasing"
+        optCFLAGS="$optCFLAGS -finline-functions -funroll-loops -fno-strict-aliasing"
+       # now that surf uses advanced maths in lagrangian, -ffast-math do break things
       
         GCC_VER=`gcc --version | head -n 1 | sed 's/^[^0-9]*\([^ ]*\).*$/\1/'`
         GCC_VER_MAJ=`echo $GCC_VER | sed 's/^\(.\).*$/\1/'`
@@ -85,6 +91,8 @@ AC_DEFUN([SG_COMPILE_FLAGS],[
     if test "x$cflags_set" != "xyes" ; then  
       CFLAGS="$optCFLAGS $CFLAGS"
     fi
+  else
+    CFLAGS="$CFLAGS -O0"
   fi
 
   if test x$lt_cv_prog_gnu_ld = xyes ; then