When LIBASOUND_DEBUG=1 is set, the errors in hw_params configuration
will be dumped to stderr. Note that this will show even the non-fatal
errors of plug layer (trial-and-error of parameters).
-When LIBASOUND_DEBUG=2 is set, the default error message handler calls
-assert() to catch with a debugger, in addition to parameter debugging.
This feature is disabled when --with-debug=no is passed to configure,
i.e. no strict checking is done in alsa-lib.
+In addition, when --enable-debug-assert configure option is given and
+when LIBASOUND_DEBUG_ASSERT=1 is set, the default error message
+handler can call assert() to catch with a debugger. This feature was
+formerly activated via LIBASOUND_DEBUG=2.
+
Blocking Open Mode
==================
AC_MSG_RESULT(no)
fi
+if test "$debug" = "yes"; then
+ AC_MSG_CHECKING(for debug assert)
+ AC_ARG_ENABLE(debug-assert,
+ AS_HELP_STRING([--enable-debug],
+ [enable assert call at the default error message handler]),
+ debug_assert="$enableval", debug_assert="no")
+ if test "$debug_assert" = "yes"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(ALSA_DEBUG_ASSERT,,[Enable assert at error message handler])
+ else
+ AC_MSG_RESULT(no)
+ fi
+fi
+
dnl Temporary directory
AC_MSG_CHECKING(for tmpdir)
AC_ARG_WITH(tmpdir,
fprintf(stderr, ": %s", snd_strerror(err));
putc('\n', stderr);
va_end(arg);
- if (! strcmp(verbose, "assert") || atoi(verbose) > 1)
+#ifdef ALSA_DEBUG_ASSERT
+ verbose = getenv("LIBASOUND_DEBUG_ASSERT");
+ if (verbose && *verbose)
assert(0);
+#endif
}
/**