Skip to content

Commit 08b37c5

Browse files
committed
Merge #7954: build: quiet annoying warnings without adding new ones
63b3111 build: quiet annoying warnings without adding new ones (Cory Fields)
2 parents 5c7df70 + 63b3111 commit 08b37c5

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

configure.ac

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,9 @@ AC_ARG_ENABLE([debug],
185185
[enable_debug=$enableval],
186186
[enable_debug=no])
187187

188+
AC_LANG_PUSH([C++])
189+
AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""])
190+
188191
if test "x$enable_debug" = xyes; then
189192
CPPFLAGS="$CPPFLAGS -DDEBUG -DDEBUG_LOCKORDER"
190193
if test "x$GCC" = xyes; then
@@ -196,11 +199,19 @@ if test "x$enable_debug" = xyes; then
196199
fi
197200
fi
198201

199-
## TODO: Remove these hard-coded paths and flags. They are here for the sake of
200-
## compatibility with the legacy buildsystem.
201-
##
202202
if test "x$CXXFLAGS_overridden" = "xno"; then
203-
CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wno-self-assign"
203+
AX_CHECK_COMPILE_FLAG([-Wall],[CXXFLAGS="$CXXFLAGS -Wall"],,[[$CXXFLAG_WERROR]])
204+
AX_CHECK_COMPILE_FLAG([-Wextra],[CXXFLAGS="$CXXFLAGS -Wextra"],,[[$CXXFLAG_WERROR]])
205+
AX_CHECK_COMPILE_FLAG([-Wformat],[CXXFLAGS="$CXXFLAGS -Wformat"],,[[$CXXFLAG_WERROR]])
206+
AX_CHECK_COMPILE_FLAG([-Wformat-security],[CXXFLAGS="$CXXFLAGS -Wformat-security"],,[[$CXXFLAG_WERROR]])
207+
208+
## Some compilers (gcc) ignore unknown -Wno-* options, but warn about all
209+
## unknown options if any other warning is produced. Test the -Wfoo case, and
210+
## set the -Wno-foo case if it works.
211+
AX_CHECK_COMPILE_FLAG([-Wunused-parameter],[CXXFLAGS="$CXXFLAGS -Wno-unused-parameter"],,[[$CXXFLAG_WERROR]])
212+
AX_CHECK_COMPILE_FLAG([-Wself-assign],[CXXFLAGS="$CXXFLAGS -Wno-self-assign"],,[[$CXXFLAG_WERROR]])
213+
AX_CHECK_COMPILE_FLAG([-Wunused-local-typedef],[CXXFLAGS="$CXXFLAGS -Wno-unused-local-typedef"],,[[$CXXFLAG_WERROR]])
214+
AX_CHECK_COMPILE_FLAG([-Wdeprecated-register],[CXXFLAGS="$CXXFLAGS -Wno-deprecated-register"],,[[$CXXFLAG_WERROR]])
204215
fi
205216
CPPFLAGS="$CPPFLAGS -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS"
206217

@@ -222,8 +233,6 @@ AC_ARG_WITH([daemon],
222233
[build_bitcoind=$withval],
223234
[build_bitcoind=yes])
224235

225-
AC_LANG_PUSH([C++])
226-
227236
use_pkgconfig=yes
228237
case $host in
229238
*mingw*)

0 commit comments

Comments
 (0)