summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--giscanner/giscannermodule.c4
-rw-r--r--giscanner/grealpath.h8
2 files changed, 11 insertions, 1 deletions
diff --git a/giscanner/giscannermodule.c b/giscanner/giscannermodule.c
index b7cfd6ec..86fa2449 100644
--- a/giscanner/giscannermodule.c
+++ b/giscanner/giscannermodule.c
@@ -24,6 +24,10 @@
#endif
#include <Python.h>
#include "sourcescanner.h"
+
+#ifdef G_OS_WIN32
+#define USE_WINDOWS
+#endif
#include "grealpath.h"
#ifdef _WIN32
diff --git a/giscanner/grealpath.h b/giscanner/grealpath.h
index f5af7cb5..176f57ec 100644
--- a/giscanner/grealpath.h
+++ b/giscanner/grealpath.h
@@ -2,6 +2,9 @@
#define __G_REALPATH_H__
#include <stdlib.h>
+#ifdef USE_WINDOWS
+#include <windows.h>
+#endif
/**
* g_realpath:
@@ -24,9 +27,12 @@ g_realpath (const char *path)
#else
/* We don't want to include <windows.h> as it clashes horribly
* with token names from scannerparser.h. So just declare
- * GetFullPathNameA() here.
+ * GetFullPathNameA() here unless we already defined it, like
+ * in giscanner.c.
*/
+#ifndef USE_WINDOWS
extern __stdcall GetFullPathNameA(const char*, int, char*, char**);
+#endif
char *buffer;
char dummy;
int rc, len;