#ifndef TCONV_CONFIG_H
#define TCONV_CONFIG_H

#cmakedefine C_INLINE                     @C_INLINE@
#cmakedefine C_INLINE_IS_INLINE           @C_INLINE_IS_INLINE@
#cmakedefine C_VA_COPY                    @C_VA_COPY@
#cmakedefine TCONV_HAVE_ICU               @TCONV_HAVE_ICU@
#cmakedefine TCONV_HAVE_ICONV             @TCONV_HAVE_ICONV@
#cmakedefine ICONV_CAN_TRANSLIT           @ICONV_CAN_TRANSLIT@
#cmakedefine ICONV_CAN_IGNORE             @ICONV_CAN_IGNORE@
#cmakedefine ICONV_IS_NOT_TRUSTABLE       @ICONV_IS_NOT_TRUSTABLE@

#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 TCONV_LIKELY(x)    C___BUILTIN_EXPECT(x, 1)
#  define TCONV_UNLIKELY(x)  C___BUILTIN_EXPECT(x, 0)
#else
#  define TCONV_LIKELY(x)    x
#  define TCONV_UNLIKELY(x)  x
#endif /* C___BUILTIN_EXPECT */

/* Convenience macro */
#ifndef TCONV_NTRACE
#define TCONV_TRACE(tconvp, fmts, ...) tconv_trace(tconvp, fmts, __VA_ARGS__)
#else
#define TCONV_TRACE(tconvp, fmts, ...)
#endif

#endif /* TCONV_CONFIG_H */