From 2fedf8583bcc493f587c90bc9632d25dfd10bd10 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 7 Dec 2017 14:53:49 +0100 Subject: [PATCH] build: Do not define logging.h constants for libgpg-error dev versions. * common/logging.h [GPGRT_LOG_WITH_PREFIX]: Do not define the log constants. -- logging.h uses constants we plan to use for future versions of libgpg-error. My dev version already has the logging functions and thus I run into a conflict. This patch protects against this and make the GnuPG work with later libgpg-error versions. It was not the best idea to use constants from a planned libgpg-error in the first place. The actual problem are the enums, the macros won't harm. Signed-off-by: Werner Koch --- common/logging.h | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/common/logging.h b/common/logging.h index e1bf56b17..c6a32b45a 100644 --- a/common/logging.h +++ b/common/logging.h @@ -70,15 +70,21 @@ estream_t log_get_stream (void); : _log_assert (#expr, __FILE__, __LINE__)) #endif /*!GPGRT_HAVE_MACRO_FUNCTION*/ -/* Flag values for log_set_prefix. */ -#define GPGRT_LOG_WITH_PREFIX 1 -#define GPGRT_LOG_WITH_TIME 2 -#define GPGRT_LOG_WITH_PID 4 -#define GPGRT_LOG_RUN_DETACHED 256 -#define GPGRT_LOG_NO_REGISTRY 512 -/* Log levels as used by log_log. */ -enum jnlib_log_levels { +/* If we use an older libgpg-error we need to define the constants + * which will be used by current libgpg-error development + * versions. */ +#ifndef GPGRT_LOG_WITH_PREFIX + + /* Flag values for log_set_prefix. */ +# define GPGRT_LOG_WITH_PREFIX 1 +# define GPGRT_LOG_WITH_TIME 2 +# define GPGRT_LOG_WITH_PID 4 +# define GPGRT_LOG_RUN_DETACHED 256 +# define GPGRT_LOG_NO_REGISTRY 512 + + /* Log levels as used by log_log. */ + enum jnlib_log_levels { GPGRT_LOG_BEGIN, GPGRT_LOG_CONT, GPGRT_LOG_INFO, @@ -87,7 +93,9 @@ enum jnlib_log_levels { GPGRT_LOG_FATAL, GPGRT_LOG_BUG, GPGRT_LOG_DEBUG -}; + }; +#endif /* Old libgpg-error. */ + void log_log (int level, const char *fmt, ...) GPGRT_ATTR_PRINTF(2,3); void log_logv (int level, const char *fmt, va_list arg_ptr); void log_logv_with_prefix (int level, const char *prefix,