我尝试用以下脚本从gcc-11.2.0构建gnat编译器
./configure --prefix="/root/gcc-11" --enable-languages="c,c++,ada" --enable-libada
然后我得到一个小编译器,但没有标准库,发现库的构建脚本libada.gpr在gcc - 11.2/gcc/ada/libgnat/可以独立使用
GPR工具告诉它需要libgnarl.lst当试图使用gprbuild -Plibada
构建libada时,
我的问题如下:
- libgnat &libgnarl 在哪里可以得到libgnarl.lst
- 有建立libada的指南吗?
libgnarl
包含运行时的任务元素,libgnat
包含其他元素。它们是分开的,这样一个不执行任务的程序可以比它本来需要的更小。
GCC安装说明在Configuration一节中包含
首先,我们高度建议将GCC构建到一个独立于源代码的目录中,该目录不在源代码树中。这就是我们通常构建GCC的方式;构建srcdir == objdir应该仍然工作,但没有得到广泛的测试;不支持构建objdir是srcdir的子目录。
我这样构建GCC的经验是运行时得到正确构建。(对于不太常见的操作系统,情况可能并非如此;什么是你的吗?)。
在这样的构建之后,我发现这些文件潜伏在$build/gcc/ada/rts/
的许多其他文件中:
libada.gpr
libgnarl.gpr
libgnarl.lst
libgnat.gpr
libgnat.lst
libgnat_common.gpr
和我得到强烈的印象(特别是从libada.gpr
中),它们旨在re为特定目的构建运行时。