X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bfd%2Fwarning.m4;h=de7e9e4491b67f1d6746c80b13e649ef0e26e3bc;hb=48e6666a0d550f290ea174682c78b0d62a027076;hp=38feb5f03363d7bfb6eb24f8212ce259e7773dbf;hpb=9e9b66a9565074bc875a2b2d01c628c58bca6bd5;p=platform%2Fupstream%2Fbinutils.git diff --git a/bfd/warning.m4 b/bfd/warning.m4 index 38feb5f..de7e9e4 100644 --- a/bfd/warning.m4 +++ b/bfd/warning.m4 @@ -1,36 +1,73 @@ -dnl Common configure.in fragment +dnl Common configure.ac fragment +dnl +dnl Copyright (C) 2012-2014 Free Software Foundation, Inc. +dnl +dnl This file is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; see the file COPYING3. If not see +dnl . +dnl AC_DEFUN([AM_BINUTILS_WARNINGS],[ -WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes" +# Set the 'development' global. +. $srcdir/../bfd/development.sh + +GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes" +AC_EGREP_CPP([^[0-3]$],[__GNUC__],,GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wshadow") AC_ARG_ENABLE(werror, - [ --enable-werror treat compile warnings as errors], + [ --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 +# Disable -Wformat by default when using gcc on mingw +case "${host}" in + *-*-mingw32*) + if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then + GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wno-format" + fi + ;; + *) ;; +esac + +# Enable -Werror by default when using gcc. Turn it off for releases. +if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" -a "$development" = true ; then ERROR_ON_WARNING=yes fi NO_WERROR= if test "${ERROR_ON_WARNING}" = yes ; then - WARN_CFLAGS="$WARN_CFLAGS -Werror" + GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Werror" NO_WERROR="-Wno-error" fi +if test "${GCC}" = yes ; then + WARN_CFLAGS="${GCC_WARN_CFLAGS}" +fi + AC_ARG_ENABLE(build-warnings, -[ --enable-build-warnings Enable build-time compiler warnings], +[ --enable-build-warnings enable build-time compiler warnings], [case "${enableval}" in - yes) ;; - no) WARN_CFLAGS="-w";; + yes) WARN_CFLAGS="${GCC_WARN_CFLAGS}";; + no) if test "${GCC}" = yes ; then + WARN_CFLAGS="-w" + fi;; ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"` - WARN_CFLAGS="${WARN_CFLAGS} ${t}";; + WARN_CFLAGS="${GCC_WARN_CFLAGS} ${t}";; *,) t=`echo "${enableval}" | sed -e "s/,/ /g"` - WARN_CFLAGS="${t} ${WARN_CFLAGS}";; + WARN_CFLAGS="${t} ${GCC_WARN_CFLAGS}";; *) WARN_CFLAGS=`echo "${enableval}" | sed -e "s/,/ /g"`;; esac])