In software, a toolchain is a set of programming tools that is used to perform a complex software development task or to create a software product, which is typically another computer program or a set of related programs. In general, the tools forming a toolchain are executed consecutively so the output or resulting environment state of each tool becomes the input or starting environment for the next one, but the term is also used when referring to a set of related tools that are not necessarily executed consecutively.
A simple software development toolchain may consist of a compiler and linker (which transform the source code into an executable program), libraries (which provide interfaces to the operating system), and a debugger (which is used to test and debug created programs). A complex software product such as a video game needs tools for preparing sound effects, music, textures, 3-dimensional models and animations, together with additional tools for combining these resources into the finished product.
- Cross compiler
- Debian build toolchain
- DevOps toolchain
- GNU toolchain
- LLVM toolchain
- ^ a b "Toolchain Overview". nongnu.org. 2012-01-03. Retrieved 2013-10-21.
- ^ a b "Toolchains". elinux.org. 2013-09-08. Retrieved 2013-10-21.
- ^ Imran, Saed; Buchheit, Martin; Hollunder, Bernhard; Schreier, Ulf (2015-10-29). Tool Chains in Agile ALM Environments: A Short Introduction. Lecture Notes in Computer Science. Vol. 9416. pp. 371–380. doi:10.1007/978-3-319-26138-6_40. ISBN 978-3-319-26137-9.