]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/warning.m4
make xtensa_section_rename () take const char *
[thirdparty/binutils-gdb.git] / bfd / warning.m4
CommitLineData
1110793a 1dnl Common configure.ac fragment
5bf135a7 2dnl
6f2750fe 3dnl Copyright (C) 2012-2016 Free Software Foundation, Inc.
5bf135a7
NC
4dnl
5dnl This file is free software; you can redistribute it and/or modify
6dnl it under the terms of the GNU General Public License as published by
7dnl the Free Software Foundation; either version 3 of the License, or
8dnl (at your option) any later version.
1b786873 9dnl
5bf135a7
NC
10dnl This program is distributed in the hope that it will be useful,
11dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13dnl GNU General Public License for more details.
1b786873 14dnl
5bf135a7
NC
15dnl You should have received a copy of the GNU General Public License
16dnl along with this program; see the file COPYING3. If not see
17dnl <http://www.gnu.org/licenses/>.
18dnl
9e9b66a9
AM
19
20AC_DEFUN([AM_BINUTILS_WARNINGS],[
270c9937
JB
21# Set the 'development' global.
22. $srcdir/../bfd/development.sh
23
9780e045 24# Default set of GCC warnings to enable.
d1a98e0c 25GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
9780e045
NC
26
27# Add -Wshadow if the compiler is a sufficiently recent version of GCC.
d1a98e0c 28AC_EGREP_CPP([^[0-3]$],[__GNUC__],,GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wshadow")
9e9b66a9 29
9780e045
NC
30# Add -Wstack-usage if the compiler is a sufficiently recent version of GCC.
31AC_EGREP_CPP([^[0-4]$],[__GNUC__],,GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wstack-usage=262144")
32
33
9e9b66a9 34AC_ARG_ENABLE(werror,
241a6c40 35 [ --enable-werror treat compile warnings as errors],
9e9b66a9
AM
36 [case "${enableval}" in
37 yes | y) ERROR_ON_WARNING="yes" ;;
38 no | n) ERROR_ON_WARNING="no" ;;
39 *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
40 esac])
41
d1a98e0c 42# Disable -Wformat by default when using gcc on mingw
bb8541b9
L
43case "${host}" in
44 *-*-mingw32*)
45 if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
46 GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wno-format"
47 fi
48 ;;
49 *) ;;
50esac
51
270c9937
JB
52# Enable -Werror by default when using gcc. Turn it off for releases.
53if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" -a "$development" = true ; then
9e9b66a9
AM
54 ERROR_ON_WARNING=yes
55fi
56
57NO_WERROR=
58if test "${ERROR_ON_WARNING}" = yes ; then
9780e045 59 GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Werror"
9e9b66a9
AM
60 NO_WERROR="-Wno-error"
61fi
1b786873 62
49c96104
SE
63if test "${GCC}" = yes ; then
64 WARN_CFLAGS="${GCC_WARN_CFLAGS}"
65fi
66
9e9b66a9 67AC_ARG_ENABLE(build-warnings,
241a6c40 68[ --enable-build-warnings enable build-time compiler warnings],
9e9b66a9 69[case "${enableval}" in
49c96104
SE
70 yes) WARN_CFLAGS="${GCC_WARN_CFLAGS}";;
71 no) if test "${GCC}" = yes ; then
72 WARN_CFLAGS="-w"
73 fi;;
9e9b66a9 74 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
49c96104 75 WARN_CFLAGS="${GCC_WARN_CFLAGS} ${t}";;
9e9b66a9 76 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
49c96104 77 WARN_CFLAGS="${t} ${GCC_WARN_CFLAGS}";;
9e9b66a9
AM
78 *) WARN_CFLAGS=`echo "${enableval}" | sed -e "s/,/ /g"`;;
79esac])
80
81if test x"$silent" != x"yes" && test x"$WARN_CFLAGS" != x""; then
82 echo "Setting warning flags = $WARN_CFLAGS" 6>&1
83fi
84
85AC_SUBST(WARN_CFLAGS)
86AC_SUBST(NO_WERROR)
87])