<div dir="ltr">Hello,<div><br></div><div>I was maintaining the Visual Studio solution for the runtime and doing Windows development for a while but haven't kept up for a number of years now. We've had a number of "build mono on Windows" discussions over the years and various attempts at improving it. Breaking the discussion into two pieces:</div><div><br></div><div>Release/Install/CI for Windows</div><div class="gmail_extra"><br></div><div class="gmail_extra">This was done with cygwin and was packaged by an additional installer step. The installer step was never very transparent so I can't comment on that. </div><div class="gmail_extra">As for cygwin, the main issues were:</div><div class="gmail_extra">- it's an amalgam of tools, which constantly update. There was never an easy way to duplicate a working setup from one machine to the next</div><div class="gmail_extra">- given the size and complexity of the mono build and tests, it was generally not robust. Especially for continuous and automated usage</div><div class="gmail_extra">- it was slow. Slow as in hours on Windows vs minutes on Linux</div><div class="gmail_extra"><br></div><div class="gmail_extra">Developing on Windows</div><div class="gmail_extra"><br></div><div class="gmail_extra">As for actually developing mono on Windows, the main issue was that you could not easily use Visual Studio to develop mono. The VS support for the runtime was put together long ago as a way to develop/debug, but it still required the full cygwin build to configure everything, build the class libraries, and run the tests. Even if one was brave enough to work in this setup, iteration time was slow (see above). Miguel and others made efforts to build everything using MSBuild but nothing quite materialized for a variety of reasons.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">All that to say, if you just want to get the Windows support back to where it was a few years ago via cygwin it can probably be done in a few developer weeks. If you actually want to improve the Windows development story, allowing for actual development and usage of Windows tools like Visual Studio it's much more work. I'd love for the latter to happen, but it's would take a lot of effort and coordination. Effort like improving xbuild where needed if msbuild is the build mechanism of choice. Coordination like making sure any work done didn't harm other platforms. </div><div class="gmail_extra"><br></div><div class="gmail_extra">- Jonathan</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 16, 2014 at 2:16 PM, Alex J Lennon <span dir="ltr"><<a href="mailto:ajlennon@dynamicdevices.co.uk" target="_blank">ajlennon@dynamicdevices.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
On 16/10/2014 16:58, Bryan Crotaz wrote:<br>
> What's the estimation of effort required to get mono buildable in<br>
> windows and debuggable in VS? 6 man months? 18 man months?<br>
><br>
> I don't have time to donate but I'd be happy to put some money in a<br>
> pot with some of you to hire someone to work on this full time. Feels<br>
> like a concerted full time effort would bear more fruit than<br>
> occasional toe-dips in the water.<br>
<br>
</span>Bryan,<br>
<br>
fwiw - and this is merely a view from a bystander - I don't think it<br>
would take a lot to address the Windows build itself today.<br>
<br>
Mono does build on Windows, but it doesn't "just work" as people tend to<br>
expect nowadays. It needs some stream-lining imho with some setup script<br>
automation or similar for newbies. There are also some missing links in<br>
how an official Windows release is created versus using make, as we end<br>
up with missing files on install (or I am misunderstanding  something<br>
that needs doing, which in itself would be a documentation issue).<br>
<br>
To me this isn't a code issue so much as an ownership and release<br>
management issue. I recognise there is a cost to that and there has to<br>
be an ROI for that cost to be worth bearing.<br>
<br>
Releases are made with broken Window builds as Vincent says. So imho<br>
it's a dead work "fixing" master at any given time as it will just<br>
become broken again, although some basic setup scripting to pull down<br>
Cygwin, dependencies, to get the installation step working and such<br>
would help people to get going, I feel.<br>
<br>
What's more relevant, I believe, is a maintainer who has committed to<br>
Windows build testing and patching prior to an  offical release of Mono,<br>
a buy-in from other release maintainers that this is worth doing (or<br>
what's the point?), and perhaps some CI running the Mono tests in the<br>
background.<br>
<br>
Just my 4 cents,<br>
<br>
Alex<br>
<div class=""><div class="h5">_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</div></div></blockquote></div><br></div></div>