mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-27 11:06:21 +00:00
Revert build: enable -Wconversion/-Wsign-compare and add --enable-sanitizers
This reverts the configure.ac Tracked as a TODO under issue #112.
This commit is contained in:
24
configure.ac
24
configure.ac
@@ -71,8 +71,6 @@ AC_ARG_ENABLE([omemo-qrcode],
|
|||||||
[AS_HELP_STRING([--enable-omemo-qrcode], [enable ability to display omemo qr code])])
|
[AS_HELP_STRING([--enable-omemo-qrcode], [enable ability to display omemo qr code])])
|
||||||
AC_ARG_ENABLE([coverage],
|
AC_ARG_ENABLE([coverage],
|
||||||
[AS_HELP_STRING([--enable-coverage], [enable code coverage analysis])])
|
[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])
|
m4_include([m4/ax_valgrind_check.m4])
|
||||||
AX_VALGRIND_DFLT([drd], [off])
|
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
|
# GCC-specific warnings (not supported by clang) — test each one
|
||||||
saved_CFLAGS="$CFLAGS"
|
saved_CFLAGS="$CFLAGS"
|
||||||
for _flag in -Wlogical-op -Wduplicated-cond -Wduplicated-branches \
|
for _flag in -Wlogical-op -Wduplicated-cond -Wduplicated-branches \
|
||||||
-Wstringop-overflow -Warray-bounds=2 -Walloc-zero \
|
-Wstringop-overflow -Warray-bounds=2 -Walloc-zero; do
|
||||||
-Wsign-compare -Wconversion; do
|
|
||||||
AC_MSG_CHECKING([whether $CC supports $_flag])
|
AC_MSG_CHECKING([whether $CC supports $_flag])
|
||||||
CFLAGS="$saved_CFLAGS $_flag -Werror"
|
CFLAGS="$saved_CFLAGS $_flag -Werror"
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
||||||
@@ -427,28 +424,11 @@ AS_IF([test "x$enable_coverage" = xyes],
|
|||||||
AM_LDFLAGS="$AM_LDFLAGS --coverage"
|
AM_LDFLAGS="$AM_LDFLAGS --coverage"
|
||||||
AC_MSG_NOTICE([Code coverage analysis enabled])])
|
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],
|
AS_IF([test "x$PACKAGE_STATUS" = xdevelopment],
|
||||||
[AM_CFLAGS="$AM_CFLAGS -Wunused -Werror"
|
[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"])
|
|
||||||
AS_IF([test "x$PLATFORM" = xosx],
|
AS_IF([test "x$PLATFORM" = xosx],
|
||||||
[AM_CFLAGS="$AM_CFLAGS -Qunused-arguments"])
|
[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 $PTHREAD_CFLAGS $glib_CFLAGS $gio_CFLAGS $curl_CFLAGS ${SQLITE_CFLAGS}"
|
||||||
AM_CFLAGS="$AM_CFLAGS $libnotify_CFLAGS ${GTK_CFLAGS} $python_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\\\"\""
|
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\\\"\""
|
||||||
|
|||||||
Reference in New Issue
Block a user