首页 文章

用MPFR,GMP和MPC Build GCC

提问于
浏览
1

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

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

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

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

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


两种方法都有优势吗?预编译二进制文件是否会将我的源代码提供给我的GCC构建目录并让 `make` 弄明白?

通过将每个包预先编译为二进制文件,然后告诉 `make` 它们在gcc编译期间所处的位置,我已经在各种构建脚本中更频繁地看到它 . 这是"preferred"这样做的方法吗?为什么?

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

1 回答

  • 1

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

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

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

    • 一位GCC开发人员,他们希望保留自己的资源并构建树,因为他们不会对MPFR / GMP等进行任何更改 .

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

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

相关问题