[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