On Mon, 2011-12-19 at 18:50 -0800, Jeremy Huddleston wrote: > Provide end users with a workaround if they find code doesn't build with > the -Werror=... flags provided by BASE_CFLAGS. This can be useful if > newer util-macros are used with older source code that had problems, or > in the rare case when warnings are expanded to hit more cases (although > this case should not happen too much in practice). > > Signed-off-by: Jeremy Huddleston <[email protected]> > --- > xorg-macros.m4.in | 23 +++++++++++++++++++++++ > 1 files changed, 23 insertions(+), 0 deletions(-) > > diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in > index d9ed137..22f537b 100644 > --- a/xorg-macros.m4.in > +++ b/xorg-macros.m4.in > @@ -1520,6 +1520,12 @@ m4_foreach([flag], m4_cdr($@), [ > AC_DEFUN([XORG_COMPILER_FLAGS], [ > AC_REQUIRE([XORG_COMPILER_BRAND]) > > +AC_ARG_ENABLE(selective-werror, > + AS_HELP_STRING([--disable-selective-werror], > + [Turn off selective compiler errors, please > report bugs if you find you need to use this. (default: enabled)]),
Help text not appropriate, please remove "please report bugs..." Read on
for an alternative.
--disable-selective-werror
Turn off selective compiler errors, please
report
bugs if you find you need to use this.
(default:
enabled)
--disable-selective-werror
Turn off selective compiler errors (default:
enabled)
One question: if both --disable-selective-werror and
--enable-strict-compilation are used together, does the resulting
behavior make sense? Which one overrides the other, if any?
> + [SELECTIVE_WERROR=$enableval],
> + [SELECTIVE_WERROR=yes])
> +
> # -v is too short to test reliably with XORG_TESTSET_CFLAG
> if test "x$SUNCC" = "xyes"; then
> BASE_CFLAGS="-v"
> @@ -1557,6 +1563,8 @@ XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Wredundant-decls])
>
> # Turn some warnings into errors, so we don't accidently get successful
> builds
> # when there are problems that should be fixed.
> +
> +if test "x$SELECTIVE_WERROR" = "xyes" ; then
> XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=implicit],
> [-errwarn=E_NO_EXPLICIT_TYPE_GIVEN -errwarn=E_NO_IMPLICIT_DECL_ALLOWED])
> XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=nonnull])
> XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=init-self])
> @@ -1570,6 +1578,21 @@ XORG_TESTSET_CFLAG([BASE_CFLAGS],
> [-Werror=write-strings])
> XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=address])
> XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=int-to-pointer-cast],
> [-errwarn=E_BAD_PTR_INT_COMBINATION])
> XORG_TESTSET_CFLAG([BASE_CFLAGS], [-Werror=pointer-to-int-cast]) # Also
> -errwarn=E_BAD_PTR_INT_COMBINATION
> +else
Consider adding AC_MSG_WARN to replace help text above. It will show up
in the log for all to see. You can use $PACKAGE_BUGREPORT to provide
URL.
This is what we do for other situations where a module configuration is
questionable but not in error.
We are in the warning business :-)
signature.asc
Description: This is a digitally signed message part
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
