File mono-2.10-external-gc.patch of Package mingw32-mono
diff -Naur mono-2.10.orig/build-mingw32.sh mono-2.10/build-mingw32.sh
--- mono-2.10.orig/build-mingw32.sh 2011-02-09 13:46:13.668009499 +0100
+++ mono-2.10/build-mingw32.sh 2011-02-09 14:16:35.752007471 +0100
@@ -79,7 +79,7 @@
cd "$CURDIR/build-cross-windows"
rm -rf *
- ../configure --prefix=$MONO_PREFIX --with-crosspkgdir=$CROSS_PKG_CONFIG_DIR --build=$BUILD --target=$MINGW --host=$MINGW --enable-parallel-mark --program-transform-name="" --with-tls=none --disable-mcs-build --disable-embed-check --enable-win32-dllmain=yes --with-libgc-threads=win32 --with-profile4=yes
+ ../configure --prefix=$MONO_PREFIX --with-crosspkgdir=$CROSS_PKG_CONFIG_DIR --build=$BUILD --target=$MINGW --host=$MINGW --enable-parallel-mark --program-transform-name="" --with-tls=none --disable-mcs-build --disable-embed-check --enable-win32-dllmain=yes --with-libgc-threads=win32 --with-profile4=yes --with-gc=boehm
make
cd "$CURDIR"
diff -Naur mono-2.10.orig/libgc/include/gc.h mono-2.10/libgc/include/gc.h
--- mono-2.10.orig/libgc/include/gc.h 2011-02-09 13:46:13.684011501 +0100
+++ mono-2.10/libgc/include/gc.h 2011-02-09 14:15:40.480003823 +0100
@@ -61,8 +61,13 @@
/* Win64 isn't really supported yet, but this is the first step. And */
/* it might cause error messages to show up in more plausible places. */
/* This needs basetsd.h, which is included by windows.h. */
+#ifdef __int64
typedef unsigned __int64 GC_word;
typedef __int64 GC_signed_word;
+#else
+ typedef unsigned long long GC_word;
+ typedef long long GC_signed_word;
+#endif
#endif
/* Public read-only variables */