diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/Makefile.am gnuradio-core-2.5cvsmingw/Makefile.am
--- gnuradio-core-2.5cvs/Makefile.am	Sun Oct 17 21:01:56 2004
+++ gnuradio-core-2.5cvsmingw/Makefile.am	Thu May 19 14:29:26 2005
@@ -21,8 +21,8 @@
 
 include $(top_srcdir)/Makefile.common
 
-EXTRA_DIST = bootstrap configure config.h.in .buildpri gnuradio-core.pc.in README.hacking
-SUBDIRS = config src doc
+EXTRA_DIST = bootstrap configure config.h.in .buildpri gnuradio-core.pc.in README.hacking README.mingw
+SUBDIRS = config src doc mingw
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = gnuradio-core.pc
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/README.mingw gnuradio-core-2.5cvsmingw/README.mingw
--- gnuradio-core-2.5cvs/README.mingw	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/README.mingw	Thu May 19 16:17:32 2005
@@ -0,0 +1,118 @@
+hacks to make it build on mingw:
+install msys
+install mingw
+install updates to mingw/msys
+install standard win32 python in a path without spaces
+install standard win32 swig in a path without spaces
+optionally install standard wxpython (for a reduced wxgui experience with my ptched wxgui for mingw)
+build and install cppunit
+unpack boost (I am not sure if you have to build it, I did, takes a while) in a path without spaces
+
+make sure there are no cygwin executables in your path
+make sure swig and python are in your path
+make sure all dlls (of python, swig, ...) are on your path
+
+your path during should be something like:
+$ echo $PATH                                        
+.:/usr/local/bin:/mingw/bin:/bin:/c/Python24/DLLs:/c/Python24/libs:/mingw/fftw/bin:/c/Python24:/c/SWIG-1.3.24:/c/WINNT/system32:/c/WINNT:/c/WINNT/System32/Wbem:.:/c/Program Files/NVIDIA Corporation/Cg/bin
+
+use --with-md-cpu=generic:
+the optimized fir code doesn't compile on my mingw/gcc setup so use the generic code. Maybe you are lucky or know how to fix this, please let me know.
+Use configure like this:
+if you have a recent libtool (>= 1.5.18)
+./configure --enable-shared --disable-static --with-md-cpu=generic --with-cppunit-prefix=/mingw/cppunit --with-boost-include-dir=/c/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/fftw/lib/pkgconfig PYTHON=/c/Python24/python am_cv_python_pythondir=/c/Python24/Lib/site-packages am_cv_python_pyexecdir=/c/Python24/Lib/site-packages  2>&1 | tee configure.log
+
+If you have the standard libtool of msys:
+CONFIG_SITE=./mingw/mingw-config.site ./configure --enable-shared --disable-stat
+ic --with-md-cpu=generic --with-cppunit-prefix=/mingw/cppunit --with-boost-include
+-dir=/c/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/fftw/lib/pkgconf
+ig PYTHON=/c/Python24/python am_cv_python_pythondir=/c/Python24/Lib/site-packag
+es am_cv_python_pyexecdir=/c/Python24/Lib/site-packages CONFIG_SITE=./mingw/mingw-config.site 2>&1 | tee configure.log
+
+patch ./libtool (after running configure) using ./mingw/libtool_shrext_cmds.patch
+or edit the generated libtool
+ add shrext_cmds='.dll' right after shrext='.dll'
+
+problems:
+build stops with "cannot rename lib_xxxx.a, file exists"
+d:\mingw\bin\ar.exe: unable to rename '.libs/libgeneral.a' reason: File exists
+restart build and it just continues, I have no idea why this happens
+
+
+build stops because it cannot find ../../../src/lib/runtime\\runtime.i
+
+in file src/lib/swig/gnuradio_swig_python.d:
+replace all \\ by /
+(This should now be handles by the make using a sed script)
+
+ Warning: This system can not link to static lib archive ../../../src/lib/libgnuradio-core.la.
+*** I have the capability to make that library automatically link in when
+*** you link to this library.  But I can only do this if you have a
+*** shared version of the library, which you do not appear to have.
+*** But as you try to build a module library, libtool will still create 
+*** a static module, that should work as long as the dlopening application
+*** is linked with the -dlopen flag to resolve symbols at runtime.
+ar cru .libs/_gnuradio_swig_python.a .libs/gnuradio_swig_python.o
+ranlib .libs/_gnuradio_swig_python.a
+creating _gnuradio_swig_python.la
+(cd .libs && rm -f _gnuradio_swig_python.la && ln -s ../_gnuradio_swig_python.la _gnuradio_swig_python.la)
+./gen-swig-bug-fix gnuradio_swig_python.cc gnuradio_swig_bug_workaround.h
+make[5]: Leaving directory `/n/tmp/mingw/mdvhfiles/test/src/lib/swig'
+make[4]: Leaving directory `/n/tmp/mingw/mdvhfiles/test/src/lib/swig'
+make[3]: Leaving directory `/n/tmp/mingw/mdvhfiles/test/src/lib'
+ mv -f ".deps/benchmark_dotprod_ccc.Tpo" ".deps/benchmark_dotprod_ccc.Po"; else rm -f ".deps/benchmark_dotprod_ccc.Tpo"; e
+ 
+use CONFIG_SITE=./mingw/mingw-config.site when configuring
+in this file the lt_cv_file_magic_cmd is overridden to use objdump -f in stead of the win32_libid ltmain shellscript which needs the file command which standard msys lacks
+In more recent libtool (libtool 1.5.18) this is already taken care of in /usr/share/aclocal/libtool.m4
+snippet of recent libtool.m4:
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+
+
+build makes .exe in stead of .dll
+patch ./libtool (after running configure) using ./mingw/libtool_shrext_cmds.patch
+or edit the generated libtool
+ add shrext_cmds='.dll' right after shrext='.dll'
+(This is also not needed with recent libtool)
+
+# Shared library suffix (normally ".so").
+shrext='.dll'
+shrext_cmds='.dll'
+
+./libtool is regenerated every time you run configure, so you have to patch again if you reconfigure
+
+make complains that you need absolute pathnames (for rpath):
+run configure with unix style paths for PYTHON,am_cv_python_pythondir,am_cv_python_pyexecdir,--with-cppunit-prefix=,--with-boost-include-dir=
+
+If the configure script finds these paths for itsself it uses c:/path/to/something style pathnames.
+Libtool should be able to recognise these as absolute pathnames but for some reason it doesn't
+So you have to override them all with /c/path/to/something style pathnames
+examples:
+CONFIG_SITE=./mingw/mingw-config.site ./configure --enable-shared --disable-stat
+ic --with-md-cpu=generic --with-cppunit-prefix=/mingw/cppunit --with-boost-include
+-dir=/c/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/fftw/lib/pkgconf
+ig PYTHON=/c/Python24/python am_cv_python_pythondir=/c/Python24/Lib/site-packag
+es am_cv_python_pyexecdir=/c/Python24/Lib/site-packages CONFIG_SITE=./mingw/mingw-config.site 2>&1 | tee configure.log
+
+
+
+ CONFIG_SITE=./config_gnuradio.site ./configure --enable-shared --disable-stat
+ic --with-md-cpu=generic --with-cppunit-prefix=/mingw/gtk2 --with-boost-include
+-dir=/d/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/gtk2/lib/pkgconf
+ig PYTHON=/d/Python24/python am_cv_python_pythondir=/d/Python24/Lib/site-packag
+es am_cv_python_pyexecdir=/d/Python24/Lib/site-packages CONFIG_SITE=./config_gn
+uradio.site  2>&1 | tee configure6.log
+
+ CONFIG_SITE=./mingw/mingw-config.site ./configure --enable-shared --disable-stat
+ic --with-md-cpu=generic --with-cppunit-prefix=/mingw/gtk2 --with-boost-include
+-dir=/d/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/gtk2/lib/pkgconf
+ig PYTHON=/d/Python24/python am_cv_python_pythondir=/d/Python24/Lib/site-packag
+es am_cv_python_pyexecdir=/d/Python24/Lib/site-packages CONFIG_SITE=./mingw/mingw-config.site  2>&1 | tee configure7.log
+
+
+
+./configure --enable-maintainer-mode --enable-shared --disable-static --with-md-cpu=generic --with-cppunit-prefix=/mingw/gtk2 --with-boost-include-dir=/d/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/gtk2/lib/pkgconfig PYTHON=/d/Python24/python am_cv_python_pythondir=/d/Python24/Lib/site-packages am_cv_python_pyexecdir=/d/Python24/Lib/site-packages 2>&1 | tee configure7.log
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/config/gr_check_createfilemapping.m4 gnuradio-core-2.5cvsmingw/config/gr_check_createfilemapping.m4
--- gnuradio-core-2.5cvs/config/gr_check_createfilemapping.m4	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/config/gr_check_createfilemapping.m4	Wed May 18 18:45:30 2005
@@ -0,0 +1,54 @@
+dnl
+dnl Copyright 2003 Free Software Foundation, Inc.
+dnl 
+dnl This file is part of GNU Radio
+dnl 
+dnl GNU Radio is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2, or (at your option)
+dnl any later version.
+dnl 
+dnl GNU Radio is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+dnl 
+dnl You should have received a copy of the GNU General Public License
+dnl along with GNU Radio; see the file COPYING.  If not, write to
+dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+dnl Boston, MA 02111-1307, USA.
+
+dnl AC_DEFUN([GR_CHECK_CREATEFILEMAPPING],
+dnl [
+dnl   AC_CHECK_FUNCS([CreateFileMapping])
+dnl ])
+
+AC_DEFUN([GR_CHECK_CREATEFILEMAPPING],[
+  AC_MSG_CHECKING([for CreateFileMapping function])
+  AC_COMPILE_IFELSE([
+#include <windows.h>
+#include <stdio.h>
+#include <conio.h>
+int main (int argc, char **argv)
+{ 
+    HANDLE handle;
+    int size;
+    char	 	seg_name[[1024]];
+    handle = CreateFileMapping(
+                     INVALID_HANDLE_VALUE,    // use paging file
+                     NULL,                    // default security
+                     PAGE_READWRITE,          // read/write access
+                     0,                       // max. object size
+                     size,                // buffer size
+                     seg_name);                 // name of mapping object
+    return 0;
+}
+],[HAVE_CREATEFILEMAPPING=yes
+   AC_DEFINE(HAVE_CREATEFILEMAPPING,[1],[Define if you have the CreateFilemapping function(win32).])],
+  [HAVE_CREATEFILEMAPPING=no])
+
+  AC_MSG_RESULT($HAVE_CREATEFILEMAPPING)
+  AM_CONDITIONAL(HAVE_CREATEFILEMAPPING,     test x$HAVE_CREATEFILEMAPPING = xyes)
+])
+
+
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/config/gr_libgnuradio_core_extra_ldflags.m4 gnuradio-core-2.5cvsmingw/config/gr_libgnuradio_core_extra_ldflags.m4
--- gnuradio-core-2.5cvs/config/gr_libgnuradio_core_extra_ldflags.m4	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/config/gr_libgnuradio_core_extra_ldflags.m4	Wed May 18 16:14:50 2005
@@ -0,0 +1,16 @@
+dnl
+AC_DEFUN([GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+# on Mingw32 extra LDFLAGS are required
+LIBGNURADIO_CORE_EXTRA_LDFLAGS=""
+case "${host_os}" in
+        *mingw*)
+
+        # on Mingw32 extra LDFLAGS are required
+        LIBGNURADIO_CORE_EXTRA_LDFLAGS=\"-Wl,--enable-runtime-pseudo-reloc\"
+        ;;
+esac
+
+AC_SUBST(LIBGNURADIO_CORE_EXTRA_LDFLAGS)
+
+])
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/config/gr_python.m4 gnuradio-core-2.5cvsmingw/config/gr_python.m4
--- gnuradio-core-2.5cvs/config/gr_python.m4	Sun May  1 22:32:12 2005
+++ gnuradio-core-2.5cvsmingw/config/gr_python.m4	Wed May 18 17:01:24 2005
@@ -32,8 +32,10 @@
 		AC_MSG_ERROR([cannot find Python path])
 	fi
 
-	python_path=${PYTHON%/bin*}
-	for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/python/" "$python_path/" ; do
+	python_path=`echo $PYTHON | sed "s,/python[[^/]]*$,,;s,/bin.*$,,"`
+	AC_MSG_WARN([$python_path])
+	AC_MSG_WARN([$PYTHON])
+	for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/" "$python_path/include/python/" "$python_path/" ; do
 		python_path=`find $i -type f -name Python.h -print`
 		if test -n "$python_path" ; then
 			break
@@ -59,20 +61,27 @@
 
 	# Check for Python library path
 	AC_MSG_CHECKING([for Python library path])
-	python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
+	python_path=`echo $PYTHON | sed "s,/python[[^/]]*$,,;s,/bin.*$,,"`
+	python_version_nodot=`echo $PYTHON_VERSION | sed "s,\.,,"`
 	for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" "$python_path/libs" ; do
 		python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
 		if test -n "$python_path" ; then
+			libpython_name="python$PYTHON_VERSION"
+			break
+		fi
+		python_path=`find $i -type f -name libpython$python_version_nodot.* -print | sed "1q"`
+		if test -n "$python_path" ; then
+			libpython_name="python$python_version_nodot"
 			break
 		fi
 	done
 	python_path=`echo $python_path | sed "s,/libpython.*$,,"`
 	if test -z "$python_path" ; then
-		AC_MSG_ERROR([cannot find Python library path])
+		AC_MSG_WARN(cannot find Python library path)
 	fi
 	AC_MSG_RESULT([$python_path])
 
-	AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -lpython$PYTHON_VERSION"])
+	AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -l$libpython_name"])
 	#
 	python_site=`echo $python_path | sed "s/config/site-packages/"`
 	AC_SUBST([PYTHON_SITE_PKG],[$python_site])
@@ -80,10 +89,16 @@
 	# libraries which must be linked in when embedding
 	#
 	AC_MSG_CHECKING(python extra libraries)
-	PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
+        PYTHON_EXTRA_LIBS_LOCALMODLIBS=`$PYTHON -c "import distutils.sysconfig; \
+	         conf = distutils.sysconfig.get_config_var; \
+	         print conf('LOCALMODLIBS')"`
+	PYTHON_EXTRA_LIBS_LIBS=`$PYTHON -c "import distutils.sysconfig; \
                 conf = distutils.sysconfig.get_config_var; \
-                print conf('LOCALMODLIBS')+' '+conf('LIBS')"
-	AC_MSG_RESULT($PYTHON_EXTRA_LIBS)`
+	         print conf('LIBS')"`
+	if test "X$PYTHON_EXTRA_LIBS_LOCALMODLIBS" = XNone; then PYTHON_EXTRA_LIBS_LOCALMODLIBS=""; fi
+	if test "X$PYTHON_EXTRA_LIBS_LIBS" = XNone; then PYTHON_EXTRA_LIBS_LIBS=""; fi
+	PYTHON_EXTRA_LIBS="$PYTHON_EXTRA_LIBS_LOCALMODLIBS $PYTHON_EXTRA_LIBS_LIBS"
+	AC_MSG_RESULT($PYTHON_EXTRA_LIBS)
 	AC_SUBST(PYTHON_EXTRA_LIBS)
 
 
