Ok, currently Winelib relies on GNU autoconf, makefiles and friends to get a working app. This is a bit difficult, particularly if you're not very good with makefiles (I'm attempting to learn them from scratch in order to port an application.)
I just heard about the SCons project, which from what I can tell looks like it aims to be a replacement to the makefiles. Has anyone used this?
I bring this up because it might be easier on developers to have something like Winemaker create a SCons script, rather than rely on the user to piddle around with autoconf and hacking up makefiles.
Thoughts?
Thanks, Scott Ritchie Usability-developer-wannabe-extrordinaire
On Wed, 16 Feb 2005 15:41:22 -0800, Scott Ritchie scott@open-vote.org wrote:
Ok, currently Winelib relies on GNU autoconf, makefiles and friends to get a working app. This is a bit difficult, particularly if you're not very good with makefiles (I'm attempting to learn them from scratch in order to port an application.)
I just heard about the SCons project, which from what I can tell looks like it aims to be a replacement to the makefiles. Has anyone used this?
I bring this up because it might be easier on developers to have something like Winemaker create a SCons script, rather than rely on the user to piddle around with autoconf and hacking up makefiles.
Thoughts?
Thanks, Scott Ritchie Usability-developer-wannabe-extrordinaire
One thing I noted on the SCons website:
"Built-in support for Microsoft Visual Studio .NET and past Visual Studio versions, including generation of .dsp, .dsw, .sln and .vcproj files."
Sounds interesting to me.
On Wed, 16 Feb 2005 15:41:22 -0800, Scott Ritchie wrote:
I just heard about the SCons project, which from what I can tell looks like it aims to be a replacement to the makefiles. Has anyone used this?
I have used it yes, it's good. I never ported a pre-existing project to it though.
On Wed, 16 Feb 2005, Scott Ritchie wrote:
Ok, currently Winelib relies on GNU autoconf, makefiles and friends to get a working app.
The current winemaker does not generate or use autoconf.
I've never use SCons either but the advantage of generating regular Makefiles is that many many developers are familiar with them. I would even venture that with something like 99% open source projects using Makefiles there are more developers familiar with Makefiles than with SCons scripts. Generating an SCons script would just be totally confusing for these developers.
Pine.LNX.4.62.0502171314190.11662@amboise.dolphinFrancois Gouget writes:
I've never use SCons either but the advantage of generating regular Makefiles is that many many developers are familiar with them. I would
*nod*. I agree. I get particularly upset when I download software and the build system doesn't work for some (usually minor) reason. make-based projects are quick hacks for a fix (for a great deal of people). its very unlikely i understand how to hack the current build system of the week.
wasn't the original impetus that the new UNIX developer doesn't have to learn make/autoconf? so instead they just learn a different build systems software? I dont follow the logic there...
Just my humble $0.02.
-tom
On Thu, 2005-02-17 at 10:13 -0500, Thomas J Fogal wrote:
Pine.LNX.4.62.0502171314190.11662@amboise.dolphinFrancois Gouget writes:
I've never use SCons either but the advantage of generating regular Makefiles is that many many developers are familiar with them. I would
*nod*. I agree. I get particularly upset when I download software and the build system doesn't work for some (usually minor) reason. make-based projects are quick hacks for a fix (for a great deal of people). its very unlikely i understand how to hack the current build system of the week.
wasn't the original impetus that the new UNIX developer doesn't have to learn make/autoconf? so instead they just learn a different build systems software? I dont follow the logic there...
That's exactly the idea. Ideally we can have a developer take his project, run winemaker on it, and then build it in a single command.
Today, that developer has to first port his project to MinGW (a very non-trivial step) and then hack around and fix the bad and broken makefiles winemaker generates. This requires extensive learning of something very foreign and, from my experience, a bit complicated. This is why we've been desiring adding Visual Studio support to Winelib for some time - there's less trouble for the migrator that way. Our original plan, of course, was to figure out a way to compile it with the standard make files, but now we've got another option.
SCons already claims to work with building visual studio project files. Unless I'm rather mistaken about what it actually can do, it seems as though a lot of this work has been done for us, and we need simply integrate it as an option.
-Scott
On Thu, 17 Feb 2005, Scott Ritchie wrote: [...]
Today, that developer has to first port his project to MinGW (a very non-trivial step)
Not true. I know this is what Dimitrie recommends but it's absolutely not necessary to first port to MinGW. You can run winemaker directly on your sources and try to get them to compile and run with nothing but Winelib.
and then hack around and fix the bad and broken makefiles winemaker generates.
Yes, I known. winemaker needs to be modified to understand .dsp files and use the information it finds there. Then the makefiles it generates will no longer be 'bad and broken'.
On Thu, 17 Feb 2005 13:19:46 +0100, Francois Gouget wrote:
SCons scripts. Generating an SCons script would just be totally confusing for these developers.
On one hand I agree, Make is the de-facto standard and we should respect that, but on the other hand every time I try and use it I have to read the manual or nick other peoples makefile code.
SCons on the other hand is several orders of magnitude more intuitive, at least to me, and it's also more portable as SConstruct files don't tend to rely on tons of UNIX shell utilities like Makefiles do. For Winelib that's a big deal.
So I'd be broadly supportive of adding support for generating SConstruct files to winemaker although we should still keep and maintain the Makefile support too. But I don't have time to work on this myself.
thanks -mike
On Thu, 2005-02-17 at 13:19 +0100, Francois Gouget wrote:
On Wed, 16 Feb 2005, Scott Ritchie wrote:
Ok, currently Winelib relies on GNU autoconf, makefiles and friends to get a working app.
The current winemaker does not generate or use autoconf.
I've never use SCons either but the advantage of generating regular Makefiles is that many many developers are familiar with them. I would even venture that with something like 99% open source projects using Makefiles there are more developers familiar with Makefiles than with SCons scripts. Generating an SCons script would just be totally confusing for these developers.
Well, remember, we are (hopefully) targeting Windows developers here who have previously been using Visual Studio for migration with Winelib. Even among open source projects for Windows, use of makefiles is exceedingly rare.
Thanks, Scott Ritchie
On Thu, 17 Feb 2005, Scott Ritchie wrote: [...]
Well, remember, we are (hopefully) targeting Windows developers here who have previously been using Visual Studio for migration with Winelib. Even among open source projects for Windows, use of makefiles is exceedingly rare.
IMHO, SCons using Windows developpers would be even more exceedingly rare.