SCons is a software construction tool.
Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software.
This is free and open source software.
Key Features
- 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 Microsoft Visual Studio, including generation of .dsp, .dsw, .sln and .vcproj files.
- Reliable detection of build changes using MD5 signatures; optional, configurable support for traditional timestamps.
- 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 7/8/10, MacOS, and OS/2.
Website: scons.org
Support: GitHub Code Repository
Developer: The SCons Foundation
License: MIT License
SCons is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Build Systems | |
|---|---|
| Cargo | Rust package manager |
| gulp | Toolkit to automate & enhance your workflow |
| Bazel | Build and test your multi-language, multi-platform projects |
| Apache Maven | Build automation tool used primarily for Java projects |
| Gradle | Build tool with a focus on build automation and support for multi-language |
| Meson | Next-generation build system |
| CMake | Family of tools designed to build, test and package software |
| Buck2 | Encourages the creation of small, reusable modules |
| Leiningen | Automating Clojure projects |
| Grunt | JavaScript Task Runner |
| Ninja | Small build system with a focus on speed |
| xmake | Cross-platform build utility based on Lua |
| SCons | Software construction tool |
| Pants | Scalable build system for monorepos |
| PHing | Build system based on Apache Ant |
| Rake | make-like build utility for Ruby |
| Apache Ant | Tool for automating software build processes |
| Cabal | Common Architecture for Building Applications and Libraries |
Read our verdict in the software roundup.
| Alternatives to make | |
|---|---|
| CMake | Build system generator |
| SCons | Software construction tool |
| Maven | Build automation tool used primarily for Java projects |
| Premake | Simple build configuration |
| Ninja | Small build system with a focus on speed |
| just | Save and run project-specific commands |
| pdpmake | Public domain implementation of make which follows the POSIX standard |
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

