Dependencies 使用SCON构建Ada时处理单个.ads文件

Dependencies 使用SCON构建Ada时处理单个.ads文件,dependencies,ada,scons,gnat,build-system,Dependencies,Ada,Scons,Gnat,Build System,如何使scons gnat和scons ada生成器适应没有相应.adb文件的ads文件?我之所以这样做,是因为gnatbind在没有相应的.adb存在的情况下请求与.ads文件相对应的ali文件 我需要这个,因为在我们的组织中,一些模块是以二进制格式交付的(.ads、.ali和.o)。我还听说了一些关于使.ali文件只读以使gnat套件更快乐的内容 如果你能帮上忙,我最终可以说服我的IT部门的领导从make转向Scons。这将大大提高编译速度和迭代开发的乐趣,这要归功于SCON的所有酷特性,包

如何使
scons gnat
scons ada
生成器适应没有相应.adb文件的ads文件?我之所以这样做,是因为
gnatbind
在没有相应的.adb存在的情况下请求与.ads文件相对应的ali文件

我需要这个,因为在我们的组织中,一些模块是以二进制格式交付的(
.ads
.ali
.o
)。我还听说了一些关于使.ali文件只读以使gnat套件更快乐的内容


如果你能帮上忙,我最终可以说服我的IT部门的领导从make转向Scons。这将大大提高编译速度和迭代开发的乐趣,这要归功于SCON的所有酷特性,包括共享缓存、显式环境处理等。

这是terazini在Github上发布的
SCons gnat
?我希望他们先导入原始的
scons ada
源代码,然后进行更改!无论如何,(a)是的,您应该将
.ali
文件设置为只读,(b)
.adb
文件有时是需要的-例如,对于泛型,(c)
scons gnat
是严重误解的;GNAT编译过程太复杂了,一个明智的人无法再猜测
gnatmake-c
。如果我想知道的话……与单个.ads文件对应的ali文件是否应该置于版本控制之下?如果不是的话,SCons需要生成这些……从我目前所看到的情况来看,SCons ada还没有这样做。您能否提供一些线索,说明在SCons ada中向
.ads
文件和
.o
文件添加单个
.ads
文件的功能?我相信用目前的建设者的形式来表达这一点有点棘手,对吧?因为scons builder api对于这种行为不够灵活:如果没有相应的adb文件,则仅构建.ads。您不能用传统的通配符匹配器来表示这一点。SCons
发射器
是解决方案吗?@SimonWright。我正在使用
scons-ada
,顺便说一句,
scons-gnat
对我无效。这是rotinom在code.google.com上发布的
scons-ada
吗?(当你在你的问题中说
scons add
时,你实际上是指
scons ada
?无论如何,我不知道
scons
(对
make
)很满意),所以现在我不能再“帮助”下去了。。。