@@ -96,7 +111,8 @@
 	AC_MSG_CHECKING(Python headers and library usability)
 	AC_TRY_LINK([ #include <Python.h> ], [ PyArg_Parse(NULL, NULL); ],
 		[AC_MSG_RESULT(yes)],
-		[AC_MSG_ERROR(no)])
+		[AC_MSG_WARN(no dev lib, crossing fingers)
+		 AC_SUBST([PYTHON_LDFLAGS],[""])])
 
 	CPPFLAGS="$python_save_CPPFLAGS"
 	LIBS="$python_save_LIBS"
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/configure.ac gnuradio-core-2.5cvsmingw/configure.ac
--- gnuradio-core-2.5cvs/configure.ac	Thu Mar 31 09:18:42 2005
+++ gnuradio-core-2.5cvsmingw/configure.ac	Thu May 19 16:12:10 2005
@@ -23,7 +23,7 @@
 AC_CONFIG_SRCDIR([src/lib/runtime/gr_vmcircbuf.cc])
 AM_CONFIG_HEADER(config.h)
 AC_CANONICAL_TARGET([])
-AM_INIT_AUTOMAKE(gnuradio-core,2.5cvs)
+AM_INIT_AUTOMAKE(gnuradio-core,2.5cvsmingw)
 
 dnl disable maintainer rules: e.g., rebuilding configure, makefile.in's unless
 dnl user explicitly specifies --enable-maintainer-mode
