-/* glibconfig.h.win32 */
-/* Handcrafted for Microsoft C and gcc -mno-cygwin ("mingw32"). */
+/* glibconfig.h.win32.in Merged from two versions generated by configure for gcc and MSVC. */
+/* glibconfig.h
+ *
+ * This is a generated file. Please modify 'configure.in'
+ */
#ifndef __G_LIBCONFIG_H__
#define __G_LIBCONFIG_H__
-#include <gmacros.h>
-
-#ifdef _MSC_VER
-/* Make MSVC more pedantic, this is a recommended pragma list
- * from _Win32_Programming_ by Rector and Newcomer.
- */
-#pragma warning(error:4002)
-#pragma warning(error:4003)
-#pragma warning(1:4010)
-#pragma warning(error:4013)
-#pragma warning(1:4016)
-#pragma warning(error:4020)
-#pragma warning(error:4021)
-#pragma warning(error:4027)
-#pragma warning(error:4029)
-#pragma warning(error:4033)
-#pragma warning(error:4035)
-#pragma warning(error:4045)
-#pragma warning(error:4047)
-#pragma warning(error:4049)
-#pragma warning(error:4053)
-#pragma warning(error:4071)
-#pragma warning(disable:4101)
-#pragma warning(error:4150)
-
-#pragma warning(disable:4244) /* No possible loss of data warnings */
-#pragma warning(disable:4305) /* No truncation from int to char warnings */
-#endif /* _MSC_VER */
-
+#include <glib/gmacros.h>
#include <limits.h>
#include <float.h>
+G_BEGIN_DECLS
+
#define G_MINFLOAT FLT_MIN
#define G_MAXFLOAT FLT_MAX
#define G_MINDOUBLE DBL_MIN
#define G_MAXLONG LONG_MAX
#define G_MAXULONG ULONG_MAX
-G_BEGIN_DECLS
-
typedef signed char gint8;
typedef unsigned char guint8;
typedef signed short gint16;
typedef unsigned short guint16;
+#define G_GINT16_MODIFIER "h"
#define G_GINT16_FORMAT "hi"
#define G_GUINT16_FORMAT "hu"
typedef signed int gint32;
typedef unsigned int guint32;
+#define G_GINT32_MODIFIER ""
#define G_GINT32_FORMAT "i"
#define G_GUINT32_FORMAT "u"
+#define G_HAVE_GINT64 1 /* deprecated, always true */
-#define G_HAVE_GINT64 1
-
-/* These are compiler specific */
-#ifdef _MSC_VER
-typedef __int64 gint64;
+#ifndef _MSC_VER
+G_GNUC_EXTENSION typedef signed long long gint64;
+G_GNUC_EXTENSION typedef unsigned long long guint64;
+#else /* _MSC_VER */
+typedef signed __int64 gint64;
typedef unsigned __int64 guint64;
-#define G_GINT64_CONSTANT(val) (val##i64)
-#elif __GNUC__
-typedef long long gint64;
-typedef unsigned long long guint64;
-#define G_GINT64_CONSTANT(val) (val##LL)
-#endif
+#endif /* _MSC_VER */
-/* These depend on the C library. Using this file means the we
- * use the (bundled) Microsoft msvcrt.dll.
- */
+#ifndef _MSC_VER
+#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL))
+#else /* _MSC_VER */
+#define G_GINT64_CONSTANT(val) (val##i64)
+#endif /* _MSC_VER */
+#define G_GINT64_MODIFIER "I64"
#define G_GINT64_FORMAT "I64i"
#define G_GUINT64_FORMAT "I64u"
#define GLIB_SIZEOF_VOID_P 4
#define GLIB_SIZEOF_LONG 4
+#define GLIB_SIZEOF_SIZE_T 4
-typedef gint32 gssize;
-typedef guint32 gsize;
+typedef signed int gssize;
+typedef unsigned int gsize;
+#define G_GSIZE_MODIFIER ""
+#define G_GSSIZE_FORMAT "i"
+#define G_GSIZE_FORMAT "u"
-#define GPOINTER_TO_INT(p) ((gint)(p))
-#define GPOINTER_TO_UINT(p) ((guint)(p))
+#define G_MAXSIZE G_MAXUINT
-#define GINT_TO_POINTER(i) ((gpointer)(i))
-#define GUINT_TO_POINTER(u) ((gpointer)(u))
+#define GPOINTER_TO_INT(p) ((gint) (p))
+#define GPOINTER_TO_UINT(p) ((guint) (p))
-#define g_ATEXIT(proc) (atexit (proc))
+#define GINT_TO_POINTER(i) ((gpointer) (i))
+#define GUINT_TO_POINTER(u) ((gpointer) (u))
+
+#ifdef NeXT /* @#%@! NeXTStep */
+# define g_ATEXIT(proc) (!atexit (proc))
+#else
+# define g_ATEXIT(proc) (atexit (proc))
+#endif
#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
#define GLIB_MICRO_VERSION @GLIB_MICRO_VERSION@
#define G_OS_WIN32
+#define G_PLATFORM_WIN32
+
+#ifndef _MSC_VER
+#define G_VA_COPY va_copy
+#endif /* not _MSC_VER */
#ifdef __cplusplus
#define G_HAVE_INLINE 1
#else /* !__cplusplus */
+#ifndef _MSC_VER
+#define G_HAVE_INLINE 1
+#else /* _MSC_VER */
+
+#endif /* _MSC_VER */
#define G_HAVE___INLINE 1
+#ifndef _MSC_VER
+#define G_HAVE___INLINE__ 1
+#endif /* not _MSC_VER */
+#endif /* !__cplusplus */
+
+#ifndef _MSC_VER
+#ifndef __cplusplus
+# define G_HAVE_ISO_VARARGS 1
+#endif
+#ifdef __cplusplus
+# define G_HAVE_ISO_VARARGS 1
#endif
-#define G_THREADS_ENABLED
-/*
- * The following program can be used to determine the magic values below:
- * #include <stdio.h>
- * #include <pthread.h>
- * main(int argc, char **argv)
- * {
- * int i;
- * pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
- * printf ("sizeof (pthread_mutex_t) = %d\n", sizeof (pthread_mutex_t));
- * printf ("sizeof (pthread_t) = %d\n", sizeof (pthread_t));
- * printf ("PTHREAD_MUTEX_INITIALIZER = ");
- * for (i = 0; i < sizeof (pthread_mutex_t); i++)
- * printf ("%u, ", ((unsigned char *) &m)[i]);
- * printf ("\n");
- * exit(0);
- * }
+/* 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
-#define G_THREADS_IMPL_POSIX
-typedef struct _GStaticMutex GStaticMutex;
-struct _GStaticMutex
-{
- struct _GMutex *runtime_mutex;
- struct {
- union {
- /* The size of the pad array should be sizeof (pthread_mutex_t) */
- /* This value corresponds to the 1999-05-30 version of pthreads-win32 */
- char pad[4];
- double dummy_double;
- void *dummy_pointer;
- long dummy_long;
- } mutex;
- void *debug_info;
- } static_mutex;
-};
-/* This should be NULL followed by the bytes in PTHREAD_MUTEX_INITIALIZER */
-#define G_STATIC_MUTEX_INIT { NULL, { { 255, 255, 255, 255 } } }
-#define g_static_mutex_get_mutex(mutex) \
- (g_thread_use_default_impl ? ((GMutex*) &((mutex)->static_mutex)) : \
- g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
+#define G_HAVE_GNUC_VARARGS 1
+#endif /* not _MSC_VER */
+#define G_HAVE_GROWING_STACK 0
+
+
+#define G_GNUC_INTERNAL
+
+#define G_THREADS_ENABLED
+#define G_THREADS_IMPL_WIN32
+typedef struct _GMutex* GStaticMutex;
+#define G_STATIC_MUTEX_INIT NULL
+#define g_static_mutex_get_mutex(mutex) \
+ (g_static_mutex_get_mutex_impl_shortcut (mutex))
/* This represents a system thread as used by the implementation. An
* alien implementaion, as loaded by g_thread_init can only count on
* "sizeof (gpointer)" bytes to store their info. We however need more
typedef union _GSystemThread GSystemThread;
union _GSystemThread
{
- /* The size of the data array should be sizeof (pthread_t) */
- /* This value corresponds to the 1999-05-30 version of pthreads-win32 */
char data[4];
double dummy_double;
void *dummy_pointer;
#define GUINT16_TO_LE(val) ((guint16) (val))
#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
-
#define GINT32_TO_LE(val) ((gint32) (val))
#define GUINT32_TO_LE(val) ((guint32) (val))
#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
-
#define GINT64_TO_LE(val) ((gint64) (val))
#define GUINT64_TO_LE(val) ((guint64) (val))
#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
-
#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val))
#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val))
#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val))
#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val))
-
#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
#define G_BYTE_ORDER G_LITTLE_ENDIAN
-#define GLIB_SYSDEF_POLLIN = 1
-#define GLIB_SYSDEF_POLLOUT = 4
-#define GLIB_SYSDEF_POLLPRI = 2
-#define GLIB_SYSDEF_POLLERR = 8
-#define GLIB_SYSDEF_POLLHUP = 16
-#define GLIB_SYSDEF_POLLNVAL = 32
+#define GLIB_SYSDEF_POLLIN =1
+#define GLIB_SYSDEF_POLLOUT =4
+#define GLIB_SYSDEF_POLLPRI =2
+#define GLIB_SYSDEF_POLLHUP =16
+#define GLIB_SYSDEF_POLLERR =8
+#define GLIB_SYSDEF_POLLNVAL =32
#define G_MODULE_SUFFIX "dll"
+typedef void * GPid;
+
G_END_DECLS
-#endif /* __G_LIBCONFIG_H__ */
+#endif /* GLIBCONFIG_H */