从GCC源代码构建libada



我尝试用以下脚本从gcc-11.2.0构建gnat编译器

./configure --prefix="/root/gcc-11" --enable-languages="c,c++,ada"  --enable-libada
然后我得到一个小编译器,但没有标准库,发现库的构建脚本libada.gprgcc - 11.2/gcc/ada/libgnat/可以独立使用

GPR工具告诉它需要libgnarl.lst当试图使用gprbuild -Plibada构建libada时,

我的问题如下:

  1. libgnat &libgnarl
  2. 在哪里可以得到libgnarl.lst
  3. 有建立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为特定目的构建运行时。

最新更新