@@ -114,6 +114,8 @@
 ])
 
 GR_CHECK_SHM_OPEN
+GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS
+GR_CHECK_CREATEFILEMAPPING
 
 dnl Check for Mingw support
 GR_PWIN32
@@ -156,6 +158,7 @@
 	  Makefile \
 	  gnuradio-core.pc \
 	  config/Makefile \
+	  mingw/Makefile \
 	  doc/Doxyfile \
 	  doc/Makefile \
 	  doc/other/Makefile \
@@ -190,6 +193,8 @@
 
 dnl kludge up initial swig dependency file
 AC_CONFIG_COMMANDS([swig_deps], [rm -f src/lib/swig/gnuradio_swig_python.d;
-				 touch src/lib/swig/gnuradio_swig_python.d])
+				 rm -f src/lib/swig/gnuradio_swig_python.d1;
+				 touch src/lib/swig/gnuradio_swig_python.d;
+				 touch src/lib/swig/gnuradio_swig_python.d1;])
 
 AC_OUTPUT
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/mingw/Makefile.am gnuradio-core-2.5cvsmingw/mingw/Makefile.am
--- gnuradio-core-2.5cvs/mingw/Makefile.am	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/mingw/Makefile.am	Thu May 19 15:55:40 2005
@@ -0,0 +1,25 @@
+#
+# Copyright 2001 Free Software Foundation, Inc.
+# 
+# This file is part of GNU Radio
+# 
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+# 
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+# 
+
+include $(top_srcdir)/Makefile.common
+
+EXTRA_DIST = mingw-config.site libtool_shrext_cmds.patch convert_pathnames_of_gnuradio_swig_python.d.sh
+
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/mingw/convert_pathnames_of_gnuradio_swig_python.d.sh gnuradio-core-2.5cvsmingw/mingw/convert_pathnames_of_gnuradio_swig_python.d.sh
--- gnuradio-core-2.5cvs/mingw/convert_pathnames_of_gnuradio_swig_python.d.sh	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/mingw/convert_pathnames_of_gnuradio_swig_python.d.sh	Thu May 19 15:55:16 2005
@@ -0,0 +1,3 @@
+#! /bin/sh
+cp src/lib/swig/gnuradio_swig_python.d src/lib/swig/gnuradio_swig_python.d1
+cat gnuradio_swig_python.d1 | sed 's,\\\\,/,g' >src/lib/swig/gnuradio_swig_python.d
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/mingw/libtool_shrext_cmds.patch gnuradio-core-2.5cvsmingw/mingw/libtool_shrext_cmds.patch
--- gnuradio-core-2.5cvs/mingw/libtool_shrext_cmds.patch	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/mingw/libtool_shrext_cmds.patch	Thu May 19 14:40:20 2005
@@ -0,0 +1,22 @@
+--- libtool.orig	Thu May 19 14:36:30 2005
++++ libtool	Thu May 19 04:05:26 2005
+@@ -123,17 +123,18 @@
+ 
+ # Object file suffix (normally "o").
+ objext="o"
+ 
+ # Old archive suffix (normally "a").
+ libext="a"
+ 
+ # Shared library suffix (normally ".so").
+-shrext='.dll'
++shrext='.dll'
++shrext_cmds='.dll'
+ 
+ # Executable file suffix (normally "").
+ exeext=""
+ 
+ # Additional compiler flags for building library objects.
+ pic_flag=" -DDLL_EXPORT -DPIC"
+ pic_mode=default
+ 
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/mingw/mingw-config.site gnuradio-core-2.5cvsmingw/mingw/mingw-config.site
--- gnuradio-core-2.5cvs/mingw/mingw-config.site	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/mingw/mingw-config.site	Thu May 19 01:51:14 2005
@@ -0,0 +1,2 @@
+lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'}
+lt_cv_file_magic_cmd=${lt_cv_file_magic_cmd='$OBJDUMP -f'}
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/Makefile.am gnuradio-core-2.5cvsmingw/src/lib/Makefile.am
--- gnuradio-core-2.5cvs/src/lib/Makefile.am	Sun May  1 23:27:02 2005
+++ gnuradio-core-2.5cvsmingw/src/lib/Makefile.am	Fri May  6 00:13:38 2005
@@ -33,8 +33,8 @@
 
 libgnuradio_core_la_SOURCES = bug_work_around_6.cc
 # only on mingw32
