我曾向 GDB 询问过类似的问题:如何从源代码构建 GDB 文档?,它改变了我的生活,现在我希望海湾合作委员会也能如此!
我设法在 Ubuntu 16.04 和 gcc 6.4.0 源代码树(以匹配我的主机)上构建文档:
./contrib/download_prerequisites
./configure
make
host-x86_64-pc-linux-gnu/gcc
make html
xdg-open HTML/gcc-6.4.0/gcc/index.html
但我无法将所有内容放入一个页面中,我尝试过:
make html MAKEINFO=makeinfo MAKEINFOFLAGS='--no-split'
但它不像 binutils 那样工作。
如果我不首先构建 GCC 本身,而是make html
直接构建,则会失败并显示:
checking for x86_64-pc-linux-gnu-gcc... /data/git/gcc/host-x86_64-pc-linux-gnu/gcc/xgcc -B/data/git/gcc/host-x86_64-pc-linux-gnu/gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ -B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem /usr/local/x86_64-pc-linux-gnu/include -isystem /usr/
local/x86_64-pc-linux-gnu/sys-include
checking for C compiler default output file name...
configure: error: in `/data/git/gcc/x86_64-pc-linux-gnu/libgomp':
configure: error: C compiler cannot create executables
See `config.log' for more details.
Makefile:24442: recipe for target 'configure-target-libgomp' failed
make[1]: *** [configure-target-libgomp] Error 1
make[1]: Leaving directory '/data/git/gcc'
Makefile:1268: recipe for target 'do-html' failed
make: *** [do-html] Error 2
问题是该文件:
host-x86_64-pc-linux-gnu/gcc/xgcc
不存在,我想知道为什么需要它,因为我想要的只是构建文档。
我想获取以下位置的文档:https://gcc.gnu.org/onlinedocs/gcc-6.4.0/gcc/并希望列出的其他手册https://gcc.gnu.org/onlinedocs/例如 CPP 手册,每个都作为一个 HTML 页面,我可以轻松地使用 Ctrl + F 进行访问。
答案1
这对我有用:
git clone git://gcc.gnu.org/git/gcc.git gcc
cd gcc/gcc
./configure
make gcc-vers.texi
mkdir HTML
makeinfo --html --no-split -Idoc -Idoc/include -o HTML doc/gcc.texi
与 、 等的 makefile 相同gccint.html
,cpp.html
忽略gcc
该MAKEINFOFLAGS
变量。