#ifndef GENERICLOGGER_CONFIG_H
#define GENERICLOGGER_CONFIG_H

#include "genericLogger/export.h"

#cmakedefine HAVE_STDIO_H       @HAVE_STDIO_H@
#cmakedefine HAVE_STDDEF_H      @HAVE_STDDEF_H@
#cmakedefine HAVE_STDLIB_H      @HAVE_STDLIB_H@
#cmakedefine HAVE_STDARG_H      @HAVE_STDARG_H@
#cmakedefine HAVE_STDINT_H      @HAVE_STDINT_H@
#cmakedefine HAVE_SYS_TIME_H    @HAVE_SYS_TIME_H@
#cmakedefine HAVE_SYS_TYPES_H   @HAVE_SYS_TYPES_H@
#cmakedefine HAVE_ERRNO_H       @HAVE_ERRNO_H@
#cmakedefine HAVE_STRING_H      @HAVE_STRING_H@
#cmakedefine HAVE_UNISTD_H      @HAVE_UNISTD_H@
#cmakedefine HAVE_IO_H          @HAVE_IO_H@
#cmakedefine HAVE_TIME_H        @HAVE_TIME_H@

#cmakedefine C_INLINE           @C_INLINE@
#cmakedefine C_INLINE_IS_INLINE @C_INLINE_IS_INLINE@
#cmakedefine C_VA_COPY          @C_VA_COPY@
#cmakedefine C_FILENO           @C_FILENO@
#cmakedefine C_WRITE            @C_WRITE@
#cmakedefine C_VSNPRINTF        @C_VSNPRINTF@
#cmakedefine C_LOCALTIME_R      @C_LOCALTIME_R@

#ifndef __cplusplus
#  ifndef C_INLINE
#    define inline
#  else
#    ifndef C_INLINE_IS_INLINE
/* Next line is never executed when inline is "inline" */
#      define inline C_INLINE
#    endif
#  endif
#endif

/* __builtin_expect support */
#cmakedefine C___BUILTIN_EXPECT @C___BUILTIN_EXPECT@
#ifdef C___BUILTIN_EXPECT
#  define GENERICLOGGER_LIKELY(x)    C___BUILTIN_EXPECT(x, 1)
#  define GENERICLOGGER_UNLIKELY(x)  C___BUILTIN_EXPECT(x, 0)
#else
#  define GENERICLOGGER_LIKELY(x)    x
#  define GENERICLOGGER_UNLIKELY(x)  x
#endif /* C___BUILTIN_EXPECT */

#endif /* GENERICLOGGER_CONFIG_H */