-#libgnuradio_core_la_LDFLAGS = "-Wl,--enable-runtime-pseudo-reloc" -no-undefined -version-info 0:0:0
-libgnuradio_core_la_LDFLAGS = -no-undefined -version-info 0:0:0
+libgnuradio_core_la_LDFLAGS = "-Wl,--enable-runtime-pseudo-reloc" -no-undefined -version-info 0:0:0
+#libgnuradio_core_la_LDFLAGS = -no-undefined -version-info 0:0:0
 
 FIXME = \
 	atsc/libatsc.la			
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/io/gr_file_sink.cc gnuradio-core-2.5cvsmingw/src/lib/io/gr_file_sink.cc
--- gnuradio-core-2.5cvs/src/lib/io/gr_file_sink.cc	Mon Jul  5 00:07:22 2004
+++ gnuradio-core-2.5cvsmingw/src/lib/io/gr_file_sink.cc	Wed May 18 18:58:14 2005
@@ -32,6 +32,16 @@
 #include <fcntl.h>
 #include <stdexcept>
 
+// win32 (mingw/msvc) specific
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
+#ifdef O_BINARY
+#define	OUR_O_BINARY O_BINARY
+#else
+#define	OUR_O_BINARY 0
+#endif
+
 // should be handled via configure
 #ifdef O_LARGEFILE
 #define	OUR_O_LARGEFILE	O_LARGEFILE
