与MPFR、GMP和MPC建立GCC



当然,我们都知道构建GCC版本>=4.1.x需要提供补充包MPFR、GMP和MPC。

有几种方法可以处理这些GCC依赖关系:

1)分别下载并构建每个支持包,然后在GCC构建期间告诉make二进制文件的位置。

2)下载每个支持包,解开源代码并将其移动到GCC构建目录中,make将在需要时自动构建每个包。

(执行gcc src/contrib/download_prerequisites脚本的操作与选项2相同)

~~~~~~

这两种方法都有优点吗?预编译二进制文件是否提供了我所缺少的东西,即采取"简单路线",将包的源代码转储到我的GCC构建目录中,然后让make来解决它?

我在各种构建脚本中看到过这种情况,通过将每个包预编译为二进制文件,然后在gcc编译期间告诉make它们的位置。这是"首选"的方法吗?为什么?

为了增加上下文,我主要构建针对各种ARM平台的交叉编译器。

对于大多数用例,我认为选项2和选项1一样好。然而,我可以看到一些情况下,人们会想手动完成。

  • 包维护者想要单独构建,因为他们想要为mpfr等人单独构建包。

  • 想要将不同的配置参数/CFLAGS传递给每个包的人。

  • GCC开发人员希望保持其源代码并构建小型树,因为他们不会对MPFR/GMP/等进行任何更改。

我还没有对(相当丑陋的)GCC构建系统做太多的工作,但我没有看到二进制文件的构建方式有任何明显的差异。

我不是这方面的最大权威,所以YMMV;我可能错了。

相关内容

  • 没有找到相关文章

最新更新