用MPFR,GMP和MPC建立GCC

时间:2014-04-24 17:34:51

标签: gcc gmp mpfr mpc

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

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

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

2)下载每个支持包,解压缩并将源移动到您的GCC构建目录中,make将在需要时自动构建每个包。

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这两种方法都有优势吗?预先编译二进制文件是否通过采用“简单路径”并将软件包的源代码转储到我的GCC构建目录并让make解决它来提供我缺少的东西?

通过将每个包预先编译为二进制文件,然后在gcc编译期间告诉make它们所在的位置,我已经看到它在各种构建脚本中更频繁地完成了。这是“首选”的方式吗?为什么呢?

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

1 个答案:

答案 0 :(得分:1)

对于大多数用例,我认为选项2与选项1一样好。但是,我可以看到一些人们想要手动完成的情况。

  • 软件包维护者想要单独构建,因为他们需要为mpfr等人提供单独的软件包。

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

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

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

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