/* glibconfig.h
 *
 * This is a generated file.  Please modify 'glibconfig.h.in'
 */

#ifndef __GLIBCONFIG_H__
#define __GLIBCONFIG_H__

#include <glib/gmacros.h>

#include <limits.h>
#include <float.h>
#mesondefine GLIB_HAVE_ALLOCA_H

#mesondefine GLIB_STATIC_COMPILATION
#mesondefine GOBJECT_STATIC_COMPILATION
#mesondefine GIO_STATIC_COMPILATION
#mesondefine GMODULE_STATIC_COMPILATION
#mesondefine G_INTL_STATIC_COMPILATION
#mesondefine FFI_STATIC_BUILD

/* Specifies that GLib's g_print*() functions wrap the
 * system printf functions.  This is useful to know, for example,
 * when using glibc's register_printf_function().
 */
#mesondefine GLIB_USING_SYSTEM_PRINTF

G_BEGIN_DECLS

#define G_MINFLOAT	FLT_MIN
#define G_MAXFLOAT	FLT_MAX
#define G_MINDOUBLE	DBL_MIN
#define G_MAXDOUBLE	DBL_MAX
#define G_MINSHORT	SHRT_MIN
#define G_MAXSHORT	SHRT_MAX
#define G_MAXUSHORT	USHRT_MAX
#define G_MININT	INT_MIN
#define G_MAXINT	INT_MAX
#define G_MAXUINT	UINT_MAX
#define G_MINLONG	LONG_MIN
#define G_MAXLONG	LONG_MAX
#define G_MAXULONG	ULONG_MAX

typedef signed char gint8;
typedef unsigned char guint8;

typedef signed @gint16@ gint16;
typedef unsigned @gint16@ guint16;

#define G_GINT16_MODIFIER @gint16_modifier@
#define G_GINT16_FORMAT @gint16_format@
#define G_GUINT16_FORMAT @guint16_format@


typedef signed @gint32@ gint32;
typedef unsigned @gint32@ guint32;

#define G_GINT32_MODIFIER @gint32_modifier@
#define G_GINT32_FORMAT @gint32_format@
#define G_GUINT32_FORMAT @guint32_format@


#define G_HAVE_GINT64 1          /* deprecated, always true */

@glib_extension@typedef signed @gint64@ gint64;
@glib_extension@typedef unsigned @gint64@ guint64;

#define G_GINT64_CONSTANT(val)	@gint64_constant@
#define G_GUINT64_CONSTANT(val)	@guint64_constant@

#define G_GINT64_MODIFIER @gint64_modifier@
#define G_GINT64_FORMAT @gint64_format@
#define G_GUINT64_FORMAT @guint64_format@


#define GLIB_SIZEOF_VOID_P @glib_void_p@
#define GLIB_SIZEOF_LONG   @glib_long@
#define GLIB_SIZEOF_SIZE_T @glib_size_t@
#define GLIB_SIZEOF_SSIZE_T @glib_ssize_t@

typedef signed @glib_size_type_define@ gssize;
typedef unsigned @glib_size_type_define@ gsize;
#define G_GSIZE_MODIFIER @gsize_modifier@
#define G_GSSIZE_MODIFIER @gssize_modifier@
#define G_GSIZE_FORMAT @gsize_format@
#define G_GSSIZE_FORMAT @gssize_format@

#define G_MAXSIZE	G_MAXU@glib_msize_type@
#define G_MINSSIZE	G_MIN@glib_msize_type@
#define G_MAXSSIZE	G_MAX@glib_msize_type@

typedef gint64 goffset;
#define G_MINOFFSET	G_MININT64
#define G_MAXOFFSET	G_MAXINT64

#define G_GOFFSET_MODIFIER      G_GINT64_MODIFIER
#define G_GOFFSET_FORMAT        G_GINT64_FORMAT
#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val)

#define G_POLLFD_FORMAT @g_pollfd_format@

#define GPOINTER_TO_INT(p)	((gint)  @glib_gpi_cast@ (p))
#define GPOINTER_TO_UINT(p)	((guint) @glib_gpui_cast@ (p))

#define GINT_TO_POINTER(i)	((gpointer) @glib_gpi_cast@ (i))
#define GUINT_TO_POINTER(u)	((gpointer) @glib_gpui_cast@ (u))

typedef signed @glib_intptr_type_define@ gintptr;
typedef unsigned @glib_intptr_type_define@ guintptr;

#define G_GINTPTR_MODIFIER      @gintptr_modifier@
#define G_GINTPTR_FORMAT        @gintptr_format@
#define G_GUINTPTR_FORMAT       @guintptr_format@

#define GLIB_MAJOR_VERSION @GLIB_MAJOR_VERSION@
#define GLIB_MINOR_VERSION @GLIB_MINOR_VERSION@
#define GLIB_MICRO_VERSION @GLIB_MICRO_VERSION@

@glib_os@

#define G_VA_COPY va_copy
@glib_vacopy@

#define G_HAVE_ISO_VARARGS 1

