最近在捣鼓LFS,开始要制作工具链,没听过这个东东,还有一些附属概念,于是GOOGLE了下总结一点。。
维基百科
在软件工程中,工具链(英语:toolchain)是一系列用于制作软件的工具。 这些工具一般一个接一个地运用,一件工具的输出输入至下一件工具,但广义上可以单单是指多个相关的工具。
工具链一般包括用来编辑源代码的文本编辑器;生成可执行文件的编译器及链接器;连接操作系统的库;以及除错器。例子有GNU toolchain。工具链是集成开发环境的近义词。
工具链是在每一个大型开放源码项目(包括Linux内核本身)背后默默支撑的力量。它们由一组必要的工具和软件构成,用于编译和调试从最小的工具软件到你可以想象的最复杂的具有Linux内核特征的各种软件。
GNU工具链(GNU toolchain)是一个包含了由GNU项目所产生的各种编程工具的集合。这些工具形成了一条工具链(串行使用的一组工具),用于开发应用程序和操作系统。 GNU工具链在针对嵌入式系统的Linux内核、BSD及其它软件的开发中起着至关重要的作用。GNU工具链中的部分工具也被Solaris, Mac OS X, Microsoft Windows (via Cygwin and MinGW/MSYS) and Sony PlayStation 3等其它平台直接使用或进行了移植。 GNU工具链中包含的项目有:
- GNU make:用于编译和构建的自动工具;
- GNU编译器集合(GCC):一组多种编程语言的编译器;
- GNU Binutils:包含链接器、汇编器和其它工具的工具集;
- GNU Debugger(GDB):代码调试工具;
- GNU构建系统(autotools):
- Autoconf
- Autoheader
- Automake
- Libtool