- Project tools
- SCons Home Page
- SCons Wiki
- Project Membership
- Discussion lists/fora
- Documents & files
- Browse source code
- Project metrics
- How do I...
|Over 500 more tools...
14 Nov 2017:
Release 3.0.1 is now available at the
18 Sep 2017:
Release 3.0.0 is now available at the
03 Nov 2016:
Release 2.5.1 is now available at the
If you were registered and logged in, you could join this project.
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.
- 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.
Known to work on Linux, other POSIX systems (AIX, *BSD, HP/UX, IRIX, Solaris), Windows (NT, 2000, XP, Windows 7-10), Mac OS X, and OS/2.
- Support for Microsoft Visual Studio
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 and reordering 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).
See the Roadmap