@@ -49,7 +59,7 @@
 
   int fd;
   if ((fd = open (filename,
-		  O_WRONLY | O_CREAT | O_TRUNC | OUR_O_LARGEFILE, 0664)) < 0){
+		  O_WRONLY | O_CREAT | O_TRUNC | OUR_O_LARGEFILE | OUR_O_BINARY, 0664)) < 0){
     perror (filename);
     throw std::runtime_error ("can't open file");
   }
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/io/gr_file_source.cc gnuradio-core-2.5cvsmingw/src/lib/io/gr_file_source.cc
--- gnuradio-core-2.5cvs/src/lib/io/gr_file_source.cc	Mon Feb  7 22:46:54 2005
+++ gnuradio-core-2.5cvsmingw/src/lib/io/gr_file_source.cc	Wed May 18 19:33:18 2005
@@ -32,6 +32,15 @@
 #include <fcntl.h>
 #include <stdexcept>
 
+// win32 (mingw/msvc) specific
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
+#ifdef O_BINARY
+#define	OUR_O_BINARY O_BINARY
+#else
+#define	OUR_O_BINARY 0
+#endif
 // should be handled via configure
 #ifdef O_LARGEFILE
 #define	OUR_O_LARGEFILE	O_LARGEFILE
@@ -48,7 +57,7 @@
   // we use "open" to use to the O_LARGEFILE flag
   
   int fd;
