AX_AUTO_INCLUDE_HEADERS(INCLUDE-FILE ...)
Given a space-separated list of INCLUDE-FILEs, AX_AUTO_INCLUDE_HEADERS will output a conditional #include for each INCLUDE-FILE. The following example demonstrates how AX_AUTO_INCLUDE_HEADERS’s might be used in a configure.ac script:
AH_BOTTOM([ AX_AUTO_INCLUDE_HEADERS([sys/resource.h invent.h sys/sysinfo.h])dnl ])
The preceding invocation instructs autoheader to put the following code at the bottom of the config.h file:
#ifdef HAVE_SYS_RESOURCE_H # include <sys/resource.h> #endif #ifdef HAVE_INVENT_H # include <invent.h> #endif #ifdef HAVE_SYS_SYSINFO_H # include <sys/sysinfo.h> #endif
Note that AX_AUTO_INCLUDE_HEADERS merely outputs #ifdef/#include/#endif blocks. The configure.ac script still needs to invoke AC_CHECK_HEADERS to #define the various HAVE_*_H preprocessor macros.
Here’s an easy way to get from config.h a complete list of header files who existence is tested by the configure script:
cat config.h | perl -ane '/ HAVE_\S+_H / && do {$_=$F[$#F-1]; s/^HAVE_//; s/_H/.h/; s|_|/|g; tr/A-Z/a-z/; print "$_ "}'
You can then manually edit the resulting list and incorporate it into one or more calls to AX_AUTO_INCLUDE_HEADERS.
Download the latest version of ax_auto_include_headers.m4 or browse the macro’s revision history.
Copyright © 2008 Scott Pakin pakin@uiuc.edu
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.