AC_CHECK_HEADERS: 包含多个文件

AC_CHECK_HEADERS: include multiple files

我正在查看依赖于 GNU Autotools 的遗留 C 项目。现有的 M4 脚本(错误地)检查 FreeType headers 像这样:

AC_CHECK_HEADERS(freetype.h)

这不是 FreeType 应该包含的方式。正确的做法是:

#include <ft2build.h>
#include FT_FREETYPE_H

我如何要求 所有 headers 都包含在测试程序中,而不是其中的 个?

要检查多个 headers 是否相互依赖,您可以使用 AC_COMPILE_IFELSE

此外,如果您 google 用于 "freetype m4",您会发现几个宏如何检测 freetype。