[enable_debug=no]
)
+AC_ARG_ENABLE([debug-expensive],
+ [AS_HELP_STRING([--enable-debug-expensive], [enable expensive consistency checks (implies --enable-debug) @<:@no@:>@])],
+ [],
+ [enable_debug_expensive=no]
+)
+
AC_ARG_ENABLE([memcheck],
[AS_HELP_STRING([--enable-memcheck], [check memory allocations when debugging @<:@yes@:>@])],
[],
AC_ARG_VAR([BISON], [location of the Bison program])
AC_ARG_VAR([M4], [location of the M4 program])
+if test "$enable_debug_expensive" = yes; then
+ enable_debug=yes
+fi
if test "$srcdir" = . ; then
# Building in current directory => create obj directory holding all objects
AC_CHECK_LIB([efence], [malloc])
fi
fi
+
+ if test "enable_debug_expensive" = yes ; then
+ AC_DEFINE([ENABLE_EXPENSIVE_CHECKS], [1], [Define to 1 if you want to run expensive consistency checks.])
+ fi
fi
CLIENT=birdcl
#define ASSERT_DIE(x) do { if (!(x)) bug("Assertion '%s' failed at %s:%d", #x, __FILE__, __LINE__); } while(0)
+#define EXPENSIVE_CHECK(x) /* intentionally left blank */
+
#ifdef DEBUGGING
#define ASSERT(x) ASSERT_DIE(x)
#define ASSUME(x) ASSERT_DIE(x)
+#ifdef ENABLE_EXPENSIVE_CHECKS
+#undef EXPENSIVE_CHECK
+#define EXPENSIVE_CHECK(x) ASSERT_DIE(x)
+#endif
#else
#define ASSERT(x) do { if (!(x)) log(L_BUG "Assertion '%s' failed at %s:%d", #x, __FILE__, __LINE__); } while(0)
#define ASSUME(x) /* intentionally left blank */
#endif
+
/* Pseudorandom numbers */
u32 random_u32(void);