summaryrefslogtreecommitdiff
path: root/m4/ax_auto_include_headers.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/ax_auto_include_headers.m4')
-rw-r--r--m4/ax_auto_include_headers.m460
1 files changed, 60 insertions, 0 deletions
diff --git a/m4/ax_auto_include_headers.m4 b/m4/ax_auto_include_headers.m4
new file mode 100644
index 0000000..36186a6
--- /dev/null
+++ b/m4/ax_auto_include_headers.m4
@@ -0,0 +1,60 @@
+# ===========================================================================
+# http://autoconf-archive.cryp.to/ax_auto_include_headers.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_AUTO_INCLUDE_HEADERS(INCLUDE-FILE ...)
+#
+# DESCRIPTION
+#
+# 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.
+#
+# LICENSE
+#
+# Copyright (c) 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.
+
+AC_DEFUN([AX_AUTO_INCLUDE_HEADERS], [dnl
+AC_FOREACH([AX_Header], [$1], [dnl
+m4_pushdef([AX_IfDef], AS_TR_CPP(HAVE_[]AX_Header))dnl
+[#]ifdef AX_IfDef
+[#] include <AX_Header>
+[#]endif
+m4_popdef([AX_IfDef])dnl
+])])