<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thank you for this info Miguel<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Making progress with msvc, with a lot of second guessing, but I cannot seem to fully get out of the circular dependencies easily. After fixing a few things, there seems to be a two to three stage build process (‘basic’, ‘build’ and, well, the huge rest). I can build the ‘basic’ stuff with references being the MS.NET libraries it defaults to, but the ‘build’ phase fails both with dependencies on the basic system or the MS.NET libraries (missing implementations or ambiguous references). Well done for you to sort it all out.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>It sounds like your approach is similar to that in the ‘msvc’ folder and related makefile targets, but I probably miss many details. I found that I could run the make targets generating csproj files only after a successful ‘make’ on cygwin, using anciliary files (.response) from the call to ‘make’. I wonder how similar to what you describe this is. My question may be naive, but what do you mean by compiler constants, build order and files used? Are you post-processing the captured output redirected to a file?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I never really had to do much with makefiles, and with a codebase the size of Mono, this is a steep learning curve.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Cheers,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>J-M<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Miguel Mudge [mailto:michael.mudge@welchallyn.com] <br><b>Sent:</b> Tuesday, 8 May 2012 12:30 AM<br><b>To:</b> Perraud, Jean-Michel (CLW, Black Mountain)<br><b>Cc:</b> mono-devel-list@lists.ximian.com<br><b>Subject:</b> Re: [Mono-dev] Compiling Mono with Visual Studio and .pdb files<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We've been building the 2.10.2 Mono framework libraries in Visual Studio.  We performed a build on Linux, copied the compiler constants, build order and files used, and use this information to create the Visual Studio project - we did not start from Mono's msvc.  It was a very manual process, but I am pleased with the output.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>We don't compile all of the libraries since our embedded device doesn't have the space.  Most of the difficulty is in the roots anyways - for example, we have several System.dll projects, which are incrementally more dependent, in order to solve circular dependency problems.  Picture attached:<span style='color:#1F497D'><o:p></o:p></span></p></div><div><div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>It seems like the only way to reliably "copy" the build process into MSVC is to actually run the mcs make.  You might be able to hack it a bit to mock a build, grab the compile flags/files and then generate msvc files from that.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Thanks,<o:p></o:p></p></div><div><p class=MsoNormal>Michael "Kipp" Mudge | Welch Allyn | Lead Software Engineer<o:p></o:p></p></div><div><p class=MsoNormal>315-554-4057 | <a href="mailto:michael.mudge@welchallyn.com" target="_blank">michael.mudge@welchallyn.com</a><o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></body></html>