aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/compat.h
diff options
context:
space:
mode:
authorrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-16 20:04:58 +0000
committerrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-16 20:04:58 +0000
commit883346d64a852193fb4119d4399aa0f5a54d8ae8 (patch)
treec012d8f76915d410cf7446b1efc51e3c2e3f5e95 /include/asterisk/compat.h
parent4948a0f37cad4e682bdd7860e0c2f01c6cb38ef7 (diff)
Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and after this commit. In this change: use asterisk/compat.h to include a small set of system headers: inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h, stdlib.h, alloca.h, stdio.h Where available, the inclusion is conditional on HAVE_FOO_H as determined by autoconf. Normally, source files should not include any of the above system headers, and instead use either "asterisk.h" or "asterisk/compat.h" which does it better. For the time being I have left alone second-level directories (main/db1-ast, etc.). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/compat.h')
-rw-r--r--include/asterisk/compat.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/include/asterisk/compat.h b/include/asterisk/compat.h
index 838e24e47..7e019e064 100644
--- a/include/asterisk/compat.h
+++ b/include/asterisk/compat.h
@@ -11,16 +11,49 @@
/*! \file
* \brief General Definitions for Asterisk top level program
+ * Included by asterisk.h to handle platform-specific issues
+ * especially those related to header files.
*/
#ifndef _COMPAT_H
#define _COMPAT_H
-#include "asterisk/autoconfig.h"
+#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_STDDEF_H
+#include <stddef.h>
+#endif
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
+#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
+#endif
+
#include <stdarg.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h> /* not necessarily present - could be in stdlib */
+#endif
+
+#include <stdio.h> /* this is always present */
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
#if !defined(HAVE_ASPRINTF) && !defined(__AST_DEBUG_MALLOC)
int asprintf(char **str, const char *fmt, ...);
#endif