SOC Project Idea: Winelib-aware scons

Chris Morgan chmorgan at
Tue Mar 24 09:43:33 CDT 2009

On Fri, Mar 20, 2009 at 7:50 PM, Scott Ritchie <scott at> wrote:
> For a while now I've been hoping someone would tackle a pet project of
> mine.  It occurred to me that it would be a great summer of code project.
> Basically, I want a magic script that can convert a visual studio
> project file into a winelib-aware, scons-powered, linux-compatible build
> system.  This would make it very easy for a Windows-only Visual Studio
> project to be ported.
> Now, normally, someone writing portable code would probably want to use
> scons from the start instead of Visual Studio, but Winelib throws a monkey
> wrench into this process by making formerly non-portable code suddenly Linux
> compatible.
> As a good example application to test, the program eMule would be a good
> candidate - it's open source, works great in Wine, is built with Visual
> Studio, and has no good native equivalents.
> I've added a work in progress wiki page on the Wine wiki here:
> I'm not sure whether this will function better as an scons summer of
> code project or a Wine one, nor am I sure where a student would be able
> to find a good mentor.  Accordingly, I'm emailing both mailing lists,
> and hoping for some feedback, particularly if it doesn't sound feasible.
> Thanks,
> Scott Ritchie

I replied later in this thread but I wanted to again make the case for
a plugin to Monodevelop.

There are a few good reasons for starting with monodevelop. The
website is at

- Can read and write visual studio solution and project files. Enables
a user to modify the project under MD without breaking VS. (Supports
nested projects that Greg Noel mentioned recently). Consider the value
of enabling a user to maintain their existing solution and project
files. Having to convert build files means maintaining parallel build
- IDE similar to Visual studio, code completion etc (also has a
command line build tool)
- Plugin based architecture. Has a gui plugin manager that would make
it easy for users to install a winelib plugin.
- Written in c#, simplifies things like memory management

If the goal is to make porting to winelib easier, consider the value
of providing a similar IDE experience to that on windows.

A lot of the discussion has focused on things like reading/writing or
converting file formats. Using MD means having an existing path to
follow in parsing and building the solutions and projects. I'm sure
there are more important aspects to deal with other than the mechanics
of file formats.


More information about the wine-devel mailing list