SCons, a Software Construction Tool
[Posted July 2, 2003 by cook]
SCons
is a software build tool that is intended to replace the common
utility
Make.
It is loosely based on
CONS,
another build tool.
The SCons
FAQ page says:
"SCons is implemented as a Python script and set of modules, and SCons "configuration files" are actually executed as Python scripts. This gives SCons many powerful capabilities not found in other software build tools."
Some of the SCons features include:
- Cross-platform operation.
- Python-based configuration scripts for solving software build problems with a powerful language.
- Automatic dependency analysis, no need for make depend/make clean.
- Support for C, C++, FORTRAN, Java, Yacc, and Lex.
- Extensible, support for other languages and file types can be added.
- Support for fetching files via SCCS, RCS, CVS, BitKeeper and Perforce.
- Works with timestamps and MD5 signatures.
- Better parallel build support compared to Make.
- Built-in Autoconf-like support for working with #include files, libraries, functions and typedefs.
- Global view of all dependencies, multiple build passes are not necessary.
- Can share pre-built files in a cache, this speeds up multiple builds.
SCons is divided into three source packages.
- scons: The basic SCons installation and utility tools.
- scons-local: A component that is intended to be included with other software packages that are built using SCons.
- scons-src: The complete SCons source distribution tree, useful for those who wish to build SCons itself.
A number of different companies and projects
are now using SCons
for building software.
For more information, see the online
SCons Documentation.
Downloads of SCons are availalble on the
SCons page
at SourceForge.
SCons has been released under the MIT license.
Version 0.90 has been released, the authors claim that due to their
software building methodology, SCons is already quite stable.
A 1.0 release is coming soon.
Maybe its time for someone to try setting the Linux kernel up to
build under SCons.
(
Log in to post comments)