configure.ac: Add --enable-warnings.

Enables warning() messages without the overhead of all debug output.
This commit is contained in:
Simon Ruderich
2013-06-10 16:18:35 +02:00
parent afca2864dc
commit 357a499884
5 changed files with 15 additions and 4 deletions

View File

@@ -58,10 +58,17 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[return __builtin_expect(main != 0, 1)])],
AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([dlsym() is required])])
AC_ARG_ENABLE([warnings],
[AS_HELP_STRING([--enable-warnings],[enable warning output])],
[if test "x$enableval" = xyes; then
AC_DEFINE([WARNING], 1, [Define to enable warning output.])
fi])
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],[enable debug output])],
[if test "x$enableval" = xyes; then
AC_DEFINE([DEBUG], 1, [Define to enable debug output.])
dnl DEBUG implies WARNING
AC_DEFINE([WARNING], 1)
fi])
dnl Used in tests/Makefile.am to build the test only if error() is available.

View File

@@ -53,7 +53,7 @@ static int force_write_to_non_tty;
#include "constants.h"
#ifdef DEBUG
#ifdef WARNING
# include "debug.h"
#endif

View File

@@ -39,6 +39,8 @@
#ifdef DEBUG
# define DEBUG_FILE "colored_stderr_debug_log.txt"
#endif
#ifdef WARNING
/* Created in the user's home directory, appends to existing file. */
# define WARNING_FILE "colored_stderr_warning_log.txt"
#endif

View File

@@ -41,6 +41,7 @@ static void debug_write(int fd, int first_call, char const *format, va_list ap)
real_close(fd);
}
#ifdef DEBUG
static void debug(char const *format, ...) {
va_list ap;
@@ -63,6 +64,7 @@ static void debug(char const *format, ...) {
errno = saved_errno;
}
#endif
static void warning(char const *format, ...) {
va_list ap;

View File

@@ -56,7 +56,7 @@ static int init_tracked_fds_list(size_t count) {
tracked_fds_list = malloc(count * sizeof(*tracked_fds_list));
if (!tracked_fds_list) {
#ifdef DEBUG
#ifdef WARNING
warning("malloc(tracked_fds_list, %d) failed [%d]\n",
count * sizeof(*tracked_fds_list), getpid());
#endif
@@ -164,7 +164,7 @@ static char *update_environment_buffer_entry(char *x, int fd) {
int length = snprintf(x, 10 + 1, "%d", fd);
if (length >= 10 + 1) {
/* Integer too big to fit the buffer, skip it. */
#ifdef DEBUG
#ifdef WARNING
warning("update_environment_buffer_entry(): truncated fd: %d [%d]\n",
fd, getpid());
#endif
@@ -245,7 +245,7 @@ static void tracked_fds_add(int fd) {
/* We can do nothing, just ignore the error. We made sure not to
* destroy our state, so the new descriptor is ignored without any
* other consequences. */
#ifdef DEBUG
#ifdef WARNING
warning("realloc(tracked_fds_list, %zu) failed! [%d]\n",
sizeof(*tracked_fds_list) * new_space, getpid());
#endif