#ifndef MARPAWRAPPER_CONFIG_H
#define MARPAWRAPPER_CONFIG_H

#cmakedefine C_INLINE @C_INLINE@
#cmakedefine C_INLINE_IS_INLINE @C_INLINE_IS_INLINE@
#cmakedefine NULL_IS_ZEROES @NULL_IS_ZEROES@
#cmakedefine C_VA_COPY @C_VA_COPY@
#cmakedefine C_VSNPRINTF @C_VSNPRINTF@

#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

#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@
#ifndef SIZEOF_SIZE_T
#define size_t unsigned int
#endif

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

/* We want genericStack to use inline and __builtin_expect() if they exist */
#define GENERICSTACK_INLINE inline
#define GENERICSTACK_LIKELY(x) MARPAWRAPPER_LIKELY(x)
#define GENERICSTACK_UNLIKELY(x) MARPAWRAPPER_UNLIKELY(x)

#endif /* MARPAWRAPPER_CONFIG_H */