# Toolchain

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Toolchain
> Markdown URL: https://mediated.wiki/source/Toolchain.md
> Source: https://en.wikipedia.org/wiki/Toolchain
> Source revision: 1345436593
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{Short description|Software development tools used in sequence}}

A '''toolchain''' is a set of [software development tool](/source/software_development_tool)s used to [build](/source/software_build) and otherwise [develop](/source/software_development) [software](/source/software). Often, the tools are executed sequentially and form a [pipeline](/source/pipeline_(computing)) such that the output of one tool is the input for the next. Sometimes the term is used for a set of related tools that are not necessarily executed sequentially.<ref name="nongnu">{{cite web
 | url = http://www.nongnu.org/avr-libc/user-manual/overview.html
 | title = Toolchain Overview 
 | date = 2012-01-03 | accessdate = 2013-10-21
 | website = nongnu.org
}}</ref><ref name="elinux">{{cite web
 | url = http://elinux.org/Toolchains
 | title = Toolchains
 | date = 2013-09-08 | accessdate = 2013-10-21
 | website = elinux.org
}}</ref><ref name="springer">{{cite book
 | title = Tool Chains in Agile ALM Environments: A Short Introduction
 | date = 2015-10-29 | doi=10.1007/978-3-319-26138-6_40
 | volume = 9416
 | pages=371–380
| series = Lecture Notes in Computer Science
 | last1 = Imran
 | first1 = Saed
 | last2 = Buchheit
 | first2 = Martin
 | last3 = Hollunder
 | first3 = Bernhard
 | last4 = Schreier
 | first4 = Ulf
 | isbn = 978-3-319-26137-9
 }}</ref>

A relatively common and simple toolchain consists of the tools to build for a particular [operating system](/source/operating_system) (OS) and [CPU](/source/Central_processing_unit) architecture: a [compiler](/source/compiler), a [linker](/source/Linker_(computing)), and a [debugger](/source/debugger). With a [cross-compiler](/source/cross-compiler), a toolchain can support [cross-platform](/source/cross-platform) development.

For building more complex software systems, many other tools may be in the toolchain. For example, for a [video game](/source/video_game), the toolchain may include tools for preparing [sound effect](/source/sound_effect)s, music, [texture](/source/Texture_(computer_graphics))s, [3-dimensional model](/source/3D_model)s and [animation](/source/animation)s, and for combining these resources into the finished product.<ref name="nongnu" /><ref name="elinux" />

==See also==
{{Portal|Computer programming}}

* {{Annotated link|Buildroot}}
* {{Annotated link|Debian build toolchain}}
* {{Annotated link|DevOps toolchain}}
* {{Annotated link|Software framework|Framework}}
* {{Annotated link|Library (computing)|Library}}
* {{Annotated link|GNU toolchain}}
* {{Annotated link|LLVM}}

==References==
{{Reflist}}

Category:Programming tools

{{Programming-software-stub}}

---
Adapted from the Wikipedia article [Toolchain](https://en.wikipedia.org/wiki/Toolchain) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Toolchain?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
