Changeset View
Changeset View
Standalone View
Standalone View
configure.ac
Show First 20 Lines • Show All 219 Lines • ▼ Show 20 Lines | [AS_HELP_STRING([--enable-werror], | ||||
[Treat certain compiler warnings as errors (default is no)])], | [Treat certain compiler warnings as errors (default is no)])], | ||||
[enable_werror=$enableval], | [enable_werror=$enableval], | ||||
[enable_werror=no]) | [enable_werror=no]) | ||||
AC_LANG_PUSH([C++]) | AC_LANG_PUSH([C++]) | ||||
AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""]) | AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""]) | ||||
if test "x$enable_asan" = xyes; then | if test "x$enable_asan" = xyes; then | ||||
case $host in | |||||
*mingw*) | |||||
AC_MSG_ERROR("Windows builds cannot use ASAN") | |||||
;; | |||||
esac | |||||
enable_debug=yes | enable_debug=yes | ||||
CFLAGS="$CFLAGS -fsanitize=address -fno-omit-frame-pointer" | asan_failed=no | ||||
CXXFLAGS="$CXXFLAGS -fsanitize=address -fno-omit-frame-pointer" | AX_CHECK_COMPILE_FLAG([-fsanitize=address], | ||||
LDFLAGS="$LDFLAGS -fsanitize=address" | [CXXFLAGS="$CXXFLAGS -fsanitize=address"], | ||||
[asan_failed=yes]) | |||||
AX_CHECK_LINK_FLAG([-fsanitize=address], | |||||
[LDFLAGS="$LDFLAGS -fsanitize=address"], | |||||
[asan_failed=yes]) | |||||
AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], | |||||
[CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer"], | |||||
[asan_failed=yes]) | |||||
if test "x$asan_failed" = xyes; then | |||||
AC_MSG_ERROR("ASAN is not supported") | |||||
fi | |||||
fi | fi | ||||
if test "x$enable_tsan" = xyes; then | if test "x$enable_tsan" = xyes; then | ||||
case $host in | |||||
*mingw*) | |||||
AC_MSG_ERROR("Windows builds cannot use TSAN") | |||||
;; | |||||
esac | |||||
enable_debug=yes | enable_debug=yes | ||||
CFLAGS="$CFLAGS -fsanitize=thread -fno-omit-frame-pointer" | tsan_failed=no | ||||
CXXFLAGS="$CXXFLAGS -fsanitize=thread -fno-omit-frame-pointer" | AX_CHECK_COMPILE_FLAG([-fsanitize=thread], | ||||
LDFLAGS="$LDFLAGS -fsanitize=thread" | [CXXFLAGS="$CXXFLAGS -fsanitize=thread"], | ||||
[tsan_failed=yes]) | |||||
AX_CHECK_LINK_FLAG([-fsanitize=thread], | |||||
[LDFLAGS="$LDFLAGS -fsanitize=thread"], | |||||
[tsan_failed=yes]) | |||||
AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], | |||||
[CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer"], | |||||
[tsan_failed=yes]) | |||||
if test "x$tsan_failed" = xyes; then | |||||
AC_MSG_ERROR("TSAN is not supported") | |||||
fi | |||||
fi | fi | ||||
if test "x$enable_ubsan" = xyes; then | if test "x$enable_ubsan" = xyes; then | ||||
case $host in | |||||
*mingw*) | |||||
AC_MSG_ERROR("Windows builds cannot use UBSAN") | |||||
;; | |||||
esac | |||||
enable_debug=yes | enable_debug=yes | ||||
CFLAGS="$CFLAGS -fsanitize=undefined -fno-omit-frame-pointer" | ubsan_failed=no | ||||
CXXFLAGS="$CXXFLAGS -fsanitize=undefined -fno-omit-frame-pointer" | AX_CHECK_COMPILE_FLAG([-fsanitize=undefined], | ||||
LDFLAGS="$LDFLAGS -fsanitize=undefined" | [CXXFLAGS="$CXXFLAGS -fsanitize=undefined"], | ||||
[ubsan_failed=yes]) | |||||
AX_CHECK_LINK_FLAG([-fsanitize=undefined], | |||||
[LDFLAGS="$LDFLAGS -fsanitize=undefined"], | |||||
[ubsan_failed=yes]) | |||||
AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], | |||||
[CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer"], | |||||
[ubsan_failed=yes]) | |||||
if test "x$ubsan_failed" = xyes; then | |||||
AC_MSG_ERROR("UBSAN is not supported") | |||||
fi | |||||
fi | fi | ||||
if test "x$enable_debug" = xyes; then | if test "x$enable_debug" = xyes; then | ||||
CPPFLAGS="$CPPFLAGS -DDEBUG -DDEBUG_LOCKORDER" | CPPFLAGS="$CPPFLAGS -DDEBUG -DDEBUG_LOCKORDER" | ||||
if test "x$GCC" = xyes; then | if test "x$GCC" = xyes; then | ||||
CFLAGS="$CFLAGS -g3 -O0" | CFLAGS="$CFLAGS -g3 -O0" | ||||
fi | fi | ||||
▲ Show 20 Lines • Show All 1,034 Lines • Show Last 20 Lines |