[Monodevelop-patches-list] r1521 - in trunk/MonoDevelop/src/AddIns: . prj2make-sharp-lib

commit-watcher at mono-cvs.ximian.com commit-watcher at mono-cvs.ximian.com
Tue Apr 27 08:20:45 EDT 2004


Author: paco
Date: 2004-04-27 08:20:44 -0400 (Tue, 27 Apr 2004)
New Revision: 1521

Added:
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs.in
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/ChangeLog
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/CsprojInfo.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.am
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.in
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MdPrjHelper.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MsPrjHelper.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjHelper.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjxInfo.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/csproj_ver2003.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib-Commands.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.addin.xml
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.cmbx
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.prjx
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_cmbx.cs
   trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_prjx.cs
Log:
Initial import of the Prj2make-sharp-lib addin


Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,17 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+
+[assembly: AssemblyTitle("prj2make-sharp-lib")]
+[assembly: AssemblyDescription("Project and Workspace file type manipulation library")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("MonoDevelop")]
+[assembly: AssemblyCopyright("MonoDevelop team")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: AssemblyVersion("0.3.0.0")]
+
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs.in
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs.in	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/AssemblyInfo.cs.in	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,17 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+
+[assembly: AssemblyTitle("prj2make-sharp-lib")]
+[assembly: AssemblyDescription("Project and Workspace file type manipulation library")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("MonoDevelop")]
+[assembly: AssemblyCopyright("MonoDevelop team")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: AssemblyVersion("@VERSION at .0.0")]
+
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/ChangeLog
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/ChangeLog	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/ChangeLog	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,7 @@
+2004-04-25  Francisco "Paco" Martinez <paco at mfcon.com>
+	Added new support in the console version of prj2make-sharp for generation of 
+	cmbx and prjx files from sln and csproj files
+	Files changed:
+	* MsPrjHelper.cs -- Added new support to create cmbx form slns
+	* PrjHelper.cs -- Moved all of the prjx creation into MsPrjHelper
+

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/CsprojInfo.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/CsprojInfo.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/CsprojInfo.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,169 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Serialization;
+
+
+namespace MonoDevelop.Prj2Make
+{
+	class CsprojInfo
+	{
+		public readonly string name;
+		public readonly string guid;
+		public readonly string csprojpath;
+		public string makename;
+		public string makename_ext;
+		public string assembly_name;
+		public string res;
+		public string src;
+		private bool m_bAllowUnsafeCode;
+		private MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject m_projObject;
+    
+		public string ext_refs = "";
+		public string switches = "";
+
+		public bool AllowUnsafeCode
+		{
+			get { return m_bAllowUnsafeCode; }
+		}
+    
+		public MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject Proyecto 
+		{
+			get { return m_projObject; }
+		}
+    
+		// Project desirialization
+		protected MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject LoadPrjFromFile (string strIn)
+		{
+			FileStream fs = new FileStream (strIn, FileMode.Open);
+	    
+			XmlSerializer xmlSer = new XmlSerializer (typeof(MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject));
+			MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject prjObj = (MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject) xmlSer.Deserialize (fs);
+	    
+			fs.Close();
+	    
+			return (prjObj);
+		}
+
+		public CsprojInfo(bool isUnixMode, bool isMcsMode, string name, string guid, string csprojpath)
+		{
+			this.name = name;
+			this.guid = guid;
+			this.csprojpath = csprojpath;
+    
+			makename = name.Replace('.','_').ToUpper();
+			makename_ext = makename + "_EXT";
+			m_bAllowUnsafeCode = false;
+    
+			// convert backslashes to slashes    		
+			csprojpath = csprojpath.Replace("\\", "/");
+
+			// loads the file in order to deserialize and
+			// build the object graph
+			try 
+			{
+				m_projObject = LoadPrjFromFile (csprojpath);
+			} 
+			catch (Exception exc) 
+			{
+				Console.WriteLine (
+					String.Format ("Could not load the file {0}\nException: {1}",
+					csprojpath,
+					exc.Message)
+					);
+				return;			
+			}
+
+			// Establish if the allow unsafe code flag is true
+			foreach (MonoDevelop.Prj2Make.Schema.Csproj.Config cf in m_projObject.CSHARP.Build.Settings.Config)
+			{
+				if(cf.AllowUnsafeBlocks == true)
+					m_bAllowUnsafeCode = true;
+			}
+    		
+			switch (m_projObject.CSHARP.Build.Settings.OutputType)
+			{
+				case "Library":
+					makename_ext = makename + "_DLL";
+					assembly_name = m_projObject.CSHARP.Build.Settings.AssemblyName + ".dll";
+					switches += " -target:library";
+					break;
+    
+				case "Exe":
+					makename_ext = makename + "_EXE";
+					assembly_name = m_projObject.CSHARP.Build.Settings.AssemblyName + ".exe";
+					switches += " -target:exe";
+					break;
+    
+				case "WinExe":
+					makename_ext = makename + "_EXE";
+					assembly_name = m_projObject.CSHARP.Build.Settings.AssemblyName + ".exe";
+					switches += " -target:winexe";
+					break;
+    
+				default:
+					throw new NotSupportedException("Unsupported OutputType: " + m_projObject.CSHARP.Build.Settings.OutputType);
+    			
+			}
+    
+			src = "";    
+			string basePath = Path.GetDirectoryName(csprojpath);
+			string s;
+    
+			foreach (MonoDevelop.Prj2Make.Schema.Csproj.File fl in m_projObject.CSHARP.Files.Include)
+			{
+				if(fl.BuildAction == MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.Compile)
+				{
+					if (src != "")
+					{
+						src += " \\\n\t";
+					}
+	    			
+					s = System.IO.Path.Combine(basePath, fl.RelPath);
+					s = s.Replace("\\", "/");
+					if (SlnMaker.slash != "/")
+						s = s.Replace("/", SlnMaker.slash);
+	
+					// Test for spaces
+					if (isUnixMode == false) {
+						// We are in win32 using a cmd.exe or other
+						// DOS shell
+						if(s.IndexOf(' ') > -1) {
+							src += String.Format("\"{0}\"", s);
+						} else {
+							src += s;
+						}
+					} else {
+						// We are in *NIX or some other
+						// GNU like shell
+						src += s.Replace(" ", "\\ ");
+					}
+				}    			
+			}
+    		
+			res = "";
+			string rootNS = m_projObject.CSHARP.Build.Settings.RootNamespace;
+			string relPath;
+			foreach (MonoDevelop.Prj2Make.Schema.Csproj.File fl in m_projObject.CSHARP.Files.Include)
+			{
+				if(fl.BuildAction == MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.EmbeddedResource)
+				{
+					if (res != "") {
+						res += " \\\n\t";
+					}
+    			
+					relPath = fl.RelPath.Replace("\\", "/");
+					s = System.IO.Path.Combine(basePath, relPath);
+					s = String.Format("-resource:{0},{1}", s, rootNS + "." + relPath.Replace("/", "."));
+					s = s.Replace("\\", "/");
+					if (SlnMaker.slash != "/")
+						s = s.Replace("/", SlnMaker.slash);
+					res += s;
+				}
+			} 		
+		}
+	}    
+}

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,340 @@
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# src/AddIns/prj2make-sharp-lib/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = /bin/sh
+
+srcdir = .
+top_srcdir = ../../..
+
+prefix = /usr/local
+exec_prefix = ${prefix}
+
+bindir = ${exec_prefix}/bin
+sbindir = ${exec_prefix}/sbin
+libexecdir = ${exec_prefix}/libexec
+datadir = ${prefix}/share
+sysconfdir = ${prefix}/etc
+sharedstatedir = ${prefix}/com
+localstatedir = ${prefix}/var
+libdir = ${exec_prefix}/lib
+infodir = ${prefix}/info
+mandir = ${prefix}/man
+includedir = ${prefix}/include
+oldincludedir = /usr/include
+pkgdatadir = $(datadir)/monodevelop
+pkglibdir = $(libdir)/monodevelop
+pkgincludedir = $(includedir)/monodevelop
+top_builddir = ../../..
+
+ACLOCAL = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run aclocal-1.6
+AUTOCONF = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run autoconf
+AUTOMAKE = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run automake-1.6
+AUTOHEADER = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run autoheader
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_DATA = ${INSTALL} -m 644
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = s,x,x,
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = 
+build_triplet = i686-pc-linux-gnu
+host_alias = 
+host_triplet = i686-pc-linux-gnu
+target_alias = 
+target_triplet = i686-pc-linux-gnu
+
+EXEEXT = 
+OBJEXT = o
+PATH_SEPARATOR = :
+AMTAR = ${SHELL} /download/monocvs/MonoDevelop-r1487p/missing --run tar
+AS = @AS@
+AWK = gawk
+CATALOGS =  en_CA.gmo fr.gmo
+CATOBJEXT = .gmo
+CC = gcc
+DATADIRNAME = share
+DEPDIR = .deps
+DLLTOOL = @DLLTOOL@
+ECHO = echo
+GDLDOCK_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libglade-2.0 -I/usr/include/libxml2  
+GDLDOCK_LIBS = -Wl,--export-dynamic -L/usr/X11R6/lib -lglade-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrandr -lXi -lXinerama -lXext -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lXft -lfreetype -lXrender -lfontconfig -lpangox-1.0 -lX11 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lxml2 -lpthread -lz -lm  
+GECKO_SHARP = -r:gecko-sharp -lib:/usr/local/lib  
+GETTEXT_PACKAGE = monodevelop
+GLIB_CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  
+GLIB_GENMARSHAL = glib-genmarshal
+GLIB_LIBS = -lglib-2.0  
+GLIB_MKENUMS = glib-mkenums
+GMOFILES =  en_CA.gmo fr.gmo
+GMSGFMT = /usr/bin/msgfmt
+GOBJECT_QUERY = gobject-query
+GTKSOURCEVIEW_SHARP = -r:gtksourceview-sharp -lib:/usr/local/lib  
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+INSTOBJEXT = .mo
+INTLLIBS = 
+INTLTOOL_CAVES_RULE = %.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_DESKTOP_RULE = %.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_EXTRACT = $(top_builddir)/intltool-extract
+INTLTOOL_KEYS_RULE = %.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -k -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_MERGE = $(top_builddir)/intltool-merge
+INTLTOOL_OAF_RULE = %.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -o -p
+INTLTOOL_PERL = /usr/bin/perl
+INTLTOOL_PONG_RULE = %.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_PROP_RULE = %.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_SCHEMAS_RULE = %.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -s -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_SERVER_RULE = %.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -o -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_SHEET_RULE = %.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_THEME_RULE = %.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_UI_RULE = %.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_UPDATE = $(top_builddir)/intltool-update
+INTLTOOL_XAM_RULE = %.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+INTLTOOL_XML_RULE = %.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache
+LD_LIBRARY_PATH = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+MAINT = 
+MCS = /usr/local/bin/mcs
+MKINSTALLDIRS = ./mkinstalldirs
+MONO = /usr/local/bin/mono
+MONODOC = /lib:/usr/local/lib /r:monodoc  
+MOZILLA_HOME = /usr/lib/mozilla-1.4.2
+OBJDUMP = @OBJDUMP@
+PACKAGE = monodevelop
+PATH = /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin
+PKG_CONFIG = /usr/bin/pkg-config
+POFILES =  en_CA.po fr.po
+POSUB = po
+PO_IN_DATADIR_FALSE = 
+PO_IN_DATADIR_TRUE = 
+RANLIB = ranlib
+STRIP = strip
+USE_NLS = yes
+VERSION = 0.3
+XDGMIME = no
+am__include = include
+am__quote = 
+debugger_prefix = /usr
+gnome_prefix = /usr
+gtksharp_prefix = /usr/local
+install_sh = /download/monocvs/MonoDevelop-r1487p/install-sh
+
+CSC = mcs /debug
+ASSEMBLY = prj2make-sharp-lib.dll
+ADDIN = $(srcdir)/prj2make-sharp-lib.addin.xml
+
+DLLS = /r:gdk-sharp.dll \
+	/r:glib-sharp.dll \
+	/r:gtk-sharp.dll /r:pango-sharp.dll \
+	/r:../../../build/bin/MonoDevelop.Base.dll \
+	/r:../../../build/bin/MonoDevelop.Core.dll
+
+
+FILES = \
+MsPrjHelper.cs \
+PrjHelper.cs \
+MdPrjHelper.cs \
+CsprojInfo.cs \
+PrjxInfo.cs \
+sharp_d_cmbx.cs \
+sharp_d_prjx.cs \
+csproj_ver2003.cs \
+AssemblyInfo.cs \
+prj2make-sharp-lib-Commands.cs
+
+
+EXTRA_DIST = $(FILES) $(ADDIN)
+
+build_sources = $(addprefix $(srcdir)/, $(FILES))
+
+assemblydir = $(libdir)/monodevelop/AddIns
+assembly_DATA = $(ASSEMBLY) $(ADDIN)
+
+CLEANFILES = $(ASSEMBLY)
+subdir = src/AddIns/prj2make-sharp-lib
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(assembly_DATA)
+
+DIST_COMMON = ChangeLog Makefile.am Makefile.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/AddIns/prj2make-sharp-lib/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+assemblyDATA_INSTALL = $(INSTALL_DATA)
+install-assemblyDATA: $(assembly_DATA)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(assemblydir)
+	@list='$(assembly_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " $(assemblyDATA_INSTALL) $$d$$p $(DESTDIR)$(assemblydir)/$$f"; \
+	  $(assemblyDATA_INSTALL) $$d$$p $(DESTDIR)$(assemblydir)/$$f; \
+	done
+
+uninstall-assemblyDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(assembly_DATA)'; for p in $$list; do \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " rm -f $(DESTDIR)$(assemblydir)/$$f"; \
+	  rm -f $(DESTDIR)$(assemblydir)/$$f; \
+	done
+tags: TAGS
+TAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	$(mkinstalldirs) $(distdir)/$(srcdir)
+	@list='$(DISTFILES)'; for file in $$list; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+	$(mkinstalldirs) $(DESTDIR)$(assemblydir)
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-assemblyDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+uninstall-am: uninstall-assemblyDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am info info-am install install-am install-assemblyDATA \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool uninstall uninstall-am \
+	uninstall-assemblyDATA uninstall-info-am
+
+
+all: $(ASSEMBLY)
+
+../../../build/AddIns/$(ADDIN):
+	cp $(ADDIN) ../../../build/AddIns/.
+
+$(ASSEMBLY): $(build_sources) ../../../build/AddIns/$(ADDIN)
+	$(CSC) /out:$(ASSEMBLY) /target:library \
+	$(build_sources) $(DLLS)\
+	&& cp $(ASSEMBLY) ../../../build/AddIns/
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.am
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.am	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.am	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,44 @@
+
+CSC = mcs /debug
+ASSEMBLY = prj2make-sharp-lib.dll
+ADDIN = $(srcdir)/prj2make-sharp-lib.addin.xml
+
+
+DLLS = /r:gdk-sharp.dll \
+	/r:glib-sharp.dll \
+	/r:gtk-sharp.dll /r:pango-sharp.dll \
+	/r:../../../build/bin/MonoDevelop.Base.dll \
+	/r:../../../build/bin/MonoDevelop.Core.dll
+
+
+FILES = \
+MsPrjHelper.cs \
+PrjHelper.cs \
+MdPrjHelper.cs \
+CsprojInfo.cs \
+PrjxInfo.cs \
+sharp_d_cmbx.cs \
+sharp_d_prjx.cs \
+csproj_ver2003.cs \
+AssemblyInfo.cs \
+prj2make-sharp-lib-Commands.cs
+	
+EXTRA_DIST = $(FILES) $(ADDIN)
+
+all: $(ASSEMBLY)
+
+build_sources = $(addprefix $(srcdir)/, $(FILES))
+
+../../../build/AddIns/$(ADDIN):
+	cp $(ADDIN) ../../../build/AddIns/.
+
+$(ASSEMBLY): $(build_sources) ../../../build/AddIns/$(ADDIN)
+	$(CSC) /out:$(ASSEMBLY) /target:library \
+	$(build_sources) $(DLLS)\
+	&& cp $(ASSEMBLY) ../../../build/AddIns/
+
+assemblydir = $(libdir)/monodevelop/AddIns
+assembly_DATA = $(ASSEMBLY) $(ADDIN)
+
+CLEANFILES = $(ASSEMBLY)
+

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.in
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.in	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/Makefile.in	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,340 @@
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = @program_transform_name@
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+AMTAR = @AMTAR@
+AS = @AS@
+AWK = @AWK@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+DATADIRNAME = @DATADIRNAME@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+ECHO = @ECHO@
+GDLDOCK_CFLAGS = @GDLDOCK_CFLAGS@
+GDLDOCK_LIBS = @GDLDOCK_LIBS@
+GECKO_SHARP = @GECKO_SHARP@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GOBJECT_QUERY = @GOBJECT_QUERY@
+GTKSOURCEVIEW_SHARP = @GTKSOURCEVIEW_SHARP@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
+INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
+INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
+INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
+INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
+INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
+INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
+INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
+INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
+INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
+INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
+LD_LIBRARY_PATH = @LD_LIBRARY_PATH@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+MAINT = @MAINT@
+MCS = @MCS@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MONO = @MONO@
+MONODOC = @MONODOC@
+MOZILLA_HOME = @MOZILLA_HOME@
+OBJDUMP = @OBJDUMP@
+PACKAGE = @PACKAGE@
+PATH = @PATH@
+PKG_CONFIG = @PKG_CONFIG@
+POFILES = @POFILES@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+RANLIB = @RANLIB@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+XDGMIME = @XDGMIME@
+am__include = @am__include@
+am__quote = @am__quote@
+debugger_prefix = @debugger_prefix@
+gnome_prefix = @gnome_prefix@
+gtksharp_prefix = @gtksharp_prefix@
+install_sh = @install_sh@
+
+CSC = mcs /debug
+ASSEMBLY = prj2make-sharp-lib.dll
+ADDIN = $(srcdir)/prj2make-sharp-lib.addin.xml
+
+DLLS = /r:gdk-sharp.dll \
+	/r:glib-sharp.dll \
+	/r:gtk-sharp.dll /r:pango-sharp.dll \
+	/r:../../../build/bin/MonoDevelop.Base.dll \
+	/r:../../../build/bin/MonoDevelop.Core.dll
+
+
+FILES = \
+MsPrjHelper.cs \
+PrjHelper.cs \
+MdPrjHelper.cs \
+CsprojInfo.cs \
+PrjxInfo.cs \
+sharp_d_cmbx.cs \
+sharp_d_prjx.cs \
+csproj_ver2003.cs \
+AssemblyInfo.cs \
+prj2make-sharp-lib-Commands.cs
+
+
+EXTRA_DIST = $(FILES) $(ADDIN)
+
+build_sources = $(addprefix $(srcdir)/, $(FILES))
+
+assemblydir = $(libdir)/monodevelop/AddIns
+assembly_DATA = $(ASSEMBLY) $(ADDIN)
+
+CLEANFILES = $(ASSEMBLY)
+subdir = src/AddIns/prj2make-sharp-lib
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(assembly_DATA)
+
+DIST_COMMON = ChangeLog Makefile.am Makefile.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/AddIns/prj2make-sharp-lib/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+assemblyDATA_INSTALL = $(INSTALL_DATA)
+install-assemblyDATA: $(assembly_DATA)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(assemblydir)
+	@list='$(assembly_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " $(assemblyDATA_INSTALL) $$d$$p $(DESTDIR)$(assemblydir)/$$f"; \
+	  $(assemblyDATA_INSTALL) $$d$$p $(DESTDIR)$(assemblydir)/$$f; \
+	done
+
+uninstall-assemblyDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(assembly_DATA)'; for p in $$list; do \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " rm -f $(DESTDIR)$(assemblydir)/$$f"; \
+	  rm -f $(DESTDIR)$(assemblydir)/$$f; \
+	done
+tags: TAGS
+TAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	$(mkinstalldirs) $(distdir)/$(srcdir)
+	@list='$(DISTFILES)'; for file in $$list; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+	$(mkinstalldirs) $(DESTDIR)$(assemblydir)
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-assemblyDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+uninstall-am: uninstall-assemblyDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am info info-am install install-am install-assemblyDATA \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool uninstall uninstall-am \
+	uninstall-assemblyDATA uninstall-info-am
+
+
+all: $(ASSEMBLY)
+
+../../../build/AddIns/$(ADDIN):
+	cp $(ADDIN) ../../../build/AddIns/.
+
+$(ASSEMBLY): $(build_sources) ../../../build/AddIns/$(ADDIN)
+	$(CSC) /out:$(ASSEMBLY) /target:library \
+	$(build_sources) $(DLLS)\
+	&& cp $(ASSEMBLY) ../../../build/AddIns/
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MdPrjHelper.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MdPrjHelper.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MdPrjHelper.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,308 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Serialization;
+
+
+namespace MonoDevelop.Prj2Make
+{
+    public class CmbxMaker
+    {
+		public static string slash;
+		static Hashtable projNameInfo = new Hashtable();
+		static Hashtable projGuidInfo = new Hashtable();
+		private MonoDevelop.Prj2Make.Schema.Cmbx.Combine m_cmbObject;
+		private bool m_bIsUnix;
+		private bool m_bIsMcs;
+
+		// Determines if the makefile is intended for nmake or gmake for urposes of path separator character
+		public bool IsUnix
+		{
+			get{ return m_bIsUnix; }
+			set{ m_bIsUnix = value; }
+		}
+
+		// Determines if using MCS or CSC
+		public bool IsMcs
+		{
+			get{ return m_bIsMcs; }
+			set{ m_bIsMcs = value; }
+		}
+
+    	public MonoDevelop.Prj2Make.Schema.Cmbx.Combine Solucion {
+    		get { return m_cmbObject; }
+    	}
+
+		public CmbxMaker()
+		{
+			m_bIsUnix = false;
+			m_bIsMcs = false;
+		}
+    
+		// Combine desirialization 
+		protected MonoDevelop.Prj2Make.Schema.Cmbx.Combine LoadCmbFromFile (string strIn)
+		{
+			FileStream fs = new FileStream (strIn, FileMode.Open);
+	    
+			XmlSerializer xmlSer = new XmlSerializer (typeof(MonoDevelop.Prj2Make.Schema.Cmbx.Combine));
+			MonoDevelop.Prj2Make.Schema.Cmbx.Combine cmbObj = (MonoDevelop.Prj2Make.Schema.Cmbx.Combine) xmlSer.Deserialize (fs);
+	    
+			fs.Close();
+	    
+			return (cmbObj);
+		}
+
+   		protected void ParseMdCsProj(string fname)
+    	{
+    		string projectName;
+    		
+            PrjxInfo pi = new PrjxInfo(m_bIsUnix, m_bIsMcs, fname);
+            projectName = pi.name;            
+			projNameInfo[projectName] = pi;            
+    	}
+    	
+    	protected void ParseCombine(string fname)
+    	{
+    		string CombineFilePath = fname;
+    		
+    		// convert backslashes to slashes    		
+    		CombineFilePath = CombineFilePath.Replace("\\", "/");
+    
+    		// loads the file in order to deserialize and
+    		// build the object graph
+    		try {
+    			m_cmbObject = LoadCmbFromFile (CombineFilePath);
+			} catch (Exception exc) {
+			
+				Console.WriteLine (
+					String.Format ("Could not load the file {0}\nException: {1}",
+						CombineFilePath,
+						exc.Message)
+					);
+				return;			
+			}
+
+    		foreach(MonoDevelop.Prj2Make.Schema.Cmbx.Entry ent in m_cmbObject.Entries)
+    		{
+    				string projectName = System.IO.Path.GetFileNameWithoutExtension(ent.filename);
+    				string csprojPath = ent.filename;
+    
+    				if (csprojPath.EndsWith(".prjx"))
+    				{
+    					PrjxInfo pi = new PrjxInfo(m_bIsUnix, m_bIsMcs, csprojPath);
+    
+    					projNameInfo[projectName] = pi;
+    				}    
+    		}
+    	}
+    
+    	public string MdCmbxHelper(bool isUnixMode, bool isMcsMode, bool isSln, string slnFile)
+    	{
+    		bool noCommonTargets = false;
+    		bool noProjectTargets = false;
+    		bool noFlags = false;
+    		StringBuilder MakefileBuilder = new StringBuilder();
+
+			m_bIsUnix = isUnixMode;
+			m_bIsMcs =  isMcsMode;
+    
+    		if (m_bIsUnix)
+    		{
+    			slash = "/";
+    		}
+    		else
+    		{
+    			slash = "\\";
+    		}
+    
+    		try
+    		{
+    			string d = Path.GetDirectoryName(slnFile);
+    			
+    			if (d != "")
+    				Directory.SetCurrentDirectory(d);
+
+    			if (isSln == true) {
+        				// We invoke the ParseSolution 
+        				// by passing the file obtained
+        				ParseCombine (slnFile);
+    			} else {
+    
+        				// We invoke the ParseMsCsProj 
+        				// by passing the file obtained 
+    					ParseMdCsProj (slnFile);
+    			}
+        
+    			if (!noFlags)
+    			{
+            		if (m_bIsUnix) // gmake
+            		{
+           				MakefileBuilder.Append("ifndef TARGET\n");
+           				MakefileBuilder.Append("\tTARGET=./bin/Debug\n");        				
+           				MakefileBuilder.Append("else\n");
+           				MakefileBuilder.Append("\tTARGET=./bin/$(TARGET)\n");
+           				MakefileBuilder.Append("endif\n\n");
+           				
+        				if (m_bIsMcs == false)
+        				{
+        					MakefileBuilder.Append("MCS=csc\n");
+        					MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
+        					MakefileBuilder.Append("ifdef (RELEASE)\n");
+        					MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
+        					MakefileBuilder.Append("else\n");
+        					MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -debug+ -d:TRACE,DEBUG\n");
+        					MakefileBuilder.Append("endif\n");
+        				}
+        				else
+        				{
+        					MakefileBuilder.Append("MCS=mcs\n");
+        					MakefileBuilder.Append("ifndef (RELEASE)\n");
+        					MakefileBuilder.Append("\tMCSFLAGS=-debug --stacktrace\n");
+        					MakefileBuilder.Append("endif\n");
+        				}        		
+            		}
+            		else // nmake
+            		{
+           				MakefileBuilder.Append("!if !defined (TARGET)\n");
+           				MakefileBuilder.Append("TARGET=.\\bin\\Debug\n");        				
+           				MakefileBuilder.Append("!else\n");
+           				MakefileBuilder.Append("TARGET=.\\bin\\$(TARGET)\n");
+           				MakefileBuilder.Append("!endif\n\n");
+           				
+        				if (m_bIsMcs == false)
+        				{
+        					MakefileBuilder.Append("MCS=csc\n");
+        					MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
+        					MakefileBuilder.Append("!if !defined(RELEASE)\n");
+        					MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
+        					MakefileBuilder.Append("!else\n");
+        					MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -debug+ -d:TRACE,DEBUG\n");
+        					MakefileBuilder.Append("!endif\n");
+        				}
+        				else
+        				{
+        					MakefileBuilder.Append("MCS=mcs\n");
+        					MakefileBuilder.Append("!if !defined(RELEASE)\n");
+        					MakefileBuilder.Append("MCSFLAGS=-debug --stacktrace\n");
+        					MakefileBuilder.Append("!endif\n");
+        				}    				
+            		}
+    
+    				MakefileBuilder.Append("\n");
+    			}
+    			else
+    			{
+    				MakefileBuilder.Append("!if !defined(MCS)\n");
+    				MakefileBuilder.Append("!error You must provide MCS when making\n");
+    				MakefileBuilder.Append("!endif\n\n");
+    			}
+    
+    			foreach (PrjxInfo pi in projNameInfo.Values)
+    			{
+    				MakefileBuilder.AppendFormat("{0}=$(TARGET){1}{2}\n", pi.makename_ext, slash, pi.assembly_name);
+    				MakefileBuilder.AppendFormat("{0}_PDB=$(TARGET){1}{2}\n", pi.makename, slash, pi.assembly_name.Replace(".dll",".pdb"));
+    				MakefileBuilder.AppendFormat("{0}_SRC={1}\n", pi.makename, pi.src);
+    				MakefileBuilder.AppendFormat("{0}_RES={1}\n\n", pi.makename, pi.res);
+    			}
+    
+    			foreach (PrjxInfo pi in projNameInfo.Values)
+    			{
+    				string refs = "";
+    				string deps = "";
+    				
+    				foreach (MonoDevelop.Prj2Make.Schema.Prjx.Reference rf in pi.Proyecto.References)
+    				{
+   						if (refs != "")
+   							refs += " ";
+   
+   						string assemblyName = rf.refto;
+   
+   						// HACK - under Unix filenames are case sensitive
+   						// Under Windows there's no agreement on Xml vs XML ;-)   						
+   						if (0 == String.Compare(assemblyName, "System.Xml", true))
+   						{
+   							assemblyName = "System.Xml";
+   						}
+   						
+   						if (System.IO.Path.GetExtension(assemblyName).ToUpper().CompareTo(".DLL") == 0) {
+   							refs += "-r:" + assemblyName;
+   						} else {
+   							refs += "-r:" + assemblyName + ".dll";
+   						}
+    				}
+    
+    				MakefileBuilder.AppendFormat("$({0}): $({1}_SRC) {2}\n", pi.makename_ext, pi.makename, deps);
+    		
+            		if (isUnixMode)
+            		{
+    					MakefileBuilder.Append("\t-mkdir -p $(TARGET)\n");
+            		}
+            		else
+            		{
+    					MakefileBuilder.Append("\t-md $(TARGET)\n");
+            		}
+            		
+    				MakefileBuilder.AppendFormat("\t$(MCS) $(MCSFLAGS) {2}{3} -out:$({0}) $({1}_RES) $({1}_SRC)\n", pi.makename_ext, pi.makename, refs, pi.switches);
+    				MakefileBuilder.Append("\n");
+    			}
+    
+    			if (!noCommonTargets)
+    			{
+    				MakefileBuilder.Append("\n");
+    				MakefileBuilder.Append("# common targets\n\n");
+    				MakefileBuilder.Append("all:\t");
+    
+    				bool first = true;
+    
+    				foreach (PrjxInfo pi in projNameInfo.Values)
+    				{
+    					if (!first)
+    					{
+    						MakefileBuilder.Append(" \\\n\t");
+    					}
+    					MakefileBuilder.AppendFormat("$({0})", pi.makename_ext);
+    					first = false;
+    				}
+    				MakefileBuilder.Append("\n\n");
+    
+    				MakefileBuilder.Append("clean:\n");
+    
+    				foreach (PrjxInfo pi in projNameInfo.Values)
+    				{
+    					if (isUnixMode)
+    					{
+    						MakefileBuilder.AppendFormat("\t-rm -f \"$({0})\" 2> /dev/null\n", pi.makename_ext);
+    						MakefileBuilder.AppendFormat("\t-rm -f \"$({0}_PDB)\" 2> /dev/null\n", pi.makename);
+    					}
+    					else
+    					{
+    						MakefileBuilder.AppendFormat("\t-del \"$({0})\" 2> nul\n", pi.makename_ext);
+    						MakefileBuilder.AppendFormat("\t-del \"$({0}_PDB)\" 2> nul\n", pi.makename);
+    					}
+    				}
+    				MakefileBuilder.Append("\n");
+    			}
+    
+    			if (!noProjectTargets)
+    			{
+    				MakefileBuilder.Append("\n");
+    				MakefileBuilder.Append("# project names as targets\n\n");
+    				foreach (PrjxInfo pi in projNameInfo.Values)
+    				{
+    					MakefileBuilder.AppendFormat("{0}: $({1})\n", pi.name, pi.makename_ext);
+    				}
+    			}
+    		}
+    		catch (Exception e)
+    		{
+    			Console.WriteLine("EXCEPTION: {0}\n", e);
+    			return "";
+    		}
+    		
+   			return MakefileBuilder.ToString();
+    	}
+    }    
+}

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MsPrjHelper.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MsPrjHelper.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/MsPrjHelper.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,706 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Serialization;
+using MonoDevelop.Prj2Make.Schema.Prjx;
+using MonoDevelop.Prj2Make.Schema.Csproj;
+
+namespace MonoDevelop.Prj2Make
+{
+	public class SlnMaker
+	{ 
+		public static string slash;
+		static Hashtable projNameInfo = new Hashtable();
+		static Hashtable projGuidInfo = new Hashtable();
+		private bool m_bIsUnix;
+		private bool m_bIsMcs;
+		private string prjxFileName;
+		private string cmbxFileName;
+
+		// Determines if the makefile is intended for nmake or gmake for urposes of path separator character
+		public bool IsUnix
+		{
+			get{ return m_bIsUnix; }
+			set{ m_bIsUnix = value; }
+		}
+
+		// Determines if using MCS or CSC
+		public bool IsMcs
+		{
+			get{ return m_bIsMcs; }
+			set{ m_bIsMcs = value; }
+		}
+
+		public SlnMaker()
+		{
+			m_bIsUnix = false;
+			m_bIsMcs = false;
+		}
+		
+		// Shuld contain the file name 
+		// of the most resent prjx generation
+		public string PrjxFileName {
+			get { return prjxFileName; }
+		}
+
+		// Shuld contain the file name 
+		// of the most resent cmbx generation
+		public string CmbxFileName {
+			get { return cmbxFileName; }
+		}
+
+
+		protected void ParseMsCsProj(string fname)
+		{
+			string projectName = System.IO.Path.GetFileNameWithoutExtension (fname);
+			string csprojPath = System.IO.Path.GetFileName (fname);
+			string projectGuid = "";
+            
+			CsprojInfo pi = new CsprojInfo (m_bIsUnix, m_bIsMcs, projectName, projectGuid, csprojPath);
+            
+			projNameInfo[projectName] = pi;
+			projGuidInfo[projectGuid] = pi;
+		}
+    	
+		protected void ParseSolution(string fname)
+		{
+			FileStream fis = new FileStream(fname,FileMode.Open, FileAccess.Read, FileShare.Read);
+			StreamReader reader = new StreamReader(fis);
+			Regex regex = new Regex(@"Project\(""\{(.*)\}""\) = ""(.*)"", ""(.*)"", ""(\{.*\})""");
+    
+			while (true)
+			{
+				string s = reader.ReadLine();
+				Match match;
+    
+				match = regex.Match(s);
+				if (match.Success)
+				{
+					string projectName = match.Groups[2].Value;
+					string csprojPath = match.Groups[3].Value;
+					string projectGuid = match.Groups[4].Value;
+    
+					if (csprojPath.EndsWith (".csproj") && !csprojPath.StartsWith("http://"))
+					{
+						CsprojInfo pi = new CsprojInfo (m_bIsUnix, m_bIsMcs, projectName, projectGuid, csprojPath);
+    
+						projNameInfo[projectName] = pi;
+						projGuidInfo[projectGuid] = pi;
+					}
+				}
+    
+				if (s.StartsWith("Global"))
+				{
+					break;
+				}
+			}
+		}
+    
+		public string MsSlnHelper(bool isUnixMode, bool isMcsMode, bool isSln, string slnFile)
+		{
+			bool noCommonTargets = false;
+			bool noProjectTargets = false;
+			bool noFlags = false;
+			StringBuilder MakefileBuilder = new StringBuilder();
+    
+			m_bIsUnix = isUnixMode;
+			m_bIsMcs = isMcsMode;
+			
+			if (m_bIsUnix)
+			{
+				slash = "/";
+			}
+			else
+			{
+				slash = "\\";
+			}
+    
+			try
+			{
+				string d = Path.GetDirectoryName(slnFile);
+				if (d != "")
+					Directory.SetCurrentDirectory(d);
+
+				if (isSln == true) 
+				{
+					// We invoke the ParseSolution 
+					// by passing the file obtained
+					ParseSolution (slnFile);
+				} 
+				else 
+				{
+					// We invoke the ParseMsCsProj 
+					// by passing the file obtained 
+					ParseMsCsProj (slnFile);
+				}
+    
+				if (!noFlags)
+				{
+					if (m_bIsUnix) // gmake
+					{
+						MakefileBuilder.Append("ifndef TARGET\n");
+						MakefileBuilder.Append("\tTARGET=./bin/Debug\n");        				
+						MakefileBuilder.Append("else\n");
+						MakefileBuilder.Append("\tTARGET=./bin/$(TARGET)\n");
+						MakefileBuilder.Append("endif\n\n");
+           				
+						if (this.m_bIsMcs == false)
+						{
+							MakefileBuilder.Append("MCS=csc\n");
+							MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
+							MakefileBuilder.Append("ifdef (RELEASE)\n");
+							MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
+							MakefileBuilder.Append("else\n");
+							MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -debug+ -d:TRACE,DEBUG\n");
+							MakefileBuilder.Append("endif\n");
+						}
+						else
+						{
+							MakefileBuilder.Append("MCS=mcs\n");
+							MakefileBuilder.Append("ifndef (RELEASE)\n");
+							MakefileBuilder.Append("\tMCSFLAGS=-debug --stacktrace\n");
+							MakefileBuilder.Append("endif\n");
+						}        		
+					}
+					else // nmake
+					{
+						MakefileBuilder.Append("!if !defined (TARGET)\n");
+						MakefileBuilder.Append("TARGET=.\\bin\\Debug\n");        				
+						MakefileBuilder.Append("!else\n");
+						MakefileBuilder.Append("TARGET=.\\bin\\$(TARGET)\n");
+						MakefileBuilder.Append("!endif\n\n");
+           				
+						if (m_bIsMcs == false)
+						{
+							MakefileBuilder.Append("MCS=csc\n");
+							MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
+							MakefileBuilder.Append("!if !defined(RELEASE)\n");
+							MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
+							MakefileBuilder.Append("!else\n");
+							MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -debug+ -d:TRACE,DEBUG\n");
+							MakefileBuilder.Append("!endif\n");
+						}
+						else
+						{
+							MakefileBuilder.Append("MCS=mcs\n");
+							MakefileBuilder.Append("!if !defined(RELEASE)\n");
+							MakefileBuilder.Append("MCSFLAGS=-debug --stacktrace\n");
+							MakefileBuilder.Append("!endif\n");
+						}    				
+					}
+    
+					MakefileBuilder.Append("\n");
+				}
+				else
+				{
+					MakefileBuilder.Append("!if !defined(MCS)\n");
+					MakefileBuilder.Append("!error You must provide MCS when making\n");
+					MakefileBuilder.Append("!endif\n\n");
+				}
+    
+				foreach (CsprojInfo pi in projNameInfo.Values)
+				{
+					MakefileBuilder.AppendFormat("{0}=$(TARGET){1}{2}\n", pi.makename_ext, slash, pi.assembly_name);
+					MakefileBuilder.AppendFormat("{0}_PDB=$(TARGET){1}{2}\n", pi.makename, slash, pi.assembly_name.Replace(".dll",".pdb"));
+					MakefileBuilder.AppendFormat("{0}_SRC={1}\n", pi.makename, pi.src);
+					MakefileBuilder.AppendFormat("{0}_RES={1}\n\n", pi.makename, pi.res);
+				}
+    
+				foreach (CsprojInfo pi in projNameInfo.Values)
+				{
+					string refs = "";
+					string deps = "";
+    					
+					foreach (MonoDevelop.Prj2Make.Schema.Csproj.Reference rf in pi.Proyecto.CSHARP.Build.References)
+					{
+						if(rf.Package == null || rf.Package.CompareTo("") == 0)
+						{
+							// Add space in between references as
+							// it becomes necessary
+							if (refs != "")
+								refs += " ";
+
+							string assemblyName = rf.AssemblyName;
+
+							// HACK - under Unix filenames are case sensitive
+							// Under Windows there's no agreement on Xml vs XML ;-)    					
+							if (0 == String.Compare(assemblyName, "System.Xml", true))
+							{
+								assemblyName = "System.Xml";
+							}
+							refs += "-r:" + assemblyName + ".dll";
+						}
+						else
+						{
+							try
+							{
+								CsprojInfo pi2 = (CsprojInfo)projGuidInfo[rf.Project];
+
+								if (refs != "")
+									refs += " ";
+
+								if (deps != "")
+									deps += " ";
+
+								refs += "-r:$(" + pi2.makename_ext + ")";
+								deps += "$(" + pi2.makename_ext + ")";
+							}
+							catch(System.NullReferenceException exc)
+							{
+								refs += String.Format("-r:{0}.dll", rf.Name);
+								deps += String.Format("# Missing dependency project {1} ID:{0}?", rf.Project, 
+									rf.Name);
+								Console.WriteLine(String.Format(
+									"Warning: The project {0}, ID: {1} may be required and appears missing.",
+									rf.Name, rf.Project)
+									);
+							}
+						}
+					}
+    
+					MakefileBuilder.AppendFormat("$({0}): $({1}_SRC) {2}\n", pi.makename_ext, pi.makename, deps);
+    		
+					if (isUnixMode)
+					{
+						MakefileBuilder.Append("\t-mkdir -p $(TARGET)\n");
+					}
+					else
+					{
+						MakefileBuilder.Append("\t-md $(TARGET)\n");
+					}
+
+					// Test to see if any configuratino has the Allow unsafe blocks on
+					if(pi.AllowUnsafeCode == true ) 
+					{
+						MakefileBuilder.AppendFormat("\t$(MCS) $(MCSFLAGS) -unsafe {2}{3} -out:$({0}) $({1}_RES) $({1}_SRC)\n", pi.makename_ext, pi.makename, refs, pi.switches);
+					}
+					else
+					{
+						MakefileBuilder.AppendFormat("\t$(MCS) $(MCSFLAGS) {2}{3} -out:$({0}) $({1}_RES) $({1}_SRC)\n", pi.makename_ext, pi.makename, refs, pi.switches);
+					}
+            		
+					MakefileBuilder.Append("\n");
+				}
+    
+				if (!noCommonTargets)
+				{
+					MakefileBuilder.Append("\n");
+					MakefileBuilder.Append("# common targets\n\n");
+					MakefileBuilder.Append("all:\t");
+    
+					bool first = true;
+    
+					foreach (CsprojInfo pi in projNameInfo.Values)
+					{
+						if (!first)
+						{
+							MakefileBuilder.Append(" \\\n\t");
+						}
+						MakefileBuilder.AppendFormat("$({0})", pi.makename_ext);
+						first = false;
+					}
+					MakefileBuilder.Append("\n\n");
+    
+					MakefileBuilder.Append("clean:\n");
+    
+					foreach (CsprojInfo pi in projNameInfo.Values)
+					{
+						if (isUnixMode)
+						{
+							MakefileBuilder.AppendFormat("\t-rm -f \"$({0})\" 2> /dev/null\n", pi.makename_ext);
+							MakefileBuilder.AppendFormat("\t-rm -f \"$({0}_PDB)\" 2> /dev/null\n", pi.makename);
+						}
+						else
+						{
+							MakefileBuilder.AppendFormat("\t-del \"$({0})\" 2> nul\n", pi.makename_ext);
+							MakefileBuilder.AppendFormat("\t-del \"$({0}_PDB)\" 2> nul\n", pi.makename);
+						}
+					}
+					MakefileBuilder.Append("\n");
+				}
+    
+				if (!noProjectTargets)
+				{
+					MakefileBuilder.Append("\n");
+					MakefileBuilder.Append("# project names as targets\n\n");
+					foreach (CsprojInfo pi in projNameInfo.Values)
+					{
+						MakefileBuilder.AppendFormat("{0}: $({1})\n", pi.name, pi.makename_ext);
+					}
+				}
+    			
+				return MakefileBuilder.ToString();
+			}
+			catch (Exception e)
+			{
+				Console.WriteLine("EXCEPTION: {0}\n", e);
+				return "";
+			}
+		}
+		
+		public void CreatePrjxFromCsproj(string csprojFileName)
+		{
+			int nCnt = 0;
+			FileStream fsIn = null;
+			XmlSerializer xmlDeSer = null;
+			FileStream fsOut = null;
+			XmlSerializer xmlSer = null;
+			MonoDevelop.Prj2Make.Schema.Csproj.VisualStudioProject csprojObj = null;
+			MonoDevelop.Prj2Make.Schema.Prjx.Project prjxObj = new MonoDevelop.Prj2Make.Schema.Prjx.Project();
+			prjxFileName = String.Format ("{0}.prjx",
+				Path.Combine(Path.GetDirectoryName(csprojFileName),
+				Path.GetFileNameWithoutExtension(csprojFileName))
+				);
+			
+			// convert backslashes to slashes    		
+			csprojFileName = csprojFileName.Replace("\\", "/");			
+			Console.WriteLine(String.Format("Will create project filename:{0}", PrjxFileName));
+
+			// Load the csproj
+			fsIn = new FileStream (csprojFileName, FileMode.Open);	    
+			xmlDeSer = new XmlSerializer (typeof(VisualStudioProject));
+			csprojObj = (VisualStudioProject) xmlDeSer.Deserialize (fsIn);	    
+			fsIn.Close();
+
+			// Begin prjxObj population
+			prjxObj.name = Path.GetFileNameWithoutExtension(csprojFileName);
+			prjxObj.description = "";
+			prjxObj.newfilesearch = "None";
+			prjxObj.enableviewstate = "True";
+			prjxObj.version = (decimal)1.1;
+			prjxObj.projecttype = "C#";
+
+			prjxObj.Contents = GetContents (csprojObj.CSHARP.Files.Include);
+			prjxObj.References = GetReferences(csprojObj.CSHARP.Build.References);
+			prjxObj.DeploymentInformation = new MonoDevelop.Prj2Make.Schema.Prjx.DeploymentInformation();
+			prjxObj.DeploymentInformation.target = "";
+			prjxObj.DeploymentInformation.script = "";
+			prjxObj.DeploymentInformation.strategy = "File";
+
+			nCnt = csprojObj.CSHARP.Build.Settings.Config.Length;
+			prjxObj.Configurations = new Configurations();
+			prjxObj.Configurations.Configuration = new Configuration[nCnt];
+			for(int i = 0; i < nCnt; i++)
+			{
+				prjxObj.Configurations.Configuration[i] = CreateConfigurationBlock(
+					csprojObj.CSHARP.Build.Settings.Config[i],
+					csprojObj.CSHARP.Build.Settings.AssemblyName,
+					csprojObj.CSHARP.Build.Settings.OutputType
+					);
+			}
+			prjxObj.Configurations.active = prjxObj.Configurations.Configuration[0].name;
+
+			prjxObj.Configuration = prjxObj.Configurations.Configuration[0];
+
+			// Serialize
+			fsOut = new FileStream (prjxFileName, FileMode.Create);	    
+			xmlSer = new XmlSerializer (typeof(Project));
+			xmlSer.Serialize(fsOut, prjxObj);
+			fsOut.Close();
+
+			return;
+		}
+
+		public void MsSlnToCmbxHelper(string slnFileName)
+		{
+			int i = 0;
+			FileStream fsOut = null;
+			XmlSerializer xmlSer = null;
+			StringBuilder MakefileBuilder = new StringBuilder();
+			MonoDevelop.Prj2Make.Schema.Cmbx.Combine cmbxObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Combine();
+			cmbxFileName = String.Format ("{0}.cmbx",
+				Path.Combine(Path.GetDirectoryName(slnFileName),
+				Path.GetFileNameWithoutExtension(slnFileName))
+				);
+			
+			Console.WriteLine(String.Format("Will create combine filename:{0}", cmbxFileName));
+
+			try
+			{
+				string d = Path.GetDirectoryName(slnFileName);
+				if (d != "")
+					Directory.SetCurrentDirectory(d);
+
+				// We invoke the ParseSolution 
+				// by passing the file obtained
+				ParseSolution (slnFileName);
+
+				// Create all of the prjx files form the csproj files
+				foreach (CsprojInfo pi in projNameInfo.Values)
+				{
+					CreatePrjxFromCsproj(pi.csprojpath);
+				}
+
+				// Begin prjxObj population
+				cmbxObj.name = Path.GetFileNameWithoutExtension(slnFileName);
+				cmbxObj.description = "";
+				cmbxObj.fileversion = (decimal)1.0;
+
+				// Create and attach the StartMode element
+				MonoDevelop.Prj2Make.Schema.Cmbx.StartMode startModeElem = new MonoDevelop.Prj2Make.Schema.Cmbx.StartMode();
+
+				// Create the array of Execute objects
+				MonoDevelop.Prj2Make.Schema.Cmbx.Execute[] executeElem = new MonoDevelop.Prj2Make.Schema.Cmbx.Execute[projNameInfo.Count];
+
+				// Populate the Element objects instances
+				i = 0;
+				foreach (CsprojInfo pi in projNameInfo.Values)
+				{
+					MonoDevelop.Prj2Make.Schema.Cmbx.Execute execElem = new MonoDevelop.Prj2Make.Schema.Cmbx.Execute();
+					execElem.entry = pi.name;
+					execElem.type = "None";
+
+                    executeElem[i++] = execElem;
+				}
+
+				startModeElem.startupentry = executeElem[0].entry;
+				startModeElem.single = "True";
+				startModeElem.Execute = executeElem;
+
+				// Attach the StartMode Object to the
+				// Combine object
+				cmbxObj.StartMode = startModeElem;
+
+				// Gnerate the entries array
+				MonoDevelop.Prj2Make.Schema.Cmbx.Entry[] entriesObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Entry[projNameInfo.Count];
+				// Populate the Entry objects instances
+				i = 0;
+				foreach (CsprojInfo pi in projNameInfo.Values)
+				{
+					MonoDevelop.Prj2Make.Schema.Cmbx.Entry entryObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Entry();
+					string PrjxFileName = String.Format (".{0}{1}.prjx",
+						Path.DirectorySeparatorChar,
+						Path.Combine(Path.GetDirectoryName(pi.csprojpath),
+						Path.GetFileNameWithoutExtension(pi.csprojpath))
+						);
+
+					entryObj.filename = PrjxFileName; 
+
+					entriesObj[i++] = entryObj;
+				}
+
+				// Attach the Entries Object to the
+				// Combine object
+				cmbxObj.Entries = entriesObj;
+
+				MonoDevelop.Prj2Make.Schema.Cmbx.Configurations configurationsObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Configurations();
+				
+				// Hack hardcoded configuration value must get the one
+				// from analyzing the different configuration entries
+				configurationsObj.active = "Debug";
+
+				// Hack hardcoded number of configuration object
+				// assuming 2 for Debug and Release
+				configurationsObj.Configuration = new MonoDevelop.Prj2Make.Schema.Cmbx.Configuration[2];
+				MonoDevelop.Prj2Make.Schema.Cmbx.Configuration confObj1 = new MonoDevelop.Prj2Make.Schema.Cmbx.Configuration();
+				configurationsObj.Configuration[0] = confObj1;
+				MonoDevelop.Prj2Make.Schema.Cmbx.Configuration confObj2 = new MonoDevelop.Prj2Make.Schema.Cmbx.Configuration();
+				configurationsObj.Configuration[1] = confObj2;
+
+				configurationsObj.Configuration[0].name = "Release";
+				configurationsObj.Configuration[0].Entry = CreateArrayOfConfEntries();
+				configurationsObj.Configuration[1].name = "Debug";
+				configurationsObj.Configuration[1].Entry = CreateArrayOfConfEntries();
+
+				// Attach the Configurations object to the 
+				// Combine Object
+				cmbxObj.Configurations = configurationsObj;
+
+				// Serialize
+				fsOut = new FileStream (cmbxFileName, FileMode.Create);	    
+				xmlSer = new XmlSerializer (typeof(MonoDevelop.Prj2Make.Schema.Cmbx.Combine));
+				xmlSer.Serialize(fsOut, cmbxObj);
+				fsOut.Close();
+
+				return;
+			}
+			catch (Exception e)
+			{
+				Console.WriteLine("EXCEPTION: {0}\n", e);
+				return;
+			}
+		}
+
+		protected MonoDevelop.Prj2Make.Schema.Prjx.Reference[] GetReferences(MonoDevelop.Prj2Make.Schema.Csproj.Reference[] References)
+		{
+			MonoDevelop.Prj2Make.Schema.Prjx.Reference[] theReferences = null;
+			int i = 0;
+
+			if(References != null && References.Length > 0)
+			{
+				theReferences = new MonoDevelop.Prj2Make.Schema.Prjx.Reference[References.Length];
+			}
+			else
+			{
+				return null;
+			}
+
+			// Iterate through the reference collection of the csproj file
+			foreach(MonoDevelop.Prj2Make.Schema.Csproj.Reference rf in References)
+			{
+				MonoDevelop.Prj2Make.Schema.Prjx.Reference rfOut = new MonoDevelop.Prj2Make.Schema.Prjx.Reference();
+
+				if(rf.Package == null || rf.Package.CompareTo("") == 0)
+				{
+					rfOut.type = MonoDevelop.Prj2Make.Schema.Prjx.ReferenceType.Gac;
+
+					// HACK - under Unix filenames are case sensitive
+					// Under Windows there's no agreement on Xml vs XML ;-)    					
+					if(Path.GetFileName(rf.HintPath).CompareTo("System.XML.dll") == 0)
+					{
+						rfOut.refto = "System.Xml.dll";
+					}
+					else
+					{
+						rfOut.refto = Path.GetFileName(rf.HintPath);
+					}
+					rfOut.localcopy = MonoDevelop.Prj2Make.Schema.Prjx.ReferenceLocalcopy.True;
+					// increment the iterator value
+					theReferences[i++] = rfOut;
+				}
+				else
+				{
+					rfOut.type = MonoDevelop.Prj2Make.Schema.Prjx.ReferenceType.Project;
+					
+					rfOut.refto = Path.GetFileName(rf.Name);
+					rfOut.localcopy = MonoDevelop.Prj2Make.Schema.Prjx.ReferenceLocalcopy.True;
+					// increment the iterator value
+					theReferences[i++] = rfOut;
+				}
+			}
+
+			return theReferences;
+		}
+		
+		protected MonoDevelop.Prj2Make.Schema.Prjx.File[] GetContents(MonoDevelop.Prj2Make.Schema.Csproj.File[] Include)
+		{
+			MonoDevelop.Prj2Make.Schema.Prjx.File[] theFiles = null;
+			int i = 0;
+
+			if(Include != null && Include.Length > 0)
+			{
+				theFiles = new MonoDevelop.Prj2Make.Schema.Prjx.File[Include.Length];
+			}
+			else
+			{
+				return null;
+			}
+
+			// Iterate through the file collection of the csproj file
+			foreach(MonoDevelop.Prj2Make.Schema.Csproj.File fl in Include)
+			{
+				MonoDevelop.Prj2Make.Schema.Prjx.File flOut = new MonoDevelop.Prj2Make.Schema.Prjx.File();
+				flOut.name = String.Format(".{0}{1}", Path.DirectorySeparatorChar, fl.RelPath);
+				
+				switch(fl.SubType)
+				{
+					case "Code":
+						flOut.subtype = MonoDevelop.Prj2Make.Schema.Prjx.FileSubtype.Code;
+						break;
+				}
+
+				switch(fl.BuildAction)
+				{
+					case MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.Compile:
+						flOut.buildaction = MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.Compile;
+						break;
+					case MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.EmbeddedResource:
+						flOut.buildaction = MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.EmbedAsResource;
+						break;
+					case MonoDevelop.Prj2Make.Schema.Csproj.FileBuildAction.None:
+						flOut.buildaction = MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.Exclude;
+						break;				
+				}
+				flOut.dependson = fl.DependentUpon;
+				flOut.data = "";
+
+				// increment the iterator value
+				theFiles[i++ ] = flOut;
+			}
+
+			return theFiles;
+		}
+
+		protected Configuration CreateConfigurationBlock(Config ConfigBlock, string AssemblyName, string OuputType)
+		{
+			Configuration ConfObj = new Configuration();
+			CodeGeneration CodeGenObj = new CodeGeneration();
+			Execution ExecutionObj = new Execution();
+			Output OutputObj = new Output();
+
+			ConfObj.runwithwarnings = "False";
+			ConfObj.name = ConfigBlock.Name;
+
+			// CodeGenObj member population
+			CodeGenObj.runtime = "MsNet";
+			CodeGenObj.compiler = "Csc";
+			CodeGenObj.warninglevel = ConfigBlock.WarningLevel;
+			CodeGenObj.nowarn = "";
+			CodeGenObj.includedebuginformation = (ConfigBlock.DebugSymbols == true) ? 
+				CodeGenerationIncludedebuginformation.True : 
+				CodeGenerationIncludedebuginformation.False;
+			
+			CodeGenObj.optimize = (ConfigBlock.Optimize == true) ? "True" : "False";
+
+			if (ConfigBlock.AllowUnsafeBlocks == true)
+			{
+				CodeGenObj.unsafecodeallowed = CodeGenerationUnsafecodeallowed.True;
+			}
+			else
+			{
+				CodeGenObj.unsafecodeallowed = CodeGenerationUnsafecodeallowed.False;
+			}
+			if (ConfigBlock.CheckForOverflowUnderflow == true)
+			{
+				CodeGenObj.generateoverflowchecks = "True";
+			}
+			else
+			{
+				CodeGenObj.generateoverflowchecks = "False";
+			}
+			
+			CodeGenObj.mainclass = "";
+			CodeGenObj.target = OuputType;
+			CodeGenObj.generatexmldocumentation = "False";
+			CodeGenObj.win32Icon = "";
+
+			// ExecutionObj member population
+			ExecutionObj.commandlineparameters = "";
+			ExecutionObj.consolepause = "True";
+
+			// OutputObj member population
+			OutputObj.directory = ConfigBlock.OutputPath;
+			OutputObj.assembly = AssemblyName;
+			OutputObj.executeScript = "";
+			OutputObj.executeBeforeBuild = "";
+			OutputObj.executeAfterBuild = "";
+
+			ConfObj.CodeGeneration = CodeGenObj;
+			ConfObj.Execution = ExecutionObj;
+			ConfObj.Output = OutputObj;
+
+			return ConfObj;
+		}
+		
+		protected MonoDevelop.Prj2Make.Schema.Cmbx.Entry[] CreateArrayOfConfEntries()
+		{
+			MonoDevelop.Prj2Make.Schema.Cmbx.Entry[] confEntry = new MonoDevelop.Prj2Make.Schema.Cmbx.Entry[projNameInfo.Count];
+			// Populate the Entry objects instances
+			int i = 0;
+			foreach (CsprojInfo pi in projNameInfo.Values)
+			{
+				MonoDevelop.Prj2Make.Schema.Cmbx.Entry entryObj = new MonoDevelop.Prj2Make.Schema.Cmbx.Entry();
+				entryObj.name = pi.name;
+				entryObj.configurationname = "Debug";
+				entryObj.build = "False";
+
+				confEntry[i++] = entryObj;
+			}
+
+			return confEntry;
+		}
+	}   
+}

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjHelper.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjHelper.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjHelper.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,89 @@
+using System;
+using System.Xml;
+using System.Xml.Serialization;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using MonoDevelop.Prj2Make.Schema.Prjx;
+using MonoDevelop.Prj2Make.Schema.Csproj;
+
+namespace MonoDevelop.Prj2Make
+{
+    public class Maker
+    {
+    	public enum TypeOfFile {
+    		unknown,
+			sln,
+			csproj,
+			cmbx,
+			prjx			 
+		}
+		
+		// Helper function to determine the type of
+		// file being parsed based on its extension
+		protected TypeOfFile DetermineFileType(string inFileName)
+		{
+			string ExtentionString = System.IO.Path.GetExtension (inFileName);
+			
+			switch(ExtentionString)
+			{
+			case ".sln":
+				return TypeOfFile.sln;
+			case ".csproj":
+				return TypeOfFile.csproj;
+			case ".cmbx":
+				return TypeOfFile.cmbx;
+			case ".prjx":
+				return TypeOfFile.prjx;
+			}		
+			
+			return TypeOfFile.unknown;
+		}
+
+		public bool CreateCombineFromSln(string slnFileName)
+		{
+			SlnMaker slnMkObj = new SlnMaker();
+
+			// Load the sln and parse it
+			slnMkObj.MsSlnToCmbxHelper(slnFileName);
+
+			return false;
+		}
+     
+		public bool CreatePrjxFromCsproj(string csprojFileName)
+		{
+			SlnMaker slnMkObj = new SlnMaker();
+
+			// Load the csproj and parse it
+			slnMkObj.CreatePrjxFromCsproj(csprojFileName);
+
+			return false;
+		}
+     
+     	// Main entry point for Makefile generation
+		public string MakerMain(bool isUnixMode, bool isMcsMode, string slnFile)
+    	{
+    		SlnMaker mk1Obj = null;
+    		CmbxMaker mk2Obj = null;
+            // Test to see what kind if file we got
+            // sln, csproj, cmbx, prjx
+            switch(DetermineFileType(slnFile))
+            {
+            case TypeOfFile.sln:
+            	mk1Obj = new SlnMaker();
+            	return mk1Obj.MsSlnHelper (isUnixMode, isMcsMode, true, slnFile);
+            case TypeOfFile.csproj:
+            	mk1Obj = new SlnMaker();
+            	return mk1Obj.MsSlnHelper (isUnixMode, isMcsMode, false, slnFile);
+            case TypeOfFile.cmbx:
+            	mk2Obj = new CmbxMaker();
+            	return mk2Obj.MdCmbxHelper (isUnixMode, isMcsMode, true, slnFile);
+            case TypeOfFile.prjx:
+            	mk2Obj = new CmbxMaker();
+            	return mk2Obj.MdCmbxHelper (isUnixMode, isMcsMode, false, slnFile);
+            }
+           	return "Error: unknown file type.";
+		}
+    }    
+}

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjxInfo.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjxInfo.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/PrjxInfo.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,153 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Xml.Serialization;
+
+
+namespace MonoDevelop.Prj2Make
+{
+    class PrjxInfo
+    {
+    	public readonly string name;
+    	public readonly string csprojpath;
+    	public string makename;
+    	public string makename_ext;
+    	public string assembly_name;
+    	public string res;
+    	public string src;
+    	private MonoDevelop.Prj2Make.Schema.Prjx.Project m_projObject;
+    
+    	public string ext_refs = "";
+    	public string switches = "";
+    	
+    	public MonoDevelop.Prj2Make.Schema.Prjx.Project Proyecto {
+    		get { return m_projObject; }
+    	}
+    
+    	// Project desirialization
+		protected MonoDevelop.Prj2Make.Schema.Prjx.Project LoadPrjFromFile (string strIn)
+		{
+			FileStream fs = new FileStream (strIn, FileMode.Open);
+	    
+			XmlSerializer xmlSer = new XmlSerializer (typeof(MonoDevelop.Prj2Make.Schema.Prjx.Project));
+			MonoDevelop.Prj2Make.Schema.Prjx.Project prjObj = (MonoDevelop.Prj2Make.Schema.Prjx.Project) xmlSer.Deserialize (fs);
+	    
+			fs.Close();
+	    
+			return (prjObj);
+		}
+
+		public PrjxInfo(bool isUnixMode, bool isMcsMode, string csprojpath)
+	   	{
+    		this.csprojpath = csprojpath;
+    		
+    		// convert backslashes to slashes    		
+    		csprojpath = csprojpath.Replace("\\", "/");
+    
+    		// loads the file in order to deserialize and
+    		// build the object graph
+    		try {
+    			m_projObject = LoadPrjFromFile (csprojpath);
+			} catch (Exception exc) {
+			
+				Console.WriteLine (
+					String.Format ("Could not load the file {0}\nException: {1}",
+						csprojpath,
+						exc.Message)
+					);
+				return;			
+			}
+
+    		this.name = m_projObject.name;
+
+    		makename = name.Replace('.','_').ToUpper();
+    		makename_ext = makename + "_EXT";
+    
+    		switch (m_projObject.Configuration.CodeGeneration.target)
+    		{
+    			case "Library":
+    				makename_ext = makename + "_DLL";
+    				assembly_name = m_projObject.Configuration.Output.assembly + ".dll";
+    				switches += " -target:library";
+    				break;
+    
+    			case "Exe":
+    				makename_ext = makename + "_EXE";
+    				assembly_name = m_projObject.Configuration.Output.assembly + ".exe";
+    				switches += " -target:exe";
+    				break;
+    
+    			case "WinExe":
+    				makename_ext = makename + "_EXE";
+    				assembly_name = m_projObject.Configuration.Output.assembly + ".exe";
+    				switches += " -target:winexe";
+    				break;
+    
+    			default:
+    				throw new NotSupportedException("Unsupported OutputType: " + m_projObject.Configuration.CodeGeneration.target);
+    			
+    		}
+    
+    		src = "";    
+    		string basePath = Path.GetDirectoryName(csprojpath);
+    		string s;
+    		
+			// Process Source code files for compiling
+    		foreach (MonoDevelop.Prj2Make.Schema.Prjx.File f in m_projObject.Contents)
+    		{
+    			if(f.buildaction == MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.Compile)
+    			{
+    				if (src != "") {
+	    				src += " \\\n\t";
+    				}
+    			
+    				s = System.IO.Path.Combine(basePath, f.name);
+    				s = s.Replace("\\", "/");
+    				if (CmbxMaker.slash != "/")
+	    				s = s.Replace("/", CmbxMaker.slash);
+
+					// Test for spaces
+					if (isUnixMode == false)
+					{
+						// We are in win32 using a cmd.exe or other
+						// DOS shell
+						if(s.IndexOf(' ') > -1) {
+							src += String.Format("\"{0}\"", s);
+						} else {
+							src += s;
+						}
+					} else {
+						// We are in *NIX or some other
+						// GNU like shell
+						src += s.Replace(" ", "\\ ");
+					}    			
+    			}
+    		}
+    		
+    		// Process resources for embedding
+    		res = "";
+    		string rootNS = this.name; 
+    		string relPath;
+    		foreach (MonoDevelop.Prj2Make.Schema.Prjx.File f in m_projObject.Contents)
+    		{
+    			if(f.buildaction == MonoDevelop.Prj2Make.Schema.Prjx.FileBuildaction.EmbedAsResource)
+    			{
+    				if (src != "") {
+	    				src += " \\\n\t";
+    				}
+    			
+	    			relPath = f.name.Replace("\\", "/");
+	    			s = System.IO.Path.Combine(basePath, relPath);
+	    			s = String.Format("-resource:{0},{1}", s, rootNS + "." + relPath.Replace("/", "."));
+	    			s = s.Replace("\\", "/");
+	    			if (CmbxMaker.slash != "/")
+	    				s = s.Replace("/", CmbxMaker.slash);
+	    			res += s;
+    			}
+    		}
+    	}
+    }    
+}

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/csproj_ver2003.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/csproj_ver2003.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/csproj_ver2003.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,282 @@
+namespace MonoDevelop.Prj2Make.Schema.Csproj {
+    using System.Xml.Serialization;
+    
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Build {
+        
+        /// <remarks/>
+        public Settings Settings;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+        public Reference[] References;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Settings {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("Config")]
+        public Config[] Config;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string ApplicationIcon;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string AssemblyKeyContainerName;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string AssemblyName;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string AssemblyOriginatorKeyFile;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string DefaultClientScript;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string DefaultHTMLPageLayout;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string DefaultTargetSchema;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool DelaySign;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string OutputType;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string PreBuildEvent;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string PostBuildEvent;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string RootNamespace;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string RunPostBuildEvent;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string StartupObject;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Config {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string Name;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool AllowUnsafeBlocks;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public int BaseAddress;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool CheckForOverflowUnderflow;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string ConfigurationOverrideFile;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string DefineConstants;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string DocumentationFile;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool DebugSymbols;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public short FileAlignment;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool IncrementalBuild;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool NoStdLib;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string NoWarn;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool Optimize;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string OutputPath;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool RegisterForComInterop;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool RemoveIntegerChecks;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public bool TreatWarningsAsErrors;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public System.SByte WarningLevel;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Reference {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string Name;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string AssemblyName;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string HintPath;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string Project;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string Package;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class CSHARP {
+        
+        /// <remarks/>
+        public Build Build;
+        
+        /// <remarks/>
+        public Files Files;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string ProjectType;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string ProductVersion;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public System.Decimal SchemaVersion;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string ProjectGuid;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Files {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+        public File[] Include;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class File {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string RelPath;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public FileBuildAction BuildAction;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string SubType;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string DependentUpon;
+    }
+    
+    /// <remarks/>
+    public enum FileBuildAction {
+        
+        /// <remarks/>
+        Compile,
+        
+        /// <remarks/>
+        Content,
+        
+        /// <remarks/>
+        EmbeddedResource,
+        
+        /// <remarks/>
+        None,
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Include {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("File")]
+        public File[] File;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class References {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("Reference")]
+        public Reference[] Reference;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class VisualStudioProject {
+        
+        /// <remarks/>
+        public CSHARP CSHARP;
+    }
+}

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib-Commands.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib-Commands.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib-Commands.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,66 @@
+using System;
+using System.IO;
+
+using MonoDevelop.Core.AddIns.Codons;
+using MonoDevelop.Services;
+using MonoDevelop.Core.Services;
+using MonoDevelop.Prj2Make;
+using MonoDevelop.Prj2Make.Schema.Prjx;
+using MonoDevelop.Prj2Make.Schema.Csproj;
+
+namespace MonoDevelop.Commands
+{
+	public class ImportPrj : AbstractMenuCommand
+	{
+		static PropertyService PropertyService = (PropertyService)ServiceManager.Services.GetService (typeof (PropertyService));
+		
+		public override void Run()
+		{
+			using (Gtk.FileSelection fs = new Gtk.FileSelection (GettextCatalog.GetString ("File to Open"))) {
+				bool conversionSuccessfull = false;
+				SlnMaker slnMkObj = null;
+				string defaultFolder = PropertyService.GetProperty(
+						"MonoDevelop.Gui.Dialogs.NewProjectDialog.DefaultPath", 
+					System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),
+						"MonoDevelopProjects")).ToString();
+				fs.Complete (defaultFolder);
+				int response = fs.Run ();
+				string name = fs.Filename;
+				fs.Hide ();
+				IProjectService proj = null;
+
+				if (response == (int)Gtk.ResponseType.Ok) {
+					switch (Path.GetExtension(name).ToUpper()) {
+						case ".SLN": 
+							slnMkObj = new SlnMaker();
+							// Load the sln and parse it
+							slnMkObj.MsSlnToCmbxHelper(name);
+							conversionSuccessfull = true;
+							name = slnMkObj.CmbxFileName;
+							break;
+						case ".CSPROJ":
+							slnMkObj = new SlnMaker();
+							// Load the csproj and parse it
+							slnMkObj.CreatePrjxFromCsproj(name);
+							conversionSuccessfull = true;
+							name = slnMkObj.PrjxFileName;
+							break;
+						default:
+							IMessageService messageService =(IMessageService)ServiceManager.Services.GetService(typeof(IMessageService));
+							messageService.ShowError(String.Format (GettextCatalog.GetString ("Can't open file {0} as project"), name));
+							break;
+					}
+					if (conversionSuccessfull == true) {
+						try {
+							proj = (IProjectService)ServiceManager.Services.GetService (typeof (IProjectService));
+							proj.OpenCombine(name);
+						} catch (Exception ex) {
+							Console.WriteLine(ex.Message);
+						}
+					}
+				}
+			}
+		}
+	}
+
+}

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.addin.xml
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.addin.xml	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.addin.xml	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,21 @@
+<AddIn name	 = "Solution Importer"
+       author	 = "Francisco 'Paco' Martinez"
+       copyright = "GPL"
+       url       = ""
+       description = "Generates combines from solutions files"
+       version   = "0.01">
+
+	<Runtime>
+		<Import assembly="prj2make-sharp-lib.dll"/>
+	</Runtime>
+	<Extension path="/SharpDevelop/Workbench/MainMenu/File">
+		<MenuItem id = "ImportSeparator" insertafter="SaveAll" _label = "-" />
+		<MenuItem id = "ImportSolution"
+			 insertafter="ImportSeparator"
+			 insertbefore="RecentSeparator"
+		          _label = "Import VS Project"
+			  description = "Imports solutions created with MS Visual Studio"
+		          class = "MonoDevelop.Commands.ImportPrj"/>
+	</Extension>
+</AddIn	>
+

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.cmbx
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.cmbx	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.cmbx	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,16 @@
+<Combine fileversion="1.0" name="prj2make-sharp-lib" description="">
+  <StartMode startupentry="prj2make-sharp-lib" single="True">
+    <Execute entry="prj2make-sharp-lib" type="None" />
+  </StartMode>
+  <Entries>
+    <Entry filename="./prj2make-sharp-lib.prjx" />
+  </Entries>
+  <Configurations active="Debug">
+    <Configuration name="Release">
+      <Entry name="prj2make-sharp-lib" configurationname="Debug" build="False" />
+    </Configuration>
+    <Configuration name="Debug">
+      <Entry name="prj2make-sharp-lib" configurationname="Debug" build="False" />
+    </Configuration>
+  </Configurations>
+</Combine>
\ No newline at end of file

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.prjx
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.prjx	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/prj2make-sharp-lib.prjx	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,40 @@
+<Project name="prj2make-sharp-lib" description="" newfilesearch="None" enableviewstate="True" version="1.1" projecttype="C#">
+  <Contents>
+    <File name="./MsPrjHelper.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./PrjHelper.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./MdPrjHelper.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./CsprojInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./PrjxInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./sharp_d_cmbx.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./sharp_d_prjx.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./csproj_ver2003.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./AssemblyInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name="./prj2make-sharp-lib-Commands.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+  </Contents>
+  <References>
+    <Reference type="Gac" refto="gdk-sharp.dll" localcopy="True" />
+    <Reference type="Gac" refto="glib-sharp.dll" localcopy="True" />
+    <Reference type="Gac" refto="pango-sharp.dll" localcopy="True" />
+    <Reference type="Gac" refto="gtk-sharp.dll" localcopy="True" />
+    <Reference type="Assembly" refto="../../../build/bin/MonoDevelop.Base.dll" localcopy="True" />
+    <Reference type="Assembly" refto="../../../build/bin/MonoDevelop.Core.dll" localcopy="True" />
+  </References>
+  <DeploymentInformation target="" script="" strategy="File" />
+  <Configuration runwithwarnings="False" name="Debug">
+    <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+    <Execution commandlineparameters="" consolepause="True" />
+    <Output directory="./bin/Debug" assembly="prj2make-sharp-lib" executeScript="" executeBeforeBuild="" executeAfterBuild="" />
+  </Configuration>
+  <Configurations active="Debug">
+    <Configuration runwithwarnings="False" name="Debug">
+      <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+      <Execution commandlineparameters="" consolepause="True" />
+      <Output directory="./bin/Debug" assembly="prj2make-sharp-lib" executeScript="" executeBeforeBuild="" executeAfterBuild="" />
+    </Configuration>
+    <Configuration runwithwarnings="False" name="Release">
+      <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+      <Execution commandlineparameters="" consolepause="True" />
+      <Output directory="./bin/Release" assembly="prj2make-sharp-lib" executeScript="" executeBeforeBuild="" executeAfterBuild="" />
+    </Configuration>
+  </Configurations>
+</Project>
\ No newline at end of file

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_cmbx.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_cmbx.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_cmbx.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,117 @@
+namespace MonoDevelop.Prj2Make.Schema.Cmbx {
+    using System.Xml.Serialization;
+    
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Combine {
+        
+        /// <remarks/>
+        public StartMode StartMode;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+        public Entry[] Entries;
+        
+        /// <remarks/>
+        public Configurations Configurations;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public System.Decimal fileversion;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string name;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string description;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class StartMode {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("Execute")]
+        public Execute[] Execute;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string startupentry;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string single;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Execute {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string entry;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string type;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Configuration {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("Entry")]
+        public Entry[] Entry;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string name;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Entry {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string filename;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string name;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string configurationname;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string build;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Configurations {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("Configuration")]
+        public Configuration[] Configuration;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string active;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Entries {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("Entry")]
+        public Entry[] Entry;
+    }
+}

Added: trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_prjx.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_prjx.cs	2004-04-27 04:44:11 UTC (rev 1520)
+++ trunk/MonoDevelop/src/AddIns/prj2make-sharp-lib/sharp_d_prjx.cs	2004-04-27 12:20:44 UTC (rev 1521)
@@ -0,0 +1,323 @@
+namespace MonoDevelop.Prj2Make.Schema.Prjx {
+    using System.Xml.Serialization;
+    
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class CodeGeneration {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string runtime;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string compiler;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public System.SByte warninglevel;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string nowarn;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public CodeGenerationIncludedebuginformation includedebuginformation;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string optimize;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public CodeGenerationUnsafecodeallowed unsafecodeallowed;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string generateoverflowchecks;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string mainclass;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string target;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string definesymbols;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string generatexmldocumentation;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string win32Icon;
+    }
+    
+    /// <remarks/>
+    public enum CodeGenerationIncludedebuginformation {
+        
+        /// <remarks/>
+        False,
+        
+        /// <remarks/>
+        True,
+    }
+    
+    /// <remarks/>
+    public enum CodeGenerationUnsafecodeallowed {
+        
+        /// <remarks/>
+        False,
+        
+        /// <remarks/>
+        True,
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Configuration {
+        
+        /// <remarks/>
+        public CodeGeneration CodeGeneration;
+        
+        /// <remarks/>
+        public Execution Execution;
+        
+        /// <remarks/>
+        public Output Output;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string runwithwarnings;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string name;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Execution {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string commandlineparameters;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string consolepause;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Output {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string directory;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string assembly;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string executeScript;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string executeBeforeBuild;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string executeAfterBuild;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Configurations {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("Configuration")]
+        public Configuration[] Configuration;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string active;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Contents {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("File")]
+        public File[] File;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class File {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string name;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public FileSubtype subtype;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public FileBuildaction buildaction;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string dependson;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string data;
+    }
+    
+    /// <remarks/>
+    public enum FileSubtype {
+        
+        /// <remarks/>
+        Code,
+        
+        /// <remarks/>
+        Directory,
+    }
+    
+    /// <remarks/>
+    public enum FileBuildaction {
+        
+        /// <remarks/>
+        Compile,
+        
+        /// <remarks/>
+        EmbedAsResource,
+        
+        /// <remarks/>
+        Exclude,
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class DeploymentInformation {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string target;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string script;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string strategy;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Project {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+        public File[] Contents;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+        public Reference[] References;
+        
+        /// <remarks/>
+        public DeploymentInformation DeploymentInformation;
+        
+        /// <remarks/>
+        public Configuration Configuration;
+        
+        /// <remarks/>
+        public Configurations Configurations;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string name;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string description;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string newfilesearch;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string enableviewstate;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public System.Decimal version;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string projecttype;
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class Reference {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public ReferenceType type;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public string refto;
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlAttributeAttribute()]
+        public ReferenceLocalcopy localcopy;
+    }
+    
+    /// <remarks/>
+    public enum ReferenceType {
+        
+        /// <remarks/>
+        Assembly,
+        
+        /// <remarks/>
+        Gac,
+        
+        /// <remarks/>
+        Project,
+    }
+    
+    /// <remarks/>
+    public enum ReferenceLocalcopy {
+        
+        /// <remarks/>
+        False,
+        
+        /// <remarks/>
+        True,
+    }
+    
+    /// <remarks/>
+    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+    public class References {
+        
+        /// <remarks/>
+        [System.Xml.Serialization.XmlElementAttribute("Reference")]
+        public Reference[] Reference;
+    }
+}




More information about the Monodevelop-patches-list mailing list