Use -W, not -Werror, for gcc older than 3.4
authorMatthias Kilian <kili@outback.escape.de>
Wed, 26 Aug 2009 21:00:44 +0000 (21:00 +0000)
committerMatthias Kilian <kili@outback.escape.de>
Wed, 26 Aug 2009 21:00:44 +0000 (21:00 +0000)
aclocal.m4
mk/config.mk.in
rts/ghc.mk

index d84cb99..bf88bd7 100644 (file)
@@ -558,6 +558,7 @@ fi
 if test "$fp_have_gcc" = "NO" -a -d $srcdir/ghc; then
   AC_MSG_ERROR([gcc is required])
 fi
+GccLT34=
 AC_CACHE_CHECK([version of gcc], [fp_cv_gcc_version],
 [if test "$fp_have_gcc" = "YES"; then
    fp_cv_gcc_version="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9.]]*\).*/\1/g'`"
@@ -566,12 +567,14 @@ AC_CACHE_CHECK([version of gcc], [fp_cv_gcc_version],
    # See #2770: gcc 2.95 doesn't work any more, apparently.  There probably
    # isn't a very good reason for that, but for now just make configure
    # fail.
+   FP_COMPARE_VERSIONS([$fp_cv_gcc_version], [-lt], [3.4], GccLT34=YES)
  else
    fp_cv_gcc_version="not-installed"
  fi
 ])
 AC_SUBST([HaveGcc], [$fp_have_gcc])
 AC_SUBST([GccVersion], [$fp_cv_gcc_version])
+AC_SUBST(GccLT34)
 ])# FP_HAVE_GCC
 
 AC_DEFUN([FP_MINGW_GCC],
index 3e63d84..a8b57fb 100644 (file)
@@ -537,6 +537,7 @@ HaveGcc     = @HaveGcc@
 UseGcc         = YES
 WhatGccIsCalled = @WhatGccIsCalled@
 GccVersion      = @GccVersion@
+GccLT34                = @GccLT34@
 ifeq "$(strip $(HaveGcc))" "YES"
 ifneq "$(strip $(UseGcc))"  "YES"
   CC   = cc
index 69b03d1..5efcfd3 100644 (file)
@@ -131,7 +131,12 @@ $(foreach way,$(rts_WAYS),$(eval $(call build-rts-way,$(way))))
 # Flags for compiling every file
 
 # We like plenty of warnings.
-WARNING_OPTS += -Wall -Wextra
+WARNING_OPTS += -Wall
+ifeq "$(GccLT34)" "YES"
+WARNING_OPTS += -W
+else
+WARNING_OPTS += -Wextra
+endif
 WARNING_OPTS += -Wstrict-prototypes 
 WARNING_OPTS += -Wmissing-prototypes 
 WARNING_OPTS += -Wmissing-declarations