SCons
Sign in to saveSCons is a software development tool that analyzes source code dependencies and operating system adaptation requirements from a software project description and generates final binary executables for installation on the target operating system platform. Its function is similar to the more popular GNU build system.
Key facts
- Software.name
- SCons
- Software.logo
- SCons.png
- Software.author
- Steven Knight
- Software.latest release version
- 4.10.1
- Software.programming language
- Python
- Software.operating system
- Cross-platform
- Software.genre
- Software development tools
- Software.license
- MIT License
via Wikipedia infobox
Official website
Link to the official site · 2,439 chars · not written by Vinony
Source code
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. 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. If you already have SCons installed, you can check that the package you have is the latest version at the SCons download page . Some experimental features may require additional Python packages to be installed - at the moment the Ninja feature requires the supporting ninja package . SCons has no installation dependencies beyond a compatible version of Python. The tools which will be used to actually construct the project, such as compilers, documentation production tools, etc. should of course be installed by the appropriate means. The preferred way to install SCons is through the Python installer, pip (or equivalent alternatives, such as uv or the Anaconda installer, conda ). You can install either from a wheel package or from the source directory. To work on a project that builds using SCons, "installing" lets you just use scons as a command and not worry about paths. In this case, we usually suggest using a virtualenv, to isolate the Python environment to that project (some notes on that: Python Packaging User Guide: Creating and using virtual environments ). WARNING: The scripts scons-configure-cache.exe, scons.exe and sconsign.exe are installed in 'C: Users me AppData Roaming Python Python310 Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. If you're new to SCons, the first couple of chapters of the SCons User Guide provide an excellent starting spot. You can explore the list of existing bugs, which may include workarounds for the problem you've run into, on the GitHub issue tracker . There are other ways to contact the SCons community. An active Discord server is the most direct. The server includes a channel for code notifications and other GitHub events ( github-update ), if those are of interest. See the website for more contact information: To support other projects which wish to do the same, a sample script is provided which can be placed in a site directory, which imports SOURCE DATE EPOCH and sets it in the execution environment of every created construction envirionment. There's also an installer script (POSIX shell only). See packaging/etc/README.tx
Excerpt from the source-code README · 11,570 chars · not written by Vinony
Wikidata facts
- Official website
- scons.org
Show 2 more facts
- software version identifier
- 4.10.1
- source code repository URL
- github.com/SCons/scons
via Wikidata · CC0
~3 min read
Article
6 sectionsContents
- History
- Features
- Examples
- See also
- References
- External links
SCons is a software development tool that analyzes source code dependencies and operating system adaptation requirements from a software project description and generates final binary executables for installation on the target operating system platform. Its function is similar to the more popular GNU build system.
The tool generates Python scripts for project configuration and build logic.