#ifdef HAVE_BOEHM_GC
- /* libgc specifies this on the command line,
- * so we must define it ourselfs
- */
-# define GC_GCJ_SUPPORT
+# ifdef _MSC_VER
+# include <winsock2.h>
+# else
+ /* libgc specifies this on the command line,
+ * so we must define it ourselfs
+ */
+# define GC_GCJ_SUPPORT
+# endif
+
/*
* Local allocation is only beneficial if we have __thread
* We had to fix a bug with include order in libgc, so only do
* it if it is the included one.
*/
-# if defined(HAVE_KW_THREAD) && defined(USE_INCLUDED_LIBGC)
+# if defined(HAVE_KW_THREAD) && defined(USE_INCLUDED_LIBGC) && !defined(__powerpc__)
# define GC_REDIRECT_TO_LOCAL
# endif
*/
# define MONO_GC_PRE_INIT() GC_init ()
+#if defined(PLATFORM_WIN32)
+#define CreateThread GC_CreateThread
+#endif
+
#else
# define MONO_GC_REGISTER_ROOT(x) /* nop */
# define MONO_GC_PRE_INIT()