housekeeping, -Wno-error

Nick Clifton nickc@redhat.com
Wed Apr 13 15:35:00 GMT 2005


Hi Alan,

> I've been playing with the following, along with Makefile.am changes
> to use $(NO_WERROR) in place of -Wno-error.  The idea is to put this
> some place so that all the configure.in can use a common definition
> for warnings.  I've changed it so that --enable-werror and
> --enable-build-warnings should be usable with compilers other than
> gcc.
> 
> AC_DEFUN([AM_BINUTILS_WARNINGS],[
> WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
> 
> AC_ARG_ENABLE(werror,
>   [  --enable-werror    treat compile warnings as errors],
>   [case "${enableval}" in
>      yes | y) ERROR_ON_WARNING="yes" ;;
>      no | n)  ERROR_ON_WARNING="no" ;;
>      *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
>    esac])
> 
> # Enable -Werror by default when using gcc
> if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
>     ERROR_ON_WARNING=yes
> fi
> 
> NO_WERROR=
> if test "${ERROR_ON_WARNING}" = yes ; then
>     WARN_CFLAGS="$WARN_CFLAGS -Werror"
>     NO_WERROR="-Wno-error"
> fi
> 		   
> AC_ARG_ENABLE(build-warnings,
> [  --enable-build-warnings Enable build-time compiler warnings],
> [case "${enableval}" in
>   yes)	;;
>   no)	WARN_CFLAGS="-w";;
>   ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
>         WARN_CFLAGS="${WARN_CFLAGS} ${t}";;
>   *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
>         WARN_CFLAGS="${t} ${WARN_CFLAGS}";;
>   *)    WARN_CFLAGS=`echo "${enableval}" | sed -e "s/,/ /g"`;;
> esac])
> 
> if test x"$silent" != x"yes" && test x"$WARN_CFLAGS" != x""; then
>   echo "Setting warning flags = $WARN_CFLAGS" 6>&1
> fi
> 
> AC_SUBST(WARN_CFLAGS)
> AC_SUBST(NO_WERROR)
> ])

This seems like a very good approach.  Would you consider applying it to 
the relevant Makefile.am(s) please ?

Cheers
   Nick




More information about the Binutils mailing list