hey,

prj2make does not compile .resx into .resources. Attached simple patch
enables this behavior.

if somebody approves, I'll commit. 

suresh.
Index: CsprojInfo.cs
===================================================================
--- CsprojInfo.cs       (revision 50720)
+++ CsprojInfo.cs       (working copy)
@@ -35,6 +35,7 @@
                public string makename_ext;
                public string assembly_name;
                public string res;
+               public string resgen;
                public string src;
                private bool m_bAllowUnsafeCode;
                private 
Mfconsulting.General.Prj2Make.Schema.Csproj.VisualStudioProject m_projObject;
@@ -171,6 +172,7 @@
                        }
                
                        res = "";
+                       resgen = "";
                        string rootNS = 
m_projObject.CSHARP.Build.Settings.RootNamespace;
                        string relPath;
                        foreach 
(Mfconsulting.General.Prj2Make.Schema.Csproj.File fl in 
m_projObject.CSHARP.Files.Include)
@@ -183,6 +185,15 @@
                        
                                        relPath = fl.RelPath.Replace("\\", "/");
                                        s = System.IO.Path.Combine(basePath, 
relPath);
+                                       if (Path.GetExtension (s) == ".resx") {
+                                               string path = s;
+                                               path = path.Replace (@"\", "/");
+                                               if (SlnMaker.slash != "/")
+                                                       path = 
path.Replace("/", SlnMaker.slash);
+                                               resgen += String.Format ("{0} 
", path);
+                                               s = Path.ChangeExtension (s, 
".resources");
+                                               relPath = Path.ChangeExtension 
(relPath, ".resources");
+                                       }
                                        s = String.Format("-resource:{0},{1}", 
s, rootNS + "." + relPath.Replace("/", "."));
                                        s = s.Replace("\\", "/");
                                        if (SlnMaker.slash != "/")
Index: ChangeLog
===================================================================
--- ChangeLog   (revision 50720)
+++ ChangeLog   (working copy)
@@ -1,3 +1,10 @@
+2005-09-27  Sureshkumar T  <[EMAIL PROTECTED]>
+
+       * MsPrjHelper.cs (MsSlnHelper): add resgen.
+
+       * CsprojInfo.cs (CsprojInfo): If resource file ends with .resx
+       convert them into .resources.
+
 2005-02-19  Miguel de Icaza  <[EMAIL PROTECTED]>
 
        * MsPrjHelper.cs, MdPrjHelper.cs: Escape path names, as they might
Index: MsPrjHelper.cs
===================================================================
--- MsPrjHelper.cs      (revision 50720)
+++ MsPrjHelper.cs      (working copy)
@@ -231,6 +231,7 @@
                                                if (this.m_bIsMcs == false)
                                                {
                                                        
MakefileBuilder.Append("MCS=csc\n");
+                                                       
MakefileBuilder.Append("RESGEN=resgen\n");
                                                        
MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
                                                        
MakefileBuilder.Append("ifdef (RELEASE)\n");
                                                        
MakefileBuilder.Append("\tMCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
@@ -241,6 +242,7 @@
                                                else
                                                {
                                                        
MakefileBuilder.Append("MCS=mcs\n");
+                                                       
MakefileBuilder.Append("RESGEN=resgen\n");
                                                        
MakefileBuilder.Append("ifndef (RELEASE)\n");
                                                        
MakefileBuilder.Append("\tMCSFLAGS=-debug \n");
                                                        
MakefileBuilder.Append("endif\n");
@@ -273,6 +275,7 @@
                                                if (m_bIsMcs == false)
                                                {
                                                        
MakefileBuilder.Append("MCS=csc\n");
+                                                       
MakefileBuilder.Append("RESGEN=resgen\n");
                                                        
MakefileBuilder.Append("MCSFLAGS=-nologo\n\n");
                                                        
MakefileBuilder.Append("!if !defined(RELEASE)\n");
                                                        
MakefileBuilder.Append("MCSFLAGS=$(MCSFLAGS) -optimize+ -d:TRACE\n");
@@ -283,6 +286,7 @@
                                                else
                                                {
                                                        
MakefileBuilder.Append("MCS=mcs\n");
+                                                       
MakefileBuilder.Append("RESGEN=resgen\n");
                                                        
MakefileBuilder.Append("!if !defined(RELEASE)\n");
                                                        
MakefileBuilder.Append("MCSFLAGS=-debug \n");
                                                        
MakefileBuilder.Append("!endif\n");
@@ -303,6 +307,7 @@
                                        
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}_RESX={1}\n", pi.makename, pi.resgen);
                                        
MakefileBuilder.AppendFormat("{0}_RES={1}\n\n", pi.makename, pi.res);
                                }
                                
@@ -406,6 +411,9 @@
                                                MakefileBuilder.Append("\t-md 
$(TARGET)\n");
                                        }
 
+                                       if (pi.resgen != null && pi.resgen != 
String.Empty)
+                                               MakefileBuilder.AppendFormat 
("\t$(RESGEN) /compile {0}\n", pi.resgen);
+
                                        MakefileBuilder.Append("\t$(MCS) 
$(MCSFLAGS)");
 
                                        foreach (string libdir in libdirs.Keys)
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to