diff --git a/configure.ac b/configure.ac index 6ae0550c..9858a117 100644 --- a/configure.ac +++ b/configure.ac @@ -71,8 +71,6 @@ AC_ARG_ENABLE([omemo-qrcode], [AS_HELP_STRING([--enable-omemo-qrcode], [enable ability to display omemo qr code])]) AC_ARG_ENABLE([coverage], [AS_HELP_STRING([--enable-coverage], [enable code coverage analysis])]) -AC_ARG_ENABLE([sanitizers], - [AS_HELP_STRING([--enable-sanitizers], [enable AddressSanitizer + UndefinedBehaviorSanitizer + unsigned-integer-overflow])]) m4_include([m4/ax_valgrind_check.m4]) AX_VALGRIND_DFLT([drd], [off]) @@ -399,8 +397,7 @@ AM_CFLAGS="$AM_CFLAGS -std=gnu99 -ggdb3" # GCC-specific warnings (not supported by clang) — test each one saved_CFLAGS="$CFLAGS" for _flag in -Wlogical-op -Wduplicated-cond -Wduplicated-branches \ - -Wstringop-overflow -Warray-bounds=2 -Walloc-zero \ - -Wsign-compare -Wconversion; do + -Wstringop-overflow -Warray-bounds=2 -Walloc-zero; do AC_MSG_CHECKING([whether $CC supports $_flag]) CFLAGS="$saved_CFLAGS $_flag -Werror" AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], @@ -427,28 +424,11 @@ AS_IF([test "x$enable_coverage" = xyes], AM_LDFLAGS="$AM_LDFLAGS --coverage" AC_MSG_NOTICE([Code coverage analysis enabled])]) -AS_IF([test "x$enable_sanitizers" = xyes], - [SAN_FLAGS="-fsanitize=address,undefined,unsigned-integer-overflow -fno-sanitize-recover=all -fno-omit-frame-pointer" - AM_CFLAGS="$AM_CFLAGS $SAN_FLAGS" - AM_LDFLAGS="$AM_LDFLAGS -fsanitize=address,undefined" - AC_MSG_NOTICE([Sanitizers enabled: ASan + UBSan + unsigned-integer-overflow])]) - AS_IF([test "x$PACKAGE_STATUS" = xdevelopment], - [AM_CFLAGS="$AM_CFLAGS -Wunused -Werror" - # -Wsign-conversion and -Wsign-compare still emit ~230 warnings - # across the tree (mostly inherited from upstream). Keep them - # visible in build logs but let development builds continue; - # the plain narrowing / float-conversion categories are already - # clean and are kept as hard errors. - AM_CFLAGS="$AM_CFLAGS -Wno-error=sign-conversion -Wno-error=sign-compare"]) + [AM_CFLAGS="$AM_CFLAGS -Wunused -Werror"]) AS_IF([test "x$PLATFORM" = xosx], [AM_CFLAGS="$AM_CFLAGS -Qunused-arguments"]) -# Treat glib/gio headers as system so -Wconversion does not scream -# about GPOINTER_TO_UINT etc. inside glibconfig.h. -glib_CFLAGS=$(echo "$glib_CFLAGS" | sed 's/-I/-isystem /g') -gio_CFLAGS=$(echo "$gio_CFLAGS" | sed 's/-I/-isystem /g') - AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS $glib_CFLAGS $gio_CFLAGS $curl_CFLAGS ${SQLITE_CFLAGS}" AM_CFLAGS="$AM_CFLAGS $libnotify_CFLAGS ${GTK_CFLAGS} $python_CFLAGS" AM_CFLAGS="$AM_CFLAGS -DTHEMES_PATH=\"\\\"$THEMES_PATH\\\"\" -DICONS_PATH=\"\\\"$ICONS_PATH\\\"\" -DGLOBAL_PYTHON_PLUGINS_PATH=\"\\\"$GLOBAL_PYTHON_PLUGINS_PATH\\\"\" -DGLOBAL_C_PLUGINS_PATH=\"\\\"$GLOBAL_C_PLUGINS_PATH\\\"\""