X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/73a840e457ed83351caceb088b0880396fbe99e7..8c21191fcd55627affe27f4a74764991e17632f0:/acmacro/compiler-flags.m4 diff --git a/acmacro/compiler-flags.m4 b/acmacro/compiler-flags.m4 index 7d4d2e895f..335791869a 100644 --- a/acmacro/compiler-flags.m4 +++ b/acmacro/compiler-flags.m4 @@ -7,7 +7,7 @@ dnl For now, only sets extra flags on GCC 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)]), - enable_compile_warnings=$withval,enable_compile_warnings=no) + enable_compile_warnings=$enableval,enable_compile_warnings=no) AC_ARG_ENABLE(compile-optimizations, AS_HELP_STRING([--disable-compile-optimizations], [use compiler optimizations (default=yes, unless if CFLAGS is explicitly set)]), @@ -42,12 +42,16 @@ AC_DEFUN([SG_COMPILE_FLAGS],[ ## -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 \ - -Wshadow -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat=2 -Wwrite-strings \ - -Wno-unused-variable -Wno-unused-function -Wno-unused-label \ + -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings \ + -Wno-unused-function \ -Werror \ | sed 's/ +/ /g'` + # -Wno-unused-variable -Wno-unused-label fi fi AC_MSG_RESULT($warnCFLAGS) @@ -66,11 +70,16 @@ AC_DEFUN([SG_COMPILE_FLAGS],[ esac optCFLAGS="$optCFLAGS -finline-functions -ffast-math -funroll-loops -fno-strict-aliasing" - if test "x$target_cpu" = "xpowerpc" ; then + 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" != "x2" ; then # avoid gcc bug #12828, which is fixed in 3.4.0, but this version # isn't propagated enough to desserve an extra check + + # 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) fi AC_MSG_RESULT($optCFLAGS) # Take it only if CFLAGS not explicitly set. Unless the flag was explicitly given @@ -78,5 +87,12 @@ AC_DEFUN([SG_COMPILE_FLAGS],[ CFLAGS="$optCFLAGS $CFLAGS" fi fi + + if test x$lt_cv_prog_gnu_ld = xyes ; then + LD_DYNAMIC_FLAGS=-Wl,--export-dynamic + else + LD_DYNAMIC_FLAGS= + fi + AC_SUBST(LD_DYNAMIC_FLAGS) ])