/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
 * is passed ISO vararg support is turned off, and there is no work
 * around to turn it on, so we unconditionally turn it off.
 */
#if __GNUC__ == 2 && __GNUC_MINOR__ == 95
#  undef G_HAVE_ISO_VARARGS
#endif

#mesondefine G_HAVE_GROWING_STACK

#ifndef _MSC_VER
# define G_HAVE_GNUC_VARARGS 1
#endif

#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
#define G_GNUC_INTERNAL __hidden
#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY)
#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
#else
#define G_GNUC_INTERNAL
#endif

#define G_THREADS_ENABLED
#define G_THREADS_IMPL_@g_threads_impl_def@

#mesondefine G_ATOMIC_LOCK_FREE

#define GINT16_TO_@g_bs_native@(val)	((gint16) (val))
#define GUINT16_TO_@g_bs_native@(val)	((guint16) (val))
#define GINT16_TO_@g_bs_alien@(val)	((gint16) GUINT16_SWAP_LE_BE (val))
#define GUINT16_TO_@g_bs_alien@(val)	(GUINT16_SWAP_LE_BE (val))

#define GINT32_TO_@g_bs_native@(val)	((gint32) (val))
#define GUINT32_TO_@g_bs_native@(val)	((guint32) (val))
#define GINT32_TO_@g_bs_alien@(val)	((gint32) GUINT32_SWAP_LE_BE (val))
#define GUINT32_TO_@g_bs_alien@(val)	(GUINT32_SWAP_LE_BE (val))

#define GINT64_TO_@g_bs_native@(val)	((gint64) (val))
#define GUINT64_TO_@g_bs_native@(val)	((guint64) (val))
#define GINT64_TO_@g_bs_alien@(val)	((gint64) GUINT64_SWAP_LE_BE (val))
#define GUINT64_TO_@g_bs_alien@(val)	(GUINT64_SWAP_LE_BE (val))

#define GLONG_TO_LE(val)	((glong) GINT@glongbits@_TO_LE (val))
#define GULONG_TO_LE(val)	((gulong) GUINT@glongbits@_TO_LE (val))
#define GLONG_TO_BE(val)	((glong) GINT@glongbits@_TO_BE (val))
#define GULONG_TO_BE(val)	((gulong) GUINT@glongbits@_TO_BE (val))
#define GINT_TO_LE(val)		((gint) GINT@gintbits@_TO_LE (val))
#define GUINT_TO_LE(val)	((guint) GUINT@gintbits@_TO_LE (val))
#define GINT_TO_BE(val)		((gint) GINT@gintbits@_TO_BE (val))
#define GUINT_TO_BE(val)	((guint) GUINT@gintbits@_TO_BE (val))
#define GSIZE_TO_LE(val)	((gsize) GUINT@gsizebits@_TO_LE (val))
#define GSSIZE_TO_LE(val)	((gssize) GINT@gsizebits@_TO_LE (val))
#define GSIZE_TO_BE(val)	((gsize) GUINT@gsizebits@_TO_BE (val))
#define GSSIZE_TO_BE(val)	((gssize) GINT@gsizebits@_TO_BE (val))
#define G_BYTE_ORDER @g_byte_order@

#define GLIB_SYSDEF_POLLIN =@g_pollin@
#define GLIB_SYSDEF_POLLOUT =@g_pollout@
#define GLIB_SYSDEF_POLLPRI =@g_pollpri@
#define GLIB_SYSDEF_POLLHUP =@g_pollhup@
#define GLIB_SYSDEF_POLLERR =@g_pollerr@
#define GLIB_SYSDEF_POLLNVAL =@g_pollnval@

/* No way to disable deprecation warnings for macros, so only emit deprecation
 * warnings on platforms where usage of this macro is broken */
#if defined(__APPLE__) || defined(_MSC_VER) || defined(__CYGWIN__)
#define G_MODULE_SUFFIX "@g_module_suffix@" GLIB_DEPRECATED_MACRO_IN_2_76
#else
#define G_MODULE_SUFFIX "@g_module_suffix@"
#endif

typedef @g_pid_type@ GPid;
#define G_PID_FORMAT @g_pid_format@

#define GLIB_SYSDEF_AF_UNIX @g_af_unix@
#define GLIB_SYSDEF_AF_INET @g_af_inet@
#define GLIB_SYSDEF_AF_INET6 @g_af_inet6@

#define GLIB_SYSDEF_MSG_OOB @g_msg_oob@
#define GLIB_SYSDEF_MSG_PEEK @g_msg_peek@
#define GLIB_SYSDEF_MSG_DONTROUTE @g_msg_dontroute@

#define G_DIR_SEPARATOR '@g_dir_separator@'
#define G_DIR_SEPARATOR_S "@g_dir_separator@"
#define G_SEARCHPATH_SEPARATOR '@g_searchpath_separator@'
#define G_SEARCHPATH_SEPARATOR_S "@g_searchpath_separator@"

G_END_DECLS

#endif /* __GLIBCONFIG_H__ */
