File mono-3.0.7-external-gc.patch of Package mingw32-mono
diff -Naur mono-3.0.7/build-mingw32.sh mono-3.0.7-external-gc/build-mingw32.sh
--- mono-3.0.7/build-mingw32.sh 2013-03-08 05:31:07.000000000 +0100
+++ mono-3.0.7-external-gc/build-mingw32.sh 2013-06-16 12:35:56.407295896 +0200
@@ -136,7 +136,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-3.0.7/libgc/include/gc.h mono-3.0.7-external-gc/libgc/include/gc.h
--- mono-3.0.7/libgc/include/gc.h 2013-03-08 05:31:56.000000000 +0100
+++ mono-3.0.7-external-gc/libgc/include/gc.h 2013-06-16 12:39:31.851294038 +0200
@@ -62,8 +62,13 @@
/* it might cause error messages to show up in more plausible places. */
/* This needs basetsd.h, which is included by windows.h. */
#include <stdint.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 */