From d84757e30d8578aaa788c26f0245c67ab482d0f9 Mon Sep 17 00:00:00 2001 From: Matthias Kilian Date: Wed, 26 Aug 2009 21:00:44 +0000 Subject: [PATCH] Use -W, not -Werror, for gcc older than 3.4 --- aclocal.m4 | 3 +++ mk/config.mk.in | 1 + rts/ghc.mk | 7 ++++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/aclocal.m4 b/aclocal.m4 index d84cb99..bf88bd7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -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], diff --git a/mk/config.mk.in b/mk/config.mk.in index 3e63d84..a8b57fb 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -537,6 +537,7 @@ HaveGcc = @HaveGcc@ UseGcc = YES WhatGccIsCalled = @WhatGccIsCalled@ GccVersion = @GccVersion@ +GccLT34 = @GccLT34@ ifeq "$(strip $(HaveGcc))" "YES" ifneq "$(strip $(UseGcc))" "YES" CC = cc diff --git a/rts/ghc.mk b/rts/ghc.mk index 69b03d1..5efcfd3 100644 --- a/rts/ghc.mk +++ b/rts/ghc.mk @@ -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 -- 1.7.10.4