AC_C_FLAG([-std=gnu11], [CC="$ac_cc"], [CC="$CC -std=gnu11"])
+dnl AddressSanitizer support
+AC_ARG_ENABLE([address-sanitizer], AS_HELP_STRING([--enable-address-sanitizer], \
+ [enabled AddressSanitizer support for detecting a wide variety of \
+ memory allocation and deallocation errors]), \
+ [AC_DEFINE(HAVE_ADDRESS_SANITIZER, 1, [enable AddressSanitizer])
+ CFLAGS="$CFLAGS -fsanitize=address"
+ CXXFLAGS="$CXXFLAGS -fsanitize=address"
+ AC_TRY_COMPILE([],[const int i=0;],[AC_MSG_NOTICE([Address Sanitizer Enabled])],
+ [AC_MSG_ERROR([Address Sanitizer not available])])
+ ])
+
+dnl ThreadSanitizer support
+AC_ARG_ENABLE([thread-sanitizer], AS_HELP_STRING([--enable-thread-sanitizer], \
+ [enabled ThreadSanitizer support for detecting data races]), \
+ [AC_DEFINE(HAVE_THREAD_SANITIZER, 1, [enable ThreadSanitizer])
+ CFLAGS="$CFLAGS -fsanitize=thread"
+ CXXFLAGS="$CXXFLAGS -fsanitize=thread"
+ AC_TRY_COMPILE([],[const int i=0;],[AC_MSG_NOTICE([Thread Sanitizer Enabled])],
+ [AC_MSG_ERROR([Thread Sanitizer not available])])
+ ])
+
+dnl MemorySanitizer support
+AC_ARG_ENABLE([memory-sanitizer], AS_HELP_STRING([--enable-memory-sanitizer], \
+ [enabled MemorySanitizer support for detecting uninitialized memory reads]), \
+ [AC_DEFINE(HAVE_THREAD_SANITIZER, 1, [enable MemorySanitizer])
+ CFLAGS="$CFLAGS -fsanitize=memory -fPIE -pie"
+ CXXFLAGS="$CXXFLAGS -fsanitize=memory -fPIE -pie"
+ AC_TRY_COMPILE([],[const int i=0;],[AC_MSG_NOTICE([Memory Sanitizer Enabled])],
+ [AC_MSG_ERROR([Memory Sanitizer not available])])
+ ])
+
dnl if the user has specified any CFLAGS, override our settings
if test "x${enable_dev_build}" = "xyes"; then
AC_DEFINE(DEV_BUILD,,Build for development)
AM_CONDITIONAL(OSPF6D, test "${enable_ospf6d}" != "no")
AM_CONDITIONAL(ISISD, test "${enable_isisd}" != "no")
AM_CONDITIONAL(PIMD, test "${enable_pimd}" != "no")
+AM_CONDITIONAL(PBRD, test "${enable_pbrd}" != "no")
if test "${enable_bgp_announce}" = "no";then
AC_DEFINE(DISABLE_BGP_ANNOUNCE,1,Disable BGP installation to zebra)
snapcraft/snapcraft.yaml
lib/version.h
tests/lib/cli/test_cli.refout
- doc/defines.texi
- doc/bgpd.8
- doc/isisd.8
- doc/ospf6d.8
- doc/ospfclient.8
- doc/ospfd.8
- doc/ldpd.8
- doc/ripd.8
- doc/eigrpd.8
- doc/ripngd.8
- doc/pimd.8
- doc/mtracebis.8
- doc/nhrpd.8
- doc/vtysh.1
- doc/watchfrr.8
- doc/zebra.8
- doc/frr.1
- doc/frr-args.8
pkgsrc/bgpd.sh pkgsrc/ospf6d.sh pkgsrc/ospfd.sh
pkgsrc/ripd.sh pkgsrc/ripngd.sh pkgsrc/zebra.sh
pkgsrc/eigrpd.sh])