-  if ((fd = open (filename, O_RDONLY | OUR_O_LARGEFILE)) < 0){
+  if ((fd = open (filename, O_RDONLY | OUR_O_LARGEFILE | OUR_O_BINARY)) < 0){
     perror (filename);
     throw std::runtime_error ("can't open file");
   }
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/runtime/Makefile.am gnuradio-core-2.5cvsmingw/src/lib/runtime/Makefile.am
--- gnuradio-core-2.5cvs/src/lib/runtime/Makefile.am	Thu Mar 31 09:18:42 2005
+++ gnuradio-core-2.5cvsmingw/src/lib/runtime/Makefile.am	Wed May 18 19:54:34 2005
@@ -47,6 +47,7 @@
 	gr_vmcircbuf.cc				\
 	gr_vmcircbuf_mmap_shm_open.cc		\
 	gr_vmcircbuf_mmap_tmpfile.cc		\
+	gr_vmcircbuf_createfilemapping.cc	\
 	gr_vmcircbuf_sysv_shm.cc		\
 	gr_select_handler.cc			\
 	qa_gr_block.cc				\
@@ -81,6 +82,7 @@
 	gr_vmcircbuf_mmap_shm_open.h		\
 	gr_vmcircbuf_mmap_tmpfile.h		\
 	gr_vmcircbuf_sysv_shm.h			\
+	gr_vmcircbuf_createfilemapping.h	\
 	qa_gr_block.h				\
 	qa_gr_buffer.h				\
 	qa_gr_io_signature.h			\
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/runtime/gr_vmcircbuf.cc gnuradio-core-2.5cvsmingw/src/lib/runtime/gr_vmcircbuf.cc
--- gnuradio-core-2.5cvs/src/lib/runtime/gr_vmcircbuf.cc	Sun Jan 23 16:06:42 2005
+++ gnuradio-core-2.5cvsmingw/src/lib/runtime/gr_vmcircbuf.cc	Thu May 19 04:37:34 2005
@@ -31,6 +31,7 @@
 #include <gr_local_sighandler.h>
 
 // all the factories we know about
+#include <gr_vmcircbuf_createfilemapping.h>
 #include <gr_vmcircbuf_sysv_shm.h>
 #include <gr_vmcircbuf_mmap_shm_open.h>
 #include <gr_vmcircbuf_mmap_tmpfile.h>
@@ -97,6 +98,7 @@
 {
   std::vector<gr_vmcircbuf_factory *> result;
 
+  result.push_back (gr_vmcircbuf_createfilemapping_factory::singleton ());
   result.push_back (gr_vmcircbuf_sysv_shm_factory::singleton ());
   result.push_back (gr_vmcircbuf_mmap_shm_open_factory::singleton ());
   result.push_back (gr_vmcircbuf_mmap_tmpfile_factory::singleton ());
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/runtime/gr_vmcircbuf.h gnuradio-core-2.5cvsmingw/src/lib/runtime/gr_vmcircbuf.h
--- gnuradio-core-2.5cvs/src/lib/runtime/gr_vmcircbuf.h	Sat Apr 10 20:00:56 2004
+++ gnuradio-core-2.5cvsmingw/src/lib/runtime/gr_vmcircbuf.h	Wed May 18 19:29:10 2005
@@ -32,16 +32,16 @@
  protected:
   int	 d_size;
   char	*d_base;
-
+  char  *d_second;//needed for win32
   // CREATORS
-  gr_vmcircbuf (int size) : d_size (size), d_base (0) {};
+  gr_vmcircbuf (int size) : d_size (size), d_base (0),d_second(0) {};
 
  public:
   virtual ~gr_vmcircbuf ();
 
   // ACCESSORS
   void *pointer_to_first_copy ()  const { return d_base; }
-  void *pointer_to_second_copy () const { return d_base + d_size; }
+  void *pointer_to_second_copy () const { if(d_second) return d_second; else return d_base + d_size;}
 };
 
 /*!
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/runtime/gr_vmcircbuf_createfilemapping.cc gnuradio-core-2.5cvsmingw/src/lib/runtime/gr_vmcircbuf_createfilemapping.cc
--- gnuradio-core-2.5cvs/src/lib/runtime/gr_vmcircbuf_createfilemapping.cc	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/src/lib/runtime/gr_vmcircbuf_createfilemapping.cc	Wed May 18 19:53:06 2005
@@ -0,0 +1,162 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2003 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include <gr_vmcircbuf_createfilemapping.h>
+#include <stdexcept>
+#include <assert.h>
+#include <unistd.h>
+#include <fcntl.h>
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_MMAN_H
+#include <sys/mman.h>
+#endif
+#include <errno.h>
+#include <stdio.h>
+#include <gr_pagesize.h>
+#include <gr_tmp_path.h>
+
+
+static int s_seg_counter = 0;
+
+gr_vmcircbuf_createfilemapping::gr_vmcircbuf_createfilemapping (int size)
+  : gr_vmcircbuf (size)
+{
+#if !defined(HAVE_CREATEFILEMAPPING)
+  fprintf (stderr, "%s: createfilemapping is not available\n",__FUNCTION__);
+  throw std::runtime_error ("gr_vmcircbuf_createfilemapping");
+#else
+  if (size <= 0 || (size % gr_pagesize ()) != 0){
+    fprintf (stderr, "gr_vmcircbuf_createfilemapping: invalid size = %d\n", size);
+    throw std::runtime_error ("gr_vmcircbuf_createfilemapping");
+  }
+     char	 	seg_name[1024];
+      snprintf (seg_name, sizeof (seg_name),
+		"/gnuradio-%d-%d", getpid (), s_seg_counter);
+   d_handle = CreateFileMapping(
+                 INVALID_HANDLE_VALUE,    // use paging file
+                 NULL,                    // default security
+                 PAGE_READWRITE,          // read/write access
+                 0,                       // max. object size
+                 size,                // buffer size
+                 seg_name);                 // name of mapping object
+
+   s_seg_counter++;
+   if (d_handle == NULL || d_handle == INVALID_HANDLE_VALUE){
+
+         char msg[1024];
+         snprintf (msg, sizeof (msg), "gr_vmcircbuf_mmap_createfilemapping: CreateFileMapping [%s] :%d", seg_name,GetLastError());
+         perror (msg);
+         throw std::runtime_error ("gr_vmcircbuf_mmap_createfilemapping");
+    }
+   first_copy =  MapViewOfFile((HANDLE)d_handle,   // handle to map object
+                        FILE_MAP_ALL_ACCESS, // read/write permission
+                        0,
+                        0,
+                        size);
+   if (first_copy == NULL){
+          CloseHandle(d_handle);						// cleanup
+       char msg[1024];
+	   snprintf (msg, sizeof (msg), "gr_vmcircbuf_mmap_createfilemapping: mmap (1) :%d", GetLastError());
+       perror (msg);
+       throw std::runtime_error ("gr_vmcircbuf_mmap_createfilemapping");
+   }
+   second_copy =  MapViewOfFile((HANDLE)d_handle,   // handle to map object
+                        FILE_MAP_ALL_ACCESS, // read/write permission
+                        0,
+                        0,
+                        size);
+   if (second_copy == NULL){
+          CloseHandle(d_handle);						// cleanup
+       char msg[1024];
+	   snprintf (msg, sizeof (msg), "gr_vmcircbuf_mmap_createfilemapping: mmap (2) :%d", GetLastError());
+       perror (msg);
+       throw std::runtime_error ("gr_vmcircbuf_mmap_createfilemapping");
+   }
+//  CloseHandle(d_handle);		// is d_handle still needed ?  Is the mapping is retained?
+
+  // Now remember the important stuff
+
+  d_base = (char *) first_copy;
+  d_second =(char *) second_copy;
+  d_size = size;
+#endif /*HAVE_CREATEFILEMAPPING*/
+}
+
+gr_vmcircbuf_createfilemapping::~gr_vmcircbuf_createfilemapping ()
+{
+
+#ifdef HAVE_CREATEFILEMAPPING
+if (UnmapViewOfFile(first_copy) == 0){
+    perror ("gr_vmcircbuf_createfilemapping: UnmapViewOfFile(first_copy)");
+  }
+ d_base=NULL;
+if (UnmapViewOfFile(second_copy) == 0){
+    perror ("gr_vmcircbuf_createfilemapping: UnmapViewOfFile(second_copy)");
+  }
+ d_second=NULL;
+   CloseHandle(d_handle);
+#endif
+
+}
+
+// ----------------------------------------------------------------
+//			The factory interface
+// ----------------------------------------------------------------
+
+
+gr_vmcircbuf_factory *gr_vmcircbuf_createfilemapping_factory::s_the_factory = 0;
+
+gr_vmcircbuf_factory *
+gr_vmcircbuf_createfilemapping_factory::singleton ()
+{
+  if (s_the_factory)
+    return s_the_factory;
+
+  s_the_factory = new gr_vmcircbuf_createfilemapping_factory ();
+  return s_the_factory;
+}
+
+int
+gr_vmcircbuf_createfilemapping_factory::granularity ()
+{
+  #ifdef WIN32
+	  return 65536;
+  #else
+  return gr_pagesize ();
+  #endif
+}
+
+gr_vmcircbuf *
+gr_vmcircbuf_createfilemapping_factory::make (int size)
+{
+  try {
+    return new gr_vmcircbuf_createfilemapping (size);
+  }
+  catch (...){
+    return 0;
+  }
+}
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/runtime/gr_vmcircbuf_createfilemapping.h gnuradio-core-2.5cvsmingw/src/lib/runtime/gr_vmcircbuf_createfilemapping.h
--- gnuradio-core-2.5cvs/src/lib/runtime/gr_vmcircbuf_createfilemapping.h	Thu Jan  1 01:00:00 1970
+++ gnuradio-core-2.5cvsmingw/src/lib/runtime/gr_vmcircbuf_createfilemapping.h	Wed May 18 19:49:58 2005
@@ -0,0 +1,77 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2003 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _GR_VMCIRCBUF_CREATEFILEMAPPING_H_
+#define _GR_VMCIRCBUF_CREATEFILEMAPPING_H_
+
+#include <gr_vmcircbuf.h>
+
+#ifdef HAVE_CREATEFILEMAPPING
+#include <windows.h>
+#include <stdio.h>
+#include <conio.h>
+#endif
+/*!
+ * \brief concrete class to implement circular buffers with mmap and shm_open
+ */
+class gr_vmcircbuf_createfilemapping : public gr_vmcircbuf {
+ public:
+
+  // CREATORS
+
+  gr_vmcircbuf_createfilemapping (int size);
+  virtual ~gr_vmcircbuf_createfilemapping ();
+  #ifdef HAVE_CREATEFILEMAPPING
+ private:
+    HANDLE d_handle;
+    LPVOID first_copy;
+    LPVOID second_copy;
+  #endif
+
+};
+
+/*!
+ * \brief concrete factory for circular buffers built using mmap and shm_open
+ */
+class gr_vmcircbuf_createfilemapping_factory : public gr_vmcircbuf_factory {
+ private:
+  static gr_vmcircbuf_factory	*s_the_factory;
+
+ public:
+  static gr_vmcircbuf_factory *singleton ();
+
+  virtual const char *name () const { return "gr_vmcircbuf_createfilemapping_factory"; }
+
+  /*!
+   * \brief return granularity of mapping, typically equal to page size
+   */
+  virtual int granularity ();
+
+  /*!
+   * \brief return a gr_vmcircbuf, or 0 if unable.
+   *
+   * Call this to create a doubly mapped circular buffer.
+   */
+  virtual gr_vmcircbuf *make (int size);
+};
+
+#endif /* _GR_VMCIRCBUF_CREATEFILEMAPPING_H_ */
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/swig/Makefile.am gnuradio-core-2.5cvsmingw/src/lib/swig/Makefile.am
--- gnuradio-core-2.5cvs/src/lib/swig/Makefile.am	Sun May  1 21:04:20 2005
+++ gnuradio-core-2.5cvsmingw/src/lib/swig/Makefile.am	Thu May 19 15:11:34 2005
@@ -78,9 +78,12 @@
 # If it works, we have accurate dependencies for our swig stuff, which is good.
 @am__include@ @am__quote@./gnuradio_swig_python.d@am__quote@
 
+#KLUDGE2 run a sed script to change all double backslashes into single forward slashes, needed for mingw using standard win32 swig and python
 gnuradio_swig_python.cc gnuradio_swig_python.py : gnuradio.i
 	if $(SWIG) $(SWIGCPPPYTHONARGS) -MMD -MF "$*.Td" -module gnuradio_swig_python -o gnuradio_swig_python.cc $< ;\
-	then mv -f "$*.Td" "$*.d"; else rm -f "$*.Td"; exit 1; fi
+	then mv -f "$*.Td" "$*.d1"; \
+	     cat "$*.d1" | sed 's,\\\\,/,g' >"$*.d"; \
+	else rm -f "$*.Td"; exit 1; fi
 
 gnuradio_swig_bug_workaround.h : gnuradio_swig_python.cc
 	$(srcdir)/gen-swig-bug-fix $< $@
@@ -97,3 +100,4 @@
 	$(BUILT_SOURCES) *~ *.pyc 
 
 # DISTCLEANFILES = gnuradio_swig_python.d
+# DISTCLEANFILES = gnuradio_swig_python.d1
diff -urbN --exclude-from=./.diffignore gnuradio-core-2.5cvs/src/lib/swig/gnuradio_swig_python.cc gnuradio-core-2.5cvsmingw/src/lib/swig/gnuradio_swig_python.cc
--- gnuradio-core-2.5cvs/src/lib/swig/gnuradio_swig_python.cc	Mon May  2 00:15:58 2005
+++ gnuradio-core-2.5cvsmingw/src/lib/swig/gnuradio_swig_python.cc	Thu May 19 04:09:16 2005
@@ -1793,7 +1793,7 @@
 }
 
 
-  /*@/usr/share/swig1.3/python/pymacros.swg,66,SWIG_define@*/
+  /*@d:\\SWIG-1.3.24\\Lib\\python\\pymacros.swg,66,SWIG_define@*/
 #define SWIG_From_unsigned_SS_char PyInt_FromLong
 /*@@*/
 
@@ -2867,7 +2867,7 @@
 }
 
 
-  /*@/usr/share/swig1.3/python/pymacros.swg,66,SWIG_define@*/
+  /*@d:\\SWIG-1.3.24\\Lib\\python\\pymacros.swg,66,SWIG_define@*/
 #define SWIG_From_short PyInt_FromLong
 /*@@*/
 
@@ -2987,7 +2987,7 @@
 #endif
 
 
-  /*@/usr/share/swig1.3/python/pymacros.swg,66,SWIG_define@*/
+  /*@d:\\SWIG-1.3.24\\Lib\\python\\pymacros.swg,66,SWIG_define@*/
 #define SWIG_From_int PyInt_FromLong
 /*@@*/
 
@@ -3151,7 +3151,7 @@
 }
 
 
-  /*@/usr/share/swig1.3/python/pymacros.swg,66,SWIG_define@*/
+  /*@d:\\SWIG-1.3.24\\Lib\\python\\pymacros.swg,66,SWIG_define@*/
 #define SWIG_From_float PyFloat_FromDouble
 /*@@*/
 
@@ -3241,7 +3241,7 @@
       self->push_back(x);
     }
 
-  /*@/usr/share/swig1.3/python/pymacros.swg,66,SWIG_define@*/
+  /*@d:\\SWIG-1.3.24\\Lib\\python\\pymacros.swg,66,SWIG_define@*/
 #define SWIG_From_double PyFloat_FromDouble
 /*@@*/
 
@@ -3367,7 +3367,7 @@
 
 
 SWIGINTERNSHORT PyObject*
-  SWIG_From_std_complex_Sl_float_Sg_(/*@/usr/share/swig1.3/python/pymacros.swg,67,SWIG_cplusplus@*/
+  SWIG_From_std_complex_Sl_float_Sg_(/*@d:\\SWIG-1.3.24\\Lib\\python\\pymacros.swg,67,SWIG_cplusplus@*/
 
 const std::complex<float>&
 
@@ -3477,7 +3477,7 @@
 #include <gr_error_handler.h>
 
 
-  /*@/usr/share/swig1.3/python/pymacros.swg,66,SWIG_define@*/
+  /*@d:\\SWIG-1.3.24\\Lib\\python\\pymacros.swg,66,SWIG_define@*/
 #define SWIG_From_long PyInt_FromLong
 /*@@*/
 
@@ -5020,7 +5020,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -5069,7 +5069,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -5137,7 +5137,7 @@
                 SWIG_fail;
             }      
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -5185,7 +5185,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -5225,7 +5225,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -5269,7 +5269,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -5319,7 +5319,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -5954,7 +5954,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -6003,7 +6003,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -6071,7 +6071,7 @@
                 SWIG_fail;
             }      
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -6119,7 +6119,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -6159,7 +6159,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -6203,7 +6203,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -6253,7 +6253,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -6888,7 +6888,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -6937,7 +6937,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7005,7 +7005,7 @@
                 SWIG_fail;
             }      
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7053,7 +7053,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7093,7 +7093,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7137,7 +7137,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7187,7 +7187,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7822,7 +7822,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7871,7 +7871,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7939,7 +7939,7 @@
                 SWIG_fail;
             }      
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -7987,7 +7987,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -8027,7 +8027,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -8071,7 +8071,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -8121,7 +8121,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -8756,7 +8756,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -8805,7 +8805,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -8873,7 +8873,7 @@
                 SWIG_fail;
             }      
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -8921,7 +8921,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -8961,7 +8961,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9005,7 +9005,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9055,7 +9055,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9690,7 +9690,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9739,7 +9739,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9807,7 +9807,7 @@
                 SWIG_fail;
             }      
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9855,7 +9855,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9895,7 +9895,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9939,7 +9939,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -9989,7 +9989,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -10624,7 +10624,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -10673,7 +10673,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -10741,7 +10741,7 @@
                 SWIG_fail;
             }      
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -10789,7 +10789,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -10829,7 +10829,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -10873,7 +10873,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -10923,7 +10923,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -12497,7 +12497,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -12548,7 +12548,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -12616,7 +12616,7 @@
                 SWIG_fail;
             }      
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -12664,7 +12664,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -12704,7 +12704,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -12748,7 +12748,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {
@@ -12798,7 +12798,7 @@
                 SWIG_fail;
             }
         }
-        /*@/usr/share/swig1.3/exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+        /*@d:\\SWIG-1.3.24\\Lib\\exception.i,336,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
             SWIG_exception(SWIG_SystemError, e.what() );
         }
         catch (...) {

