Macros by Category | Revision History |
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.
http://autoconf-archive.cryp.to/ax_auto_include_headers.m4
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.