Skip to main content
IRC Sourceforge Monthly Downloads Sourceforge Total Downloads Travis CI build status AppVeyor CI build Status CodeCov Coverage Status Github Actions

What is SCons?

SCons is an Open Source software construction tool which orchestrates the construction of software (and other tangible products such as documentation files) by determining which component pieces must be built or rebuilt and invoking the necessary commands to build them.

Features:

  • Configuration files are Python scripts - use the power of a real programming language to solve build problems; no complex domain-specific language to learn.

  • 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 cryptographic hashes; optionally can configure other algorithms including traditional timestamps.

  • Support for parallel builds - can keep multiple 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.

  • 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.

  • Written in Python.

Documentation

Documentation for SCons is available at https://scons.org/documentation.html.

Execution Requirements

Running SCons requires Python 3.7 or higher. There should be no other dependencies or requirements to run standard SCons.

The last release to support Python 3.7 or Python 3.8 is 4.11.0. The last release to support Python 3.6 was 4.8.1. The last release to support Python 3.5 was 4.2.0.

Some experimental features may require additional Python packages to be installed - at the moment the Ninja feature requires the supporting ninja package.

The default SCons configuration assumes use of the Microsoft Visual C++ compiler suite on Win32 systems, and assumes a C compiler named cc, a C++ compiler named c++, and a Fortran compiler named gfortran (such as found in the GNU Compiler Collection) on any other type of system. You may override these default values by appropriate configuration of variables in a Construction Environment, or in the case of Cygwin on a Win32 system, by selecting the ‘cygwin’ platform, which will set some of those Construction Variables for you.

By default, SCons knows how to search for available programming tools on various systems - see the SCons man page for details. You can override the default SCons choices made by appropriate configuration of construction variables.

Installation Requirements

SCons has no installation dependencies beyond a compatible version of Python. The tools which will be used to to actually construct the project, such as compilers, documentation production tools, etc. should of course be installed by the appropriate means.

Getting Started Using SCons

If you’re new to SCons, the first couple of chapters of the SCons User Guide provide an excellent starting spot.

Contributing to SCons

Please see CONTRIBUTING.

License

SCons is distributed under the MIT license, a full copy of which is available in the LICENSE file.

Reporting Bugs

The SCons project welcomes bug reports and feature requests.

Please make sure you send email with the problem or feature request to the SCons users mailing list, which you can join at https://mail.python.org/mailman3/lists/scons-users.python.org, or on the SCons Discord server in #scons-help.

Once you have discussed your issue on the users mailing list and the community has confirmed that it is either a new bug or a duplicate of an existing bug, then please follow the instructions the community provides to file a new bug or to add yourself to the CC list for an existing bug

You can explore the list of existing bugs, which may include workarounds for the problem you’ve run into, on the GitHub issue tracker.

Mailing Lists

In addition to the scons-users list which is appropriate for almost any question, there is a mailing list specifically for developers of SCons You may send questions or comments to the list at:

You may subscribe to the developer’s mailing list using the form at https://mail.python.org/mailman3/lists/scons-dev.python.org.

Subscription to the developer’s mailing list is by approval. In practice, no one is refused list membership, but we reserve the right to limit membership in the future and/or weed out lurkers.

Note that while this list still exists, the number of different places you can talk about SCons means it is no longer very active. GitHub has support for discussions as well as for issues, and there is usually more immediacy on the Discord chat, so these are probably now considered the preferred places for “development” topics.

Donations

If you find SCons helpful, please consider making a donation (of cash, software, or hardware) to support continued work on the project. Information is available at https://www.scons.org/donate.html or the GitHub Sponsors button on https://github.com/scons/scons.

For More Information

Check the SCons web site at https://scons.org

Copyright (c) 2001 - 2026 The SCons Foundation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scons-4.11.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scons-4.11.0-py3-none-any.whl (4.1 MB view details)

Uploaded Python 3

File details

Details for the file scons-4.11.0.tar.gz.

File metadata

  • Download URL: scons-4.11.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for scons-4.11.0.tar.gz
Algorithm Hash digest
SHA256 5ba48f9e2eb6b9178cabdc9893792418e6970c84f43f4b027e4468e20616a89c
MD5 79b7933616d960a1dd4d79019d536116
BLAKE2b-256 dd823c4e089ac8df2eaee8a7f14e489b2a76f94f4c1d8defa4e46c8ad15cae86

See more details on using hashes here.

File details

Details for the file scons-4.11.0-py3-none-any.whl.

File metadata

  • Download URL: scons-4.11.0-py3-none-any.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for scons-4.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2edc077aaeafc43377ba46ce1fa3e7b40edea59c62db9ef7e39e07dc88b754fa
MD5 64e491d6a9878f910ae9d53a026c1e38
BLAKE2b-256 fcaca4445bbbd58a5fa6a5c8b3b0458ffbee04e4acaff87677058eab9c6af682

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page