aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx
diff options
context:
space:
mode:
authorTuncer Ayaz <[email protected]>2014-07-11 21:24:50 +0200
committerTuncer Ayaz <[email protected]>2014-07-12 10:31:30 +0200
commitcc894a72098322e12700e543297dc333b11951de (patch)
treeb024fec5133fb604534928aef597d78705b81304 /lib/wx
parent9a1419a7d4325085dc2235a8531d77e1d96ea689 (diff)
downloadotp-cc894a72098322e12700e543297dc333b11951de.tar.gz
otp-cc894a72098322e12700e543297dc333b11951de.tar.bz2
otp-cc894a72098322e12700e543297dc333b11951de.zip
Implement --enable-sanitizers[=sanitizers]
Similar to debugging with Valgrind, it's very useful to enable -fsanitize= switches to catch bugs at runtime. $ ./configure Result: no sanitizer enabled $ ./configure --enable-sanitizers Result: -fsanitize=address,undefined $ ./configure --enable-sanitizers=address,thread,undefined Result: -fsanitize=address,thread,undefined $ ./configure --enable-sanitizers=undefined Result: -fsanitize=undefined
Diffstat (limited to 'lib/wx')
-rw-r--r--lib/wx/configure.in21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/wx/configure.in b/lib/wx/configure.in
index a96f1f2632..4c4d4f41a8 100644
--- a/lib/wx/configure.in
+++ b/lib/wx/configure.in
@@ -677,6 +677,27 @@ if test "x$GCC" = xyes; then
LM_TRY_ENABLE_CFLAG([-Werror=return-type], [CXXFLAGS])
fi
+dnl ----------------------------------------------------------------------
+dnl Enable -fsanitize= flags.
+dnl ----------------------------------------------------------------------
+
+m4_define(DEFAULT_SANITIZERS, [address,undefined])
+AC_ARG_ENABLE(
+ sanitizers,
+ AS_HELP_STRING(
+ [--enable-sanitizers@<:@=comma-separated list of sanitizers@:>@],
+ [Default=DEFAULT_SANITIZERS]),
+[
+case "$enableval" in
+ no) sanitizers= ;;
+ yes) sanitizers="-fsanitize=DEFAULT_SANITIZERS" ;;
+ *) sanitizers="-fsanitize=$enableval" ;;
+esac
+CFLAGS="$CFLAGS $sanitizers"
+CXXFLAGS="$CXXFLAGS $sanitizers"
+LDFLAGS="$LDFLAGS $sanitizers"
+])
+
#############################################################################
dnl