我使用的autoconf / automake的一个相当复杂的(C ++)的项目,其中包括一些 “生成” 的文件(foo.yy - > foo.cc)。实际构建使用“控制脚本”(的Gentoo的.ebuild对于熟悉的概念)完成后,在各种平台上。

现在,目标平台中的一个不正确地支持foo.yy - > foo.cc步骤,并且必须使用在Linux中生成的foo.cc文件

现在我有两个途径去了解这一点:

1)检查在foo.cc到项目库并以某种方式修补configure.in(或其他)以包括foo.yy / foo.cc时间戳检查,产生易于理解的错误消息,如果所讨论的目标跑用一种过时的foo.cc;

2)检查在foo.cc入控制脚本库中,并且具有该脚本控制时间戳和给出该错误消息。

我能做2)没有问题,但我不认为这是把foo.cc正确的地方。

在另一方面,我不知道很多有关的autoconf / automake的,和不知道如何实现在configure.in(或徘徊无论)时间戳检查/错误消息。

什么是您的建议,并会在这里任何人都知道如何去解决1)?

修改解决使用溶液3),调整有问题的目标框,直到它能够做foo.yy - > foo.cc步骤本身。 问题就解决了。

但我会离开的问题开放 - 如何做时间戳检查/对于autoconf / automake的理解错误讯息

有帮助吗?

解决方案

从8.8在Automake的手册:

  

由“YACC”生成的中间文件(或“法”)将   包含在由任何分配。这样,用户不   需要有“YACC”或“法”。

这使得它听起来好像是不应该存在您所描述的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top