This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: housekeeping, -Wno-error


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]