[PATCH util-macros 1/1] Provide a configure option to turn off the selective -Werror=... CFLAGS

Gaetan Nadon memsize at videotron.ca
Tue Dec 20 05:58:15 PST 2011


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 <jeremyhu at apple.com>
> ---
>  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 :-)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20111220/8af7f0d1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg-devel/attachments/20111220/8af7f0d1/attachment.pgp>


More information about the xorg-devel mailing list