Enabling assert in default is better for development. This patch adds options for configure script: --enable-assert and --disable-assert. If a user want to disable assert, passing --disable-assert is required.
Signed-off-by: Hitoshi Mitake <mitake.hito...@lab.ntt.co.jp> --- configure.ac | 11 +++++++++++ include/util.h | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 6a9e552..f78aa3b 100644 --- a/configure.ac +++ b/configure.ac @@ -206,6 +206,10 @@ AC_ARG_ENABLE([debug], [ --enable-debug : enable debug build. ], [ default="no" ]) +AC_ARG_ENABLE([assert], + [ --enable-assert : enable assert. ],, + [ enable_assert="yes" ],) + AC_ARG_ENABLE([unittest], [ --enable-unittest : enable unittest. ], [ default="no" ]) @@ -295,6 +299,13 @@ else OPT_CFLAGS="-DNDEBUG" fi +if test "x${enable_assert}" = xyes; then + AC_DEFINE_UNQUOTED([ASSERT], [1], [Enabling assert]) + PACKAGE_FEATURES="$PACKAGE_FEATURES assert" +else + OPT_CFLAGS="-DNASSERT" +fi + # gdb flags if test "x${GCC}" = xyes; then GDB_FLAGS="-ggdb3" diff --git a/include/util.h b/include/util.h index d230f7f..9da872d 100644 --- a/include/util.h +++ b/include/util.h @@ -215,7 +215,7 @@ double get_time_interval(const struct timespec *start, #error "Don't include assert.h, use util.h for assert()" #endif -#ifndef NDEBUG +#ifndef NASSERT #define assert(expr) \ ({ \ if (!(expr)) { \ @@ -225,7 +225,7 @@ double get_time_interval(const struct timespec *start, }) #else #define assert(expr) ((void)0) -#endif /* NDEBUG */ +#endif /* NASSERT */ #define SWAP(a, b) { typeof(a) tmp; tmp = a; a = b; b = tmp; } -- 1.8.3.2 -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog