[Gtk-sharp-list] cygwin csc with autotools part 2

John Luke jluke@users.sourceforge.net
Thu, 03 Jun 2004 01:35:45 -0400


This is a multi-part message in MIME format.
--------------060600000602040803070401
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

John Luke wrote:

> Hello all,
>
> I have attached the first part of making gtk# compile on cygwin with 
> the regular autotools build.
> Note that this does not even get to the unmanaged part yet and is 
> incomplete.  You need to do two things to get it to work:
> 1. add the path to csc.exe to your path before running autogen.sh
> 2. disable strong-name verification for the gtk# assemblies before 
> make install
>
> Unfortunately I had to split the compile, install, uninstall commands 
> into .NET and mono specific versions because the gacutil is not 
> compatible and csc could not handle generated/*.cs correctly.
> Apologies if I broke anything on the linux side, and I am not sure 
> distcheck still works with this.
> If it is ok someone else will have to commit it for me.
>
> P.S. using a combination of autogen.sh, make -f makefile.win32 and 
> make install might work ok

Updated to (hopefully) build the glue on win32 correctly.

--------------060600000602040803070401
Content-Type: text/plain;
 name="cygwin2.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="cygwin2.patch"

? configure.lineno
? cygwin2.patch
? cygwincsc.patch
? gtk-sharp-0.93.99
? gdk/glue/gdksharpglue.def
? gdk/glue/gdksharpglue.dll
? glade/glue/gladesharpglue.def
? glade/glue/gladesharpglue.dll
? glib/glue/glibsharpglue.def
? glib/glue/glibsharpglue.dll
? glib/glue/make.log
? gtk/glue/gtksharpglue.def
? gtk/glue/gtksharpglue.dll
? sample/custom-cellrenderer.pdb
? sample/custom-widget.pdb
? sample/drawing-sample.pdb
? sample/testdnd.pdb
? sample/GtkDemo/GtkDemo.pdb
Index: ChangeLog
===================================================================
RCS file: /mono/gtk-sharp/ChangeLog,v
retrieving revision 1.838
diff -u -r1.838 ChangeLog
--- ChangeLog	1 Jun 2004 18:31:19 -0000	1.838
+++ ChangeLog	3 Jun 2004 05:30:59 -0000
@@ -1,3 +1,22 @@
+2004-06-02  John Luke
+	
+	* configure.in: add ENABLE_MONO conditional
+	add WIN32 conditional and test for it
+	* atk/Makefile.am:
+	* gdk/Makefile.am:
+	* glade/Makefile.am:
+	* glib/Makefile.am:
+	* pango/Makefile.am:
+	* gtk/Makefile.am: split the compile, install, and uninstall commands
+	into mono and csc versions based on ENABLE_MONO condition
+	* parser/Makefile.am: remove libxml2 stuff
+	* sample/Makefile.am: use csc compatible switches,
+	and disable drawing-sample.exe when not on mono
+	* sample/test/Makefile.am:
+	* sample/GtkDemo/Makefile.am: use /out: instead of -o 
+	* */*/glue/Makefile.am:
+	add WIN32 specific compiling
+
 2004-06-01  Jeroen Zwartepoorte  <jeroen@xs4all.nl>
 
 	* sample/CustomWidget.cs: Add custom widget sample.
Index: configure.in
===================================================================
RCS file: /mono/gtk-sharp/configure.in,v
retrieving revision 1.73
diff -u -r1.73 configure.in
--- configure.in	31 May 2004 18:49:31 -0000	1.73
+++ configure.in	3 Jun 2004 05:30:59 -0000
@@ -59,6 +59,39 @@
 	fi
 )
 
+case "$host" in
+        *-*-mingw*|*-*-cygwin*)
+                platform_win32=yes
+                AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
+                CC="gcc -mno-cygwin -mms-bitfields"
+                HOST_CC="gcc"
+                export CC
+				;;
+		*-*-*netbsd*)
+                platform_win32=no
+                ;;
+        *-*-*freebsd*|*-*-*openbsd*)
+                platform_win32=no
+                ;;
+        *-*-linux*)
+                platform_win32=no
+                ;;
+        *-*-hpux*)
+                platform_win32=no
+                ;;
+        *-*-solaris*)
+                platform_win32=no
+                ;;
+        *-*-darwin*)
+                platform_win32=no
+                ;;
+		*)
+                AC_MSG_WARN([*** Please add $host to configure.in checks!])
+                platform_win32=no
+                ;;
+esac
+AC_MSG_RESULT(ok)
+
 MONO_REQUIRED_VERSION=0.91.99
 PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false)
 
@@ -176,6 +209,7 @@
 VTE_REQUIRED_VERSION=0.11.10
 PKG_CHECK_MODULES(VTE_DEPENDENCIES, vte >= $VTE_REQUIRED_VERSION, enable_vte=yes, enable_vte=no)
 
+AM_CONDITIONAL(ENABLE_MONO, test "x$enable_mono" = "xyes")
 AM_CONDITIONAL(ENABLE_LIBART, test "x$enable_libart" = "xyes")
 AM_CONDITIONAL(ENABLE_GNOME, test "x$enable_gnome" = "xyes")
 AM_CONDITIONAL(ENABLE_GLADE, test "x$enable_glade" = "xyes")
@@ -185,6 +219,7 @@
 AM_CONDITIONAL(ENABLE_GTKHTML, test "x$enable_gtkhtml" = "xyes")
 AM_CONDITIONAL(ENABLE_VTE, test "x$enable_vte" = "xyes")
 AM_CONDITIONAL(ENABLE_MONODOC, test "x$enable_monodoc" = "xyes")
+AM_CONDITIONAL(WIN32, test "x$platform_win32" = "xyes")
 
 
 AC_SUBST(CFLAGS)
@@ -276,6 +311,7 @@
 echo "   * Installation prefix = $prefix"
 echo "   * $CS compiler: $CSC"
 echo "   * Documentation: $enable_monodoc ($MONODOC)"
+echo "   * Win32: $platform_win32"
 echo ""
 echo "   Optional assemblies included in the build:"
 echo ""
Index: atk/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/atk/Makefile.am,v
retrieving revision 1.9
diff -u -r1.9 Makefile.am
--- atk/Makefile.am	27 May 2004 02:06:03 -0000	1.9
+++ atk/Makefile.am	3 Jun 2004 05:30:59 -0000
@@ -47,17 +47,35 @@
 	cp $(top_srcdir)/gtk-sharp.pub .
 
 $(ASSEMBLY): $(build_sources) generated-stamp gtk-sharp.pub
-	$(CSC) --unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+if ENABLE_MONO
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+else
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) /recurse:*.cs
+endif
 
 install-data-local:
+if ENABLE_MONO
 	@if test -n '$(TARGET)'; then						\
 	  echo "$(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
 	  $(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
 	fi
+else
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /i $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /i $(ASSEMBLY) /f || exit 1;	\
+	fi
+endif
 
 uninstall-local:
+if ENABLE_MONO
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	fi
+else
 	@if test -n '$(TARGET)'; then						\
-	  echo "$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
-	  $(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f || exit 1;	\
 	fi
+endif
 
Index: gdk/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/gdk/Makefile.am,v
retrieving revision 1.11
diff -u -r1.11 Makefile.am
--- gdk/Makefile.am	27 May 2004 02:06:04 -0000	1.11
+++ gdk/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -85,17 +85,35 @@
 	cp $(top_srcdir)/gtk-sharp.pub .
 
 $(ASSEMBLY): $(build_sources) generated-stamp gtk-sharp.pub
-	$(CSC) --unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+if ENABLE_MONO
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+else
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) /recurse:*.cs
+endif
 
 install-data-local:
+if ENABLE_MONO
 	@if test -n '$(TARGET)'; then						\
 	  echo "$(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
 	  $(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
 	fi
+else
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /i $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /i $(ASSEMBLY) /f || exit 1;	\
+	fi
+endif
 
 uninstall-local:
+if ENABLE_MONO
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	fi
+else
 	@if test -n '$(TARGET)'; then						\
-	  echo "$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
-	  $(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f || exit 1;	\
 	fi
+endif
 
Index: gdk/glue/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/gdk/glue/Makefile.am,v
retrieving revision 1.5
diff -u -r1.5 Makefile.am
--- gdk/glue/Makefile.am	30 Apr 2004 19:08:16 -0000	1.5
+++ gdk/glue/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -1,3 +1,22 @@
+if WIN32
+DLLWRAP=dllwrap -mno-cygwin -mms-bitfields --target i386-mingw32 --export-all-symbols
+
+GLUE_OBJS = \
+	dragcontext.o		\
+        event.o                 \
+        selection.o             \
+	win32dll.o
+		
+all: gdksharpglue.dll
+
+win32dll.o: win32dll.c
+	$(CC) -c $(CFLAGS) `pkg-config --cflags gtk+-win32-2.0 libglade-2.0` -o $@ $^
+
+gdksharpglue.dll: win32dll.o
+	$(DLLWRAP) --output-lib=libgdksharpglue.a --dllname=gdksharpglue.dll --driver-name=gcc --output-def=gdksharpglue.def $(GLUE_OBJS) $(GTK_LIBS)
+
+endif
+
 lib_LTLIBRARIES = libgdksharpglue.la
 
 libgdksharpglue_la_SOURCES =	\
@@ -7,9 +26,6 @@
 	vmglueheaders.h		\
 	windowmanager.c
 
-# Adding a new glue file?
-# Please remember to update makefile.win32
-
 libgdksharpglue_la_LDFLAGS = -module -avoid-version
 
 libgdksharpglue_la_LIBADD = $(GTK_LIBS)
@@ -19,6 +35,6 @@
 libgdksharpglue.dll: $(libgdksharpglue_la_OBJECTS) libgdksharpglue.rc libgdksharpglue.def
 	./build-dll libgdksharpglue $(VERSION)
 
-CLEANFILES = lib*.a lib*.dll
+CLEANFILES = lib*.a *.dll
 
-EXTRA_DIST = makefile.win32 win32dll.c
+EXTRA_DIST = win32dll.c
Index: glade/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/glade/Makefile.am,v
retrieving revision 1.8
diff -u -r1.8 Makefile.am
--- glade/Makefile.am	27 May 2004 02:06:04 -0000	1.8
+++ glade/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -61,17 +61,35 @@
 	cp $(top_srcdir)/gtk-sharp.pub .
 
 $(ASSEMBLY): $(build_sources) generated-stamp gtk-sharp.pub
-	$(CSC) --unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+if ENABLE_MONO
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+else
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) /recurse:*.cs
+endif
 
 install-data-local:
+if ENABLE_MONO
 	@if test -n '$(TARGET)'; then						\
 	  echo "$(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
 	  $(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
 	fi
+else
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /i $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /i $(ASSEMBLY) /f || exit 1;	\
+	fi
+endif
 
 uninstall-local:
+if ENABLE_MONO
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	fi
+else
 	@if test -n '$(TARGET)'; then						\
-	  echo "$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
-	  $(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f || exit 1;	\
 	fi
+endif
 
Index: glade/glue/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/glade/glue/Makefile.am,v
retrieving revision 1.2
diff -u -r1.2 Makefile.am
--- glade/glue/Makefile.am	30 Apr 2004 19:08:16 -0000	1.2
+++ glade/glue/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -1,3 +1,20 @@
+if WIN32
+DLLWRAP=dllwrap -mno-cygwin -mms-bitfields --target i386-mingw32 --export-all-symbols
+
+GLUE_OBJS = \
+	gladexml.o              \
+	win32dll.o
+		
+all: gladesharpglue.dll
+
+win32dll.o: win32dll.c
+	$(CC) -c $(CFLAGS) `pkg-config --cflags gtk+-win32-2.0 libglade-2.0` -o $@ $^
+
+gladesharpglue.dll: win32dll.o
+	$(DLLWRAP) --output-lib=libgladesharpglue.a --dllname=gladesharpglue.dll --driver-name=gcc --output-def=gladesharpglue.def $(GLUE_OBJS) $(GTK_LIBS)
+
+endif
+
 lib_LTLIBRARIES = $(TARGET)
 
 if ENABLE_GLADE
@@ -18,6 +35,6 @@
 libgladesharpglue.dll: $(libgladesharpglue_la_OBJECTS) libgladesharpglue.rc libgladesharpglue.def
 	./build-dll libgladesharpglue $(VERSION)
 
-CLEANFILES = lib*.a lib*.dll
+CLEANFILES = lib*.a *.dll
 
-EXTRA_DIST = makefile.win32 win32dll.c
+EXTRA_DIST = win32dll.c
Index: glib/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/glib/Makefile.am,v
retrieving revision 1.8
diff -u -r1.8 Makefile.am
--- glib/Makefile.am	19 May 2004 18:57:27 -0000	1.8
+++ glib/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -60,14 +60,28 @@
 	$(CSC) /out:$(ASSEMBLY) /target:library $(references) $(build_sources)
 
 install-data-local:
+if ENABLE_MONO
 	@if test -n '$(TARGET)'; then						\
 	  echo "$(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
 	  $(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
 	fi
+else
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /i $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /i $(ASSEMBLY) /f || exit 1;	\
+	fi
+endif
 
 uninstall-local:
+if ENABLE_MONO
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	fi
+else
 	@if test -n '$(TARGET)'; then						\
-	  echo "$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
-	  $(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f || exit 1;	\
 	fi
+endif
 
Index: glib/glue/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/glib/glue/Makefile.am,v
retrieving revision 1.4
diff -u -r1.4 Makefile.am
--- glib/glue/Makefile.am	19 May 2004 18:57:27 -0000	1.4
+++ glib/glue/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -1,3 +1,27 @@
+if WIN32
+DLLWRAP=dllwrap -mno-cygwin -mms-bitfields --target i386-mingw32 --export-all-symbols
+
+GLUE_OBJS = \
+        error.o                 \
+        list.o                  \
+        object.o                \
+        slist.o                 \
+        type.o                  \
+        unichar.o               \
+        value.o                 \
+        valuearray.o            \
+	win32dll.o
+
+all: glibsharpglue.dll
+
+win32dll.o: win32dll.c
+	$(CC) -c $(CFLAGS) `pkg-config --cflags gtk+-win32-2.0 libglade-2.0` -o $@ $^
+
+glibsharpglue.dll: win32dll.o
+	$(DLLWRAP) --output-lib=libglibsharpglue.a --dllname=glibsharpglue.dll --driver-name=gcc --output-def=glibsharpglue.def $(GLUE_OBJS) $(GTK_LIBS)
+	
+endif
+
 lib_LTLIBRARIES = libglibsharpglue.la
 
 libglibsharpglue_la_LDFLAGS = -module -avoid-version
@@ -12,9 +36,6 @@
 	value.c			\
 	valuearray.c
 
-# Adding a new glue file?
-# Please remember to update makefile.win32
-
 libglibsharpglue_la_LIBADD = $(GLIB_LIBS)
 
 INCLUDES = $(GLIB_CFLAGS) -I$(top_srcdir)
@@ -22,6 +43,6 @@
 libgtksharpglue.dll: $(libgtksharpglue_la_OBJECTS) libgtksharpglue.rc libgtksharpglue.def
 	./build-dll libgtksharpglue $(VERSION)
 
-CLEANFILES = lib*.a lib*.dll
+CLEANFILES = lib*.a *.dll
 
-EXTRA_DIST = makefile.win32 win32dll.c
+EXTRA_DIST = win32dll.c
Index: gtk/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/gtk/Makefile.am,v
retrieving revision 1.16
diff -u -r1.16 Makefile.am
--- gtk/Makefile.am	28 May 2004 15:05:36 -0000	1.16
+++ gtk/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -116,13 +116,24 @@
 	cp $(top_srcdir)/gtk-sharp.pub .
 
 $(ASSEMBLY): $(build_sources) generated-stamp gtk-sharp.pub
-	$(CSC) --unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+if ENABLE_MONO
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+else
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) /recurse:*.cs
+endif
 
 install-data-local:
+if ENABLE_MONO
 	@if test -n '$(TARGET)'; then						\
 	  echo "$(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
 	  $(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
 	fi
+else
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /i $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /i $(ASSEMBLY) /f || exit 1;	\
+	fi
+endif
 
 uninstall-local:
 	@if test -n '$(TARGET)'; then						\
Index: gtk/glue/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/gtk/glue/Makefile.am,v
retrieving revision 1.6
diff -u -r1.6 Makefile.am
--- gtk/glue/Makefile.am	14 May 2004 20:25:57 -0000	1.6
+++ gtk/glue/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -1,3 +1,34 @@
+if WIN32
+DLLWRAP=dllwrap -mno-cygwin -mms-bitfields --target i386-mingw32 --export-all-symbols
+
+GLUE_OBJS = \
+        adjustment.o            \
+        button.o                \
+        clipboard.o             \
+        colorseldialog.o        \
+        combo.o                 \
+        container.o             \
+        dialog.o                \
+        fileselection.o         \
+        layout.o                \
+        nodestore.o             \
+        object.o                \
+        paned.o                 \
+        selectiondata.o         \
+        style.o                 \
+        widget.o                \
+	win32dll.o
+		
+all: gtksharpglue.dll
+
+win32dll.o: win32dll.c
+	$(CC) -c $(CFLAGS) `pkg-config --cflags gtk+-win32-2.0 libglade-2.0` -o $@ $^
+
+gtksharpglue.dll: win32dll.o
+	$(DLLWRAP) --output-lib=libgtksharpglue.a --dllname=gtksharpglue.dll --driver-name=gcc --output-def=gtksharpglue.def $(GLUE_OBJS) $(GTK_LIBS)
+
+endif
+
 lib_LTLIBRARIES = libgtksharpglue.la
 
 libgtksharpglue_la_SOURCES =	\
@@ -19,9 +50,6 @@
 	vmglueheaders.h		\
 	widget.c
 
-# Adding a new glue file?
-# Please remember to update makefile.win32
-
 libgtksharpglue_la_LDFLAGS = -module -avoid-version
 
 libgtksharpglue_la_LIBADD = $(GTK_LIBS)
@@ -31,6 +59,6 @@
 libgtksharpglue.dll: $(libgtksharpglue_la_OBJECTS) libgtksharpglue.rc libgtksharpglue.def
 	./build-dll libgtksharpglue $(VERSION)
 
-CLEANFILES = lib*.a lib*.dll
+CLEANFILES = lib*.a *.dll
 
-EXTRA_DIST = makefile.win32 win32dll.c
+EXTRA_DIST = win32dll.c
Index: pango/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/pango/Makefile.am,v
retrieving revision 1.7
diff -u -r1.7 Makefile.am
--- pango/Makefile.am	27 May 2004 02:06:04 -0000	1.7
+++ pango/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -50,17 +50,35 @@
 	cp $(top_srcdir)/gtk-sharp.pub .
 
 $(ASSEMBLY): $(build_sources) generated-stamp gtk-sharp.pub
-	$(CSC) --unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+if ENABLE_MONO
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
+else
+	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) /recurse:*.cs
+endif
 
 install-data-local:
+if ENABLE_MONO
 	@if test -n '$(TARGET)'; then						\
 	  echo "$(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
 	  $(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
 	fi
+else
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /i $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /i $(ASSEMBLY) /f || exit 1;	\
+	fi
+endif
 
 uninstall-local:
+if ENABLE_MONO
+	@if test -n '$(TARGET)'; then						\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	fi
+else
 	@if test -n '$(TARGET)'; then						\
-	  echo "$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir)";	\
-	  $(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(libdir) || exit 1;	\
+	  echo "$(GACUTIL) /u $(ASSEMBLY) /f";	\
+	  $(GACUTIL) /u $(ASSEMBLY) /f || exit 1;	\
 	fi
+endif
 
Index: parser/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/parser/Makefile.am,v
retrieving revision 1.2
diff -u -r1.2 Makefile.am
--- parser/Makefile.am	25 May 2004 21:27:41 -0000	1.2
+++ parser/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -23,11 +23,5 @@
 gapi-fixup.exe: $(build_sources)
 	$(CSC) /out:gapi-fixup.exe $(build_sources)
 
-INCLUDES = $(GLIB_CFLAGS) $(XML_CFLAGS)
 
-bin_PROGRAMS = gapi_format_xml
-
-gapi_format_xml_SOURCES = formatXml.c
-
-gapi_format_xml_LDADD = $(GLIB_LIBS) $(XML_LIBS)
 
Index: sample/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/sample/Makefile.am,v
retrieving revision 1.6
diff -u -r1.6 Makefile.am
--- sample/Makefile.am	1 Jun 2004 18:31:20 -0000	1.6
+++ sample/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -27,7 +27,7 @@
 TARGETS = custom-cellrenderer.exe gtk-hello-world.exe button.exe calendar.exe subclass.exe menu.exe size.exe scribble.exe treeviewdemo.exe managedtreeviewdemo.exe testdnd.exe drawing-sample.exe custom-widget.exe $(GNOME_TARGETS) $(GLADE_TARGETS) $(VTE_TARGETS)
 
 assemblies=../glib/glib-sharp.dll ../pango/pango-sharp.dll ../atk/atk-sharp.dll ../gdk/gdk-sharp.dll ../gtk/gtk-sharp.dll $(GNOME_ASSEMBLY) $(GLADE_ASSEMBLY) $(VTE_ASSEMBLY)
-references=$(addprefix -r , $(assemblies))
+references=$(addprefix /r:, $(assemblies))
 
 noinst_SCRIPTS = $(TARGETS)
 CLEANFILES = $(TARGETS)
@@ -81,16 +81,20 @@
 	$(CSC) -out:cairo-sample.exe $(references) -r:Mono.Cairo $(srcdir)/CairoSample.cs
 
 testdnd.exe: $(srcdir)/TestDnd.cs $(assemblies)
-	$(CSC) -debug+ --unsafe -out:testdnd.exe $(references) $(srcdir)/TestDnd.cs
+	$(CSC) -debug+ /unsafe -out:testdnd.exe $(references) $(srcdir)/TestDnd.cs
 
 vte-example.exe: $(srcdir)/VteTest.cs $(assemblies)
-	$(CSC) -debug+ --unsafe -out:vte-example.exe $(references) $(srcdir)/VteTest.cs
+	$(CSC) -debug+ /unsafe -out:vte-example.exe $(references) $(srcdir)/VteTest.cs
 
 custom-cellrenderer.exe: $(srcdir)/CustomCellRenderer.cs $(assemblies)
 	$(CSC) -debug+ -out:custom-cellrenderer.exe $(references) $(srcdir)/CustomCellRenderer.cs
 
 drawing-sample.exe: $(srcdir)/DrawingSample.cs $(srcdir)/sysdraw.cs $(assemblies)
-	$(CSC) -debug+ -out:drawing-sample.exe $(references) $(srcdir)/DrawingSample.cs $(srcdir)/sysdraw.cs -r:System.Drawing
+if ENABLE_MONO
+	$(CSC) -debug+ -out:drawing-sample.exe $(references) $(srcdir)/DrawingSample.cs $(srcdir)/sysdraw.cs -r:System.Drawing.dll
+else
+
+endif
 
 custom-widget.exe: $(srcdir)/CustomWidget.cs $(assemblies)
 	$(CSC) -debug+ -out:custom-widget.exe $(references) $(srcdir)/CustomWidget.cs
Index: sample/GtkDemo/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/sample/GtkDemo/Makefile.am,v
retrieving revision 1.2
diff -u -r1.2 Makefile.am
--- sample/GtkDemo/Makefile.am	7 May 2004 14:22:20 -0000	1.2
+++ sample/GtkDemo/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -28,5 +28,5 @@
 build_sources = $(addprefix $(srcdir)/, $(sources))
 
 GtkDemo.exe: $(build_sources) $(assemblies)
-	$(CSC) -g /out:GtkDemo.exe $(build_sources) $(references)
+	$(CSC) /debug /out:GtkDemo.exe $(build_sources) $(references)
 
Index: sample/test/Makefile.am
===================================================================
RCS file: /mono/gtk-sharp/sample/test/Makefile.am,v
retrieving revision 1.2
diff -u -r1.2 Makefile.am
--- sample/test/Makefile.am	7 May 2004 14:22:20 -0000	1.2
+++ sample/test/Makefile.am	3 Jun 2004 05:31:00 -0000
@@ -26,5 +26,5 @@
 build_sources = $(addprefix $(srcdir)/, $(sources))
 
 WidgetViewer.exe: $(build_sources) $(assemblies)
-	$(CSC) -o WidgetViewer.exe $(references) $(build_sources)
+	$(CSC) /out:WidgetViewer.exe $(references) $(build_sources)
 

--------------060600000602040803070401--