+dnl
+dnl debug
+dnl
+
+AC_ARG_ENABLE([debug],
+ AC_HELP_STRING([--enable-debug], [compile with debug symbols @<:@default=no@:>@]),
+ [want_debug="$enableval"], [want_debug=no])
+
+if test "x$want_debug" = "xyes" -a $ac_cv_c_compiler_gnu != no; then
+ CFLAGS="$CFLAGS -g3 -Werror"
+ AC_DEFINE([DEBUG], [], [Define for debugging])
+fi
+
+dnl
+dnl testing
+dnl
+
+AC_ARG_ENABLE([testing],
+ AC_HELP_STRING([--enable-testing], [use strict compiler flags for testing @<:@default=no@:>@]),
+ [want_testing="$enableval"], [want_testing=no])
+
+if test "x$want_testing" = "xyes" -a $ac_cv_c_compiler_gnu != no; then
+ if test "x$want_debug" = "xyes"; then
+ CFLAGS="$CFLAGS -Wextra -Wunused -Wdeclaration-after-statement -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wold-style-definition -Winline -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -std=c99 -pedantic"
+ AC_DEFINE([TESTING], [], [Define for testing (enables strict compiler flags)])
+ else
+ CFLAGS="$CFLAGS -g3 -Werror -Wextra -Wunused -Wdeclaration-after-statement -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wold-style-definition -Winline -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -std=c99 -pedantic"
+ AC_DEFINE([TESTING], [], [Define for testing (enables strict compiler flags)])
+ fi
+fi
+