Autoconf - config.h在哪里?

时间:2009-11-27 18:53:24

标签: autotools autoconf automake libtool

我正在编写自己的单元测试库(使用autoconf,automake和libtool)以更好地满足我的需求(我不需要超大量的功能,只需要测试运行器和断言)。我已经达到了似乎可以使用的程度。

当然,它使用config.h来确定要包含的标头。问题是我不确定config.h应该去哪里,因为它容易与其他项目的config.h发生冲突,以及它依赖于架构这一事实。

我的方法应该用于安装此标头? (所有其他标题都需要它)

3 个答案:

答案 0 :(得分:5)

ax_prefix_config_h宏听起来像你想要的。它提供了一种创建另一个类似config.h的文件的方法,该文件包含前缀为config.h的信息。因此,例如,在config.h中代替#define HAVE_SOMETHING,您将在mylib_config.h中获得#define MYLIB_HAVE_SOMETHING。非常方便。

答案 1 :(得分:2)

无论如何,你不应该在你的图书馆界面中导出config.h

This link显示了一种解决方法,如果您安装的标头确实需要依赖于平台。这是一个使用过时的autoconf宏的脆弱方法。

答案 2 :(得分:0)

您可以选择通过更改AC_OUTPUT宏来输出不同的配置文件,但我不确定您的项目将如何与其他项目集成。如果它是一个子项目,那么无论如何它都会在子目录中。