GMP 软件包包含提供任意精度算术函数的数学库。
GMP 的默认设定会生成为本机处理器优化的库。如果您希望获得适合功能没有本机强大的 CPU 的库,执行以下命令,以生成通用库:
cp -v configfsf.guess config.guess cp -v configfsf.sub config.sub
准备编译 GMP:
./configure --prefix=/usr \ ABI=64 \ --enable-cxx \ --disable-static \ --docdir=/usr/share/doc/gmp-6.2.1
新的配置选项的含义:
ABI=64
在 64 位 MIPS 上,GMP 默认为 N32 ABI 进行构建。该选项覆盖这个默认设定。
--enable-cxx
该参数启用 C++ 支持
--docdir=/usr/share/doc/gmp-6.2.1
该变量指定文档的正确位置
编译该软件包,并生成 HTML 文档:
make make html
我们认为,本节中 GMP 的测试套件被认为是关键的。无论如何都不要跳过测试过程。
测试编译结果:
make check 2>&1 | tee gmp-check-log
GMP 中的代码是针对本机处理器高度优化的。在偶然情况下,检测处理器的代码会错误识别 CPU 的功能,导致测试套件或使用 GMP 的其他程序输出消息 “Illegal instruction” (非法指令)。如果发生这种情况,需要加入选项 --build=x86_64-unknown-linux-gnu 并重新构建 GMP。
务必确认测试套件中的 197 个测试全部通过。运行以下命令检验结果:
awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log
安装该软件包及其文档:
make install make install-html