Login | Register
My pages Projects Community openCollabNet
Project highlights:

Google Summer of Code: The SCons project will apply as a mentoring organization for the Google Summer of Code in 2009. See our entry page.

13 January 2009: Checkpoint release 1.2.0.d20090113 is now available at the download page.

21 December 2008: Release 1.2.0 is now available at the download page.

If you were registered and logged in, you could join this project.

Summary A software construction tool
Category construction
License X/MIT License
Owner(s) aroach, garyo, gregnoel, stevenknight

What is SCons?

SCons is a next-generation, cross-platform, build tool. Think of SCons as an improved substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache.

Unlike build tools that invent their own mini-language or wedge a scripting language onto some other configuration file syntax, SCons configuration files are actually Python scripts. The ability to script your build gives you a tremendous amount of flexibility to solve complicated build problems in surprisingly small amounts of maintainable code.

In short, SCons is an easier, more reliable and more flexible way to build software.

SCons Features

  • Configuration files are Python scripts

    This provides much more flexibility for solving difficult build problems than traditional build tools.

  • Reliable, automatic dependency analysis

    C, C++ and Fortran are scanned for dependencies, eliminating the need for a separate make depend step or a make clean to get all of the dependencies. Avoids the time waste from debugging phantom problems that mysteriously disappear after you make clean; make. Easily extended to scan for other languages or file types.

  • Built-in support for multiple languages

    C, C++, D, Java, Fortran, Yacc, Lex, Qt and SWIG. Can also build TeX and LaTeX documents. Easily extended for other languages or file types.

  • Cross-platform

    Known to work on Linux, other POSIX systems (AIX, *BSD, HP/UX, IRIX, Solaris), Windows (NT, 2000, XP), Mac OS X, and OS/2.

  • Fetch files from SCM systems or central directory trees

    Built-in support for SCCS, RCS, CVS, BitKeeper and Perforce. On-disk directory trees can be searched for source files or pre-built target files.

  • Support for Microsoft Visual Studio .NET and 2005

    Generates .dsp and .dsw files, or .sln and .vcproj files, from the same build configuration used to build on all platforms. Allows Windows developers to do all the productive point-and-click debugging they're used to without having to maintain a separate build configuration just for Windows.

  • Reliable detection of file changes using MD5 signatures

    Use of traditional file timestamps instead of MD5 can be configured.

  • Parallel builds

    Keeps up to N jobs running simultaneously regardless of directory hierarchy.

  • Global view of dependencies

    Simplifies builds by eliminating multiple passes or reording targets to build everything correctly.

  • Multi-platform configuration (like Autoconf)

    Support for finding #include files, libraries, functions and typedef declarations.

  • Shared built-file cache

    Speeds up multiple builds by allowing developers to share pre-built targets (like ccache, but for any type of target file, not just C/C++ compilation).

Future

See the Roadmap page.