如何使用configure.ac包含AC_INCLUDES_DEFAULT的内容?

时间:2016-05-07 07:09:15

标签: c header-files autotools autoconf automake

AC_INCLUDES_DEFAULT是一个宏,它扩展为一堆标准头文件,以及相关的autoconf生成的检查。事实上,文档说它扩展到了这个:

#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
#  include <stdlib.h>
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
#  include <memory.h>
# endif
# include <string.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif

如何使用configure.acAC_INCLUDES_DEFAULT中包含config.h的内容?

1 个答案:

答案 0 :(得分:2)

AC_INCLUDES_DEFAULT供autoconf检查宏使用。它不会输出您可以在项目中直接使用的任何内容。

这个清单对我来说似乎有点过时了。似乎没有任何系统提供<strings.h>但不再提供<string.h>的可能性太大。一般来说,我认为检查你实际使用的是更好的;甚至超出这个范围,只有你在实践中发现的不能移植到你关心的平台上。