From 548ddd5fe92fd9e14e217e68930bd036bffadc5f Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Mon, 6 Sep 2010 15:56:16 +0300 Subject: [PATCH] Fix build on Windows and possibly other non-Linux platforms Include glibconfig.h in files that test G_OS_WIN32. Include headers for GLib APIs used conditionally where needed. --- glib/gbacktrace.c | 1 + glib/gconvert.c | 6 ++++++ glib/gdate.c | 5 +++++ glib/gfileutils.c | 1 + glib/gmain.c | 18 ++++++++++++++++++ glib/gpoll.c | 4 ++++ glib/gslice.c | 1 + glib/gstdio.c | 1 + glib/gtimer.c | 2 +- glib/gutils.c | 6 ++++++ 10 files changed, 44 insertions(+), 1 deletion(-) diff --git a/glib/gbacktrace.c b/glib/gbacktrace.c index 55457e2c1..ae16ef869 100644 --- a/glib/gbacktrace.c +++ b/glib/gbacktrace.c @@ -30,6 +30,7 @@ */ #include "config.h" +#include "glibconfig.h" #include #include diff --git a/glib/gconvert.c b/glib/gconvert.c index e44a772d6..52a3dd861 100644 --- a/glib/gconvert.c +++ b/glib/gconvert.c @@ -21,6 +21,7 @@ */ #include "config.h" +#include "glibconfig.h" #ifndef G_OS_WIN32 #include @@ -50,6 +51,11 @@ #include "gthreadprivate.h" #include "gunicode.h" +#ifdef NEED_ICONV_CACHE +#include "glist.h" +#include "ghash.h" +#endif + #include "glibintl.h" #if defined(USE_LIBICONV_GNU) && !defined (_LIBICONV_H) diff --git a/glib/gdate.c b/glib/gdate.c index 60066eeaf..2fab2f27f 100644 --- a/glib/gdate.c +++ b/glib/gdate.c @@ -29,6 +29,7 @@ */ #include "config.h" +#include "glibconfig.h" #define DEBUG_MSG(x) /* */ #ifdef G_ENABLE_DEBUG @@ -53,6 +54,10 @@ #include "gthread.h" #include "gunicode.h" +#ifdef G_OS_WIN32 +#include "garray.h" +#endif + GDate* g_date_new (void) { diff --git a/glib/gfileutils.c b/glib/gfileutils.c index 0bc498040..185a756dc 100644 --- a/glib/gfileutils.c +++ b/glib/gfileutils.c @@ -19,6 +19,7 @@ */ #include "config.h" +#include "glibconfig.h" #include #ifdef HAVE_UNISTD_H diff --git a/glib/gmain.c b/glib/gmain.c index 78de717bf..91e2a8e37 100644 --- a/glib/gmain.c +++ b/glib/gmain.c @@ -31,10 +31,20 @@ * MT safe */ +#ifndef _WIN32 /* for pipe2; need to define it first to avoid * other headers pulling in unistd.h */ +/* The meaning of_GNU_SOURCE that is intended here is present only on + * Linux; avoid the possibility that some misguided header in MinGW + * looks at it. Ideally we should define _GNU_SOURCE only on platforms + * where we know what it means and that is what we want here + * (i.e. Linux with glibc). After all, there might be some other POSIX + * platform even where _GNU_SOURCE is used for some unrelated change + * in semantics that isn't wanted. Sigh. + */ #define _GNU_SOURCE +#endif #include "config.h" #include "glibconfig.h" @@ -90,6 +100,14 @@ #include "gtestutils.h" #include "gthreadprivate.h" +#ifdef G_OS_WIN32 +#include "gwin32.h" +#endif + +#ifdef G_MAIN_POLL_DEBUG +#include "gtimer.h" +#endif + /** * SECTION:main * @title: The Main Event Loop diff --git a/glib/gpoll.c b/glib/gpoll.c index 003b0117a..49bf7233d 100644 --- a/glib/gpoll.c +++ b/glib/gpoll.c @@ -79,6 +79,10 @@ #include "gpoll.h" +#ifdef G_OS_WIN32 +#include "gprintf.h" +#endif + #ifdef G_MAIN_POLL_DEBUG extern gboolean _g_main_poll_debug; #endif diff --git a/glib/gslice.c b/glib/gslice.c index 324169b25..05de6b368 100644 --- a/glib/gslice.c +++ b/glib/gslice.c @@ -19,6 +19,7 @@ /* MT safe */ #include "config.h" +#include "glibconfig.h" #if defined HAVE_POSIX_MEMALIGN && defined POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS # define HAVE_COMPLIANT_POSIX_MEMALIGN 1 diff --git a/glib/gstdio.c b/glib/gstdio.c index 786275a97..fb5a9fb59 100644 --- a/glib/gstdio.c +++ b/glib/gstdio.c @@ -19,6 +19,7 @@ */ #include "config.h" +#include "glibconfig.h" #define G_STDIO_NO_WRAP_ON_UNIX diff --git a/glib/gtimer.c b/glib/gtimer.c index 0e2bcce07..bc5b54c3f 100644 --- a/glib/gtimer.c +++ b/glib/gtimer.c @@ -37,9 +37,9 @@ #include #endif /* HAVE_UNISTD_H */ -#ifndef G_OS_WIN32 #include #include +#ifndef G_OS_WIN32 #include #endif /* G_OS_WIN32 */ diff --git a/glib/gutils.c b/glib/gutils.c index e28f6f3a9..49bbadbee 100644 --- a/glib/gutils.c +++ b/glib/gutils.c @@ -70,6 +70,12 @@ #include "gstrfuncs.h" #include "glibintl.h" +#ifdef G_PLATFORM_WIN32 +#include "garray.h" +#include "gconvert.h" +#include "gwin32.h" +#endif + #ifdef MAXPATHLEN #define G_PATH_LENGTH MAXPATHLEN #elif defined (PATH_MAX)