build: suppress external warnings by default

pull/27872/head
fanquake 1 year ago
parent 7a59865793
commit 3b2acfcfec
No known key found for this signature in database
GPG Key ID: 2EEB9F5CC09526C1

@ -67,7 +67,7 @@ if [ "$DOWNLOAD_PREVIOUS_RELEASES" = "true" ]; then
test/get_previous_releases.py -b -t "$PREVIOUS_RELEASES_DIR" test/get_previous_releases.py -b -t "$PREVIOUS_RELEASES_DIR"
fi fi
BITCOIN_CONFIG_ALL="--enable-suppress-external-warnings --disable-dependency-tracking" BITCOIN_CONFIG_ALL="--disable-dependency-tracking"
if [ -z "$NO_DEPENDS" ]; then if [ -z "$NO_DEPENDS" ]; then
BITCOIN_CONFIG_ALL="${BITCOIN_CONFIG_ALL} CONFIG_SITE=$DEPENDS_DIR/$HOST/share/config.site" BITCOIN_CONFIG_ALL="${BITCOIN_CONFIG_ALL} CONFIG_SITE=$DEPENDS_DIR/$HOST/share/config.site"
fi fi

@ -244,10 +244,10 @@ dnl May be useful if warnings from external headers clutter the build output
dnl too much, so that it becomes difficult to spot Bitcoin Core warnings dnl too much, so that it becomes difficult to spot Bitcoin Core warnings
dnl or if they cause a build failure with --enable-werror. dnl or if they cause a build failure with --enable-werror.
AC_ARG_ENABLE([suppress-external-warnings], AC_ARG_ENABLE([suppress-external-warnings],
[AS_HELP_STRING([--enable-suppress-external-warnings], [AS_HELP_STRING([--disable-suppress-external-warnings],
[Suppress warnings from external headers (default is no)])], [Do not suppress warnings from external headers (default is to suppress)])],
[suppress_external_warnings=$enableval], [suppress_external_warnings=$enableval],
[suppress_external_warnings=no]) [suppress_external_warnings=yes])
AC_ARG_ENABLE([lcov], AC_ARG_ENABLE([lcov],
[AS_HELP_STRING([--enable-lcov], [AS_HELP_STRING([--enable-lcov],

@ -217,13 +217,11 @@ apt install clang-tidy bear clang
Then, pass clang as compiler to configure, and use bear to produce the `compile_commands.json`: Then, pass clang as compiler to configure, and use bear to produce the `compile_commands.json`:
```sh ```sh
./autogen.sh && ./configure CC=clang CXX=clang++ --enable-suppress-external-warnings ./autogen.sh && ./configure CC=clang CXX=clang++
make clean && bear --config src/.bear-tidy-config -- make -j $(nproc) make clean && bear --config src/.bear-tidy-config -- make -j $(nproc)
``` ```
The output is denoised of errors from external dependencies and includes with The output is denoised of errors from external dependencies.
`--enable-suppress-external-warnings` and `--config src/.bear-tidy-config`. Both
options may be omitted to view the full list of errors.
To run clang-tidy on all source files: To run clang-tidy on all source files:

Loading…
Cancel
Save