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

King InuYasha ngompa13 at gmail.com
Sun Mar 22 06:47:00 CDT 2009


On Sat, Mar 21, 2009 at 10:42 AM, Greg Noel <GregNoel at tigris.org> wrote:

> 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
>
>
>
Does SCons support the project-within-a-project build style that is used in
Visual Studio? I know that most UNIX buildsystems do not support the Visual
Studio solution build method, so it would be rather difficult if you
couldn't support *.dsw and *.sln files. Obviously, this would mean you would
need to chain convert the project files and analyze sources recursively.
Additionally, since a lot of sources have mixed case, you would need to have
some sort of check for that built into the analysis. Granted, winemaker
already provides the lowercasing functionality, but the actual source code
itself needs to be analyzed and force all lowercase for file names in
addition to correcting file paths.

I checked, and it doesn't look like C::B has a XML rules file for project
importing.

However, I did find the sources for the project importer, which can import
*.dsw, *.dsp, *.sln, and *.vcproj files.
Link:
http://svn.berlios.de/svnroot/repos/codeblocks/trunk/src/plugins/projectsimporter/

It might help, it might not. I dunno really.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20090322/a46d79b9/attachment.htm>


More information about the wine-devel mailing list