SCons - a better 'make'

Suggestions and discussion of future versions
Post Reply
shirish
Seeder
Seeder
Posts: 163
Joined: Fri May 25, 2007 4:01 am
Location: South Asia, India

SCons - a better 'make'

Post by shirish »

Hi all,
What do you guys think of using Scons, supposed to be better 'make' , Here is the feature list given on the site :-
What makes SCons better?

* Configuration files are Python scripts--use the power of a real programming language to solve build problems.
* Reliable, automatic dependency analysis built-in for C, C++ and Fortran--no more "make depend" or "make clean" to get all of the dependencies. Dependency analysis is easily extensible through user-defined dependency Scanners for other languages or file types.
* Built-in support for C, C++, D, Java, Fortran, Yacc, Lex, Qt and SWIG, and building TeX and LaTeX documents. Easily extensible through user-defined Builders for other languages or file types.
* Building from central repositories of source code and/or pre-built targets.
* Built-in support for fetching source files from SCCS, RCS, CVS, BitKeeper and Perforce.
* Built-in support for Microsoft Visual Studio .NET and past Visual Studio versions, including generation of .dsp, .dsw, .sln and .vcproj files.
* Reliable detection of build changes using MD5 signatures; optional, configurable support for traditional timestamps.
* Improved support for parallel builds--like make -j but keeps N jobs running simultaneously regardless of directory hierarchy.
* Integrated Autoconf-like support for finding #include files, libraries, functions and typedefs.
* Global view of all dependencies--no more multiple build passes or reordering targets to build everything.
* Ability to share built files in a cache to speed up multiple builds--like ccache but for any type of target file, not just C/C++ compilation.
* Designed from the ground up for cross-platform builds, and known to work on Linux, other POSIX systems (including AIX, *BSD systems, HP/UX, IRIX and Solaris), Windows NT, Mac OS X, and OS/2.
There is also quite a good FAQ listed at the site in case some of the developers get curious or something. http://www.scons.org/faq.php While I do not know much about these things but the ability to update svn repos, automatic dependency finding stuff & some of the stuff do sound interesting. Also being based on python, don't know if its a good thing or bad thing. Its there on gutsy & IIRC it was also there on feisty. Would be nice if somebody takes a look at it & see if it makes things better in the short-term/long-term or not?
Debian Sid, Intel Dual-Core, 512 kbps DL , 64 Kbps UL, deluge-1.3.5, pieces plugin, GNOME 3.4.x

All posts under creative commons http://creativecommons.org/licenses/by-nc/3.0/
markybob
Compulsive Poster
Compulsive Poster
Posts: 1230
Joined: Thu May 24, 2007 11:27 pm
Location: Chicago, IL, USA
Contact:

Re: SCons - a better 'make'

Post by markybob »

shirish wrote:Hi all,
What do you guys think of using Scons, supposed to be better 'make' , Here is the feature list given on the site :-
What makes SCons better?

* Configuration files are Python scripts--use the power of a real programming language to solve build problems.
* Reliable, automatic dependency analysis built-in for C, C++ and Fortran--no more "make depend" or "make clean" to get all of the dependencies. Dependency analysis is easily extensible through user-defined dependency Scanners for other languages or file types.
* Built-in support for C, C++, D, Java, Fortran, Yacc, Lex, Qt and SWIG, and building TeX and LaTeX documents. Easily extensible through user-defined Builders for other languages or file types.
* Building from central repositories of source code and/or pre-built targets.
* Built-in support for fetching source files from SCCS, RCS, CVS, BitKeeper and Perforce.
* Built-in support for Microsoft Visual Studio .NET and past Visual Studio versions, including generation of .dsp, .dsw, .sln and .vcproj files.
* Reliable detection of build changes using MD5 signatures; optional, configurable support for traditional timestamps.
* Improved support for parallel builds--like make -j but keeps N jobs running simultaneously regardless of directory hierarchy.
* Integrated Autoconf-like support for finding #include files, libraries, functions and typedefs.
* Global view of all dependencies--no more multiple build passes or reordering targets to build everything.
* Ability to share built files in a cache to speed up multiple builds--like ccache but for any type of target file, not just C/C++ compilation.
* Designed from the ground up for cross-platform builds, and known to work on Linux, other POSIX systems (including AIX, *BSD systems, HP/UX, IRIX and Solaris), Windows NT, Mac OS X, and OS/2.
There is also quite a good FAQ listed at the site in case some of the developers get curious or something. http://www.scons.org/faq.php While I do not know much about these things but the ability to update svn repos, automatic dependency finding stuff & some of the stuff do sound interesting. Also being based on python, don't know if its a good thing or bad thing. Its there on gutsy & IIRC it was also there on feisty. Would be nice if somebody takes a look at it & see if it makes things better in the short-term/long-term or not?
because deluge uses pygtk, our options are limited. in fact we dont really even use make, but fake it. if you look in our makefile, we just call python to call distutils, which does the actual building. our 0.6 development branch no longer uses distutils, but setuptools, which will help us with quite a few things, such as cross-platform-ness. so we are moving to something better...just have to wait a bit.
Post Reply