diff --git a/src/libgdl/gdl-win32.c b/src/libgdl/gdl-win32.c
--- /dev/null
+++ b/src/libgdl/gdl-win32.c
@@ -0,0 +1,42 @@
+/*\r
+ * Windows stuff\r
+ *\r
+ * Author:\r
+ * Albin Sunnanbo\r
+ * Based on code by Lauris Kaplinski <lauris@kaplinski.com> (/src/extension/internal/win32.cpp)\r
+ *\r
+ * This code is in public domain\r
+ */\r
+\r
+#ifdef HAVE_CONFIG_H\r
+# include "config.h"\r
+#endif\r
+\r
+#include "gdl-win32.h"\r
+\r
+/* Platform detection */\r
+gboolean\r
+is_os_vista()\r
+{\r
+ static gboolean initialized = FALSE;\r
+ static gboolean is_vista = FALSE;\r
+ static OSVERSIONINFOA osver;\r
+\r
+ if ( !initialized )\r
+ {\r
+ BOOL result;\r
+\r
+ initialized = TRUE;\r
+\r
+ memset (&osver, 0, sizeof(OSVERSIONINFOA));\r
+ osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);\r
+ result = GetVersionExA (&osver);\r
+ if (result)\r
+ {\r
+ if (osver.dwMajorVersion == WIN32_MAJORVERSION_VISTA)\r
+ is_vista = TRUE;\r
+ }\r
+ }\r
+\r
+ return is_vista;\r
+}\r