最小的GCC构建

时间:2014-11-17 16:12:59

标签: c gcc build

我想构建一个非常小的GCC子集(4.9),基本上我只需要C编译器(静态链接的二进制文件就完美了)。整个GCC构建系统似乎非常复杂,并且没有关于最小构建的文档。我花了一个多小时阅读有关配置和构建GCC的文档,但我对我的结果不满意。

我到目前为止的./configure选项如下:

  • --enable-languages=c
  • --disable-bootstrap
  • --disable-multilib
  • --disable-nls

在构建和安装之后,我仍然在目录/usr/local/share/locale中看到大量文件,所以我不知道--disable-nls是什么。我还想知道目录/usr/local/lib/gcc/*/[gcc-version]的内容,它真的需要吗?

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

根据documentation--disable-nls确实是禁用本地化的正确开关:

  

--enable-nls选项启用本地语言支持(NLS),它允许GCC以美国英语以外的语言输出诊断。如果不执行加拿大交叉构建,则默认启用本机语言支持。 --disable-nls选项会禁用NLS。

该选项可能会被破坏。您可以删除/usr/local/share/locale 的内容,如果它只是来自GCC!请仔细检查!您可能不想删除其他程序的本地化(当然,除非您不关心它们)。

/usr/local/lib/gcc/*/[gcc-version]中的文件非常非常重要!它们包含内部文件,例如实际的编译器cc1和链接器帮助器collect2。你还会发现一些头文件的“固定”版本会覆盖系统头文件(这些是GCC认为以某种方式破坏并且修复它的头文件;有时候这些“修复”实际上可能会影响到你的方式,但通常你不想弄乱这些文件。)