]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
build: add an option to enable sanitizers
authorVincent Bernat <vincent@bernat.im>
Thu, 17 Mar 2016 23:17:16 +0000 (00:17 +0100)
committerVincent Bernat <vincent@bernat.im>
Thu, 17 Mar 2016 23:18:05 +0000 (00:18 +0100)
A user cannot just use CFLAGS=-fsanitize=address because autoconf is too
fragile in some of its test (notably AC_FUNC_MALLOC and
AC_FUNC_REALLOC).

configure.ac

index 8dc1d784e7c6b039397e1ddede51234b3249d8ad..e19a253045f306b7ce1b2d7f7d50241c75182e46 100644 (file)
@@ -115,6 +115,21 @@ if test x"$pie" = x"yes"; then
     [AX_LDFLAGS_OPTION([-fPIE -Wl,-pie], [LLDP_BIN_LDFLAGS])])
 fi
 
+# Sanitizers
+AC_ARG_ENABLE([sanitizers],
+  AS_HELP_STRING(
+    [--enable-sanitizers],
+    [Enable code instrumentation with selected sanitizers @<:@default=no@:>@]),
+  [
+case "$enableval" in
+    no) sanitizers= ;;
+    yes) sanitizers="-fsanitize=address" ;;
+    *) sanitizers="-fsanitize=$enableval" ;;
+esac
+LLDP_CFLAGS="$LLDP_CFLAGS $sanitizers"
+LLDP_LDFLAGS="$LLDP_LDFLAGS $sanitizers"
+  ])
+
 # OS
 lldp_CHECK_OS
 lldp_CFLAGS_OS