[scons-dev] SOC Project Idea: Winelib-aware scons

Greg Noel GregNoel at tigris.org
Sat Mar 21 10:42:19 CDT 2009


On Mar 20, 2009, at 4:50 PM, Scott Ritchie wrote:

> ... I want a magic script that can convert a visual studio project  
> file into a winelib-aware, scons-powered, linux-compatible build  
> system.  ...  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.

I'm the primary GSoC admin for SCons, and all I can say is that the  
project doesn't sound infeasible---but that's not the same thing as  
saying that it's feasible.

On the other hand, I'd wonder about viability.  It doesn't look like  
the basic winelib information has been updated since January 2005,  
although there's mention of a planned 0.9 release in September 2005.   
That's more than three years of inactivity.  Over the last few months  
it looks like you've been trying to revitalize the project, but I'm  
not seeing a lot of traction.  If I were a student researching this  
idea, I'd be leery about proposing a project for a tool that appeared  
moribund.

That said, there's the question the skill set a student would need.   
He'd have to have a good understanding of VisualStudio (at least as  
far as its project file format, which I believe is XML), some graph  
theory to deal with the dependency graph, more knowledge of winelib  
than I was able to dig out in a few minutes of research, and some  
Python.  If we are primary on the project, we'd insist that the  
implementation language be Python, so that would require an even  
greater background in Python.  Some of the skills can be learned as  
part of the project (that's what it's about, after all), but the  
combination of VisualStudio and Python may be rare.

The idea would be to open the VisualStudio control file, extract the  
dependency graph, and generate a SConscript with the equivalent flow.   
Put that way, it's a week or two to do the work and maybe another week  
to write the documentation.  The result probably be useful, but it's  
not really of the scale we'd expect of a GSoC project, nor would it  
require opening the source for either project.

More interesting would be to write a SCons builder that took a project  
file, did the analysis as in the previous paragraph, and inserted the  
build steps directly.  There's been some interest expressed in our  
community for something like this feature.  The build steps would be  
native on systems that had the appropriate SDK and use winelib  
otherwise.  That's still only a few weeks work, though.

Those two tasks might be the foundation of a project proposal that  
also included some additional tasks.  An interesting third task would  
be to revamp our existing facility that creates VisualStudio project  
and solution files so that they don't just run SCons under the hood;  
in other words, that they contain the full dependency graph and SCons  
would not be needed to build the project.

It does look like there's some fruitful ground in your suggestion, but  
I think it will take some more information (and reassurance) than what  
we have now.  I'm willing to add it to our ideas list if that can be  
worked out.  Let me know.

Hope this helps,
-- Greg Noel, retired UNIX guru



More information about the wine-devel mailing list