SCons
SCons
|
|
---|---|
Basic data
|
|
Maintainer | The SCons Foundation |
Current version |
4.0.1 ( July 17, 2020 ) |
operating system | Unix , Linux , Windows , POSIX |
programming language | python |
category | Programming tool |
License | MIT license |
German speaking | No |
www.scons.org |
SCons is a free tool for developing and creating software . It is a replacement for the classic make program and integrates the functionality of tools such as Autoconf , Automake and compiler caches such as ccache . SCons is based on the Python programming language , configuration files can use the full scope of the language as normal Python scripts.
By default, C , C ++ , D , Java , Fortran , Objective-C , Yacc , Lex , Qt , SWIG and the construction of TeX and LaTeX documents are supported. Other languages or file formats can be added by the user using so-called “builders”.
Example SCons file
The following very simple SConstruct file compiles the c file hello-world.c with the platform-specific compiler.
Program('hello-world.c')
The following slightly more complicated example creates an environment that is used for building the hello program .
env = Environment()
env.Append(CPPFLAGS=Split('-Wall -g'))
env.Program('hello',
['hello.c', 'main.c'])
functionality
If a build is triggered in SCons, the dependencies are determined first. No build artifacts (e.g. object files, libraries or executables) are created or changed. In the second step, these dependencies are used to generate the build artifacts according to the dependencies, if its dependent files have changed since the last SCons execution.
History and related projects
SCons' software architecture is based on Cons by Bob Sidebotham, written in Perl in 1999 . SCons was originally written by Steven Knight and Chad Austin, Charles Crain, Steve Leblanc, Anthony Roach.
SCons, in turn, inspired WAF .
Well-known application examples
Alternatives
Individual evidence
- ↑ Release 4.0.1 . July 17, 2020 (accessed July 17, 2020).
- ↑ CONS: A Make replacement. Archived from the original on February 21, 2011 ; accessed on February 1, 2016 .
- ↑ FAQ SCons History and Background scons.org
- ↑ mongodb.org