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