From 8e36064109b6fabc6cd8caa59e48f9b523c7485b Mon Sep 17 00:00:00 2001 From: Corey Farrell Date: Fri, 31 Mar 2017 13:09:38 -0400 Subject: core: Improve/simplify handling of required headers. * Report failures if configure finds a required header is missing. * Deduplicate includes between asterisk.h, astmm.h and compat.h. * Unconditionally include headers in compat.h if required elsewhere. Change-Id: Ie67d0185ca71fbfb81c9bdfaebe46a49e3c56dc5 --- include/asterisk/astmm.h | 15 +----------- include/asterisk/autoconfig.h.in | 51 +++++++++++++++++++++++++++++++++++++--- include/asterisk/compat.h | 20 ---------------- 3 files changed, 49 insertions(+), 37 deletions(-) (limited to 'include/asterisk') diff --git a/include/asterisk/astmm.h b/include/asterisk/astmm.h index e129dc034..06300c861 100644 --- a/include/asterisk/astmm.h +++ b/include/asterisk/astmm.h @@ -30,21 +30,10 @@ extern "C" { #ifndef _ASTERISK_ASTMM_H #define _ASTERISK_ASTMM_H -/* IWYU pragma: private, include "asterisk/utils.h" */ - -#ifndef STANDALONE +/* IWYU pragma: private, include "asterisk.h" */ #define __AST_DEBUG_MALLOC -#include "asterisk.h" - -/* Include these now to prevent them from being needed later */ -#include -#include -#include -#include -#include - void *ast_std_malloc(size_t size); void *ast_std_calloc(size_t nmemb, size_t size); void *ast_std_realloc(void *ptr, size_t size); @@ -179,8 +168,6 @@ void __ast_mm_init_phase_2(void); #define ast_free(a) \ __ast_free(a,__FILE__, __LINE__, __PRETTY_FUNCTION__) -#endif /* !STANDALONE */ - #else #error "NEVER INCLUDE astmm.h DIRECTLY!!" #endif /* _ASTERISK_ASTMM_H */ diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index b9b4e1f81..af1c90b40 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -62,6 +62,9 @@ /* Define to 1 if you have the `asprintf' function. */ #undef HAVE_ASPRINTF +/* Define to 1 if you have the header file. */ +#undef HAVE_ASSERT_H + /* Define to 1 if you have the `atan' function. */ #undef HAVE_ATAN @@ -170,6 +173,9 @@ /* Define to 1 if you have the 'crypt_r' function. */ #undef HAVE_CRYPT_R +/* Define to 1 if you have the header file. */ +#undef HAVE_CTYPE_H + /* Define to 1 if you have a functional curl library. */ #undef HAVE_CURL @@ -198,6 +204,9 @@ /* Define to 1 if your system has the dladdr() GNU extension */ #undef HAVE_DLADDR +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ #undef HAVE_DOPRNT @@ -210,6 +219,9 @@ /* Define to 1 if you have the `endpwent' function. */ #undef HAVE_ENDPWENT +/* Define to 1 if you have the header file. */ +#undef HAVE_ERRNO_H + /* Define to 1 if you have the `euidaccess' function. */ #undef HAVE_EUIDACCESS @@ -243,6 +255,9 @@ /* Define to 1 if you have the LIBFFTW3 library. */ #undef HAVE_FFTW3 +/* Define to 1 if you have the header file. */ +#undef HAVE_FLOAT_H + /* Define to 1 if you have the `floor' function. */ #undef HAVE_FLOOR @@ -312,6 +327,9 @@ /* Define if your system has the GMIME libraries. */ #undef HAVE_GMIME +/* Define to 1 if you have the header file. */ +#undef HAVE_GRP_H + /* Define to indicate the GSM library */ #undef HAVE_GSM @@ -461,6 +479,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H +/* Define to 1 if you have the header file. */ +#undef HAVE_MATH_H + /* Define to 1 if you have the `memchr' function. */ #undef HAVE_MEMCHR @@ -752,6 +773,9 @@ /* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV +/* Define to 1 if you have the header file. */ +#undef HAVE_PWD_H + /* Define if your system has the PWLib libraries. */ #undef HAVE_PWLIB @@ -764,6 +788,9 @@ /* Define to 1 if you have the `regcomp' function. */ #undef HAVE_REGCOMP +/* Define to 1 if you have the header file. */ +#undef HAVE_REGEX_H + /* Define to 1 if you have the `remainder' function. */ #undef HAVE_REMAINDER @@ -773,6 +800,9 @@ /* Define to 1 if you have the LIBRESAMPLE library. */ #undef HAVE_RESAMPLE +/* Define to 1 if you have the header file. */ +#undef HAVE_RESOLV_H + /* Define to 1 if your system has the close resolver function. */ #undef HAVE_RES_CLOSE @@ -809,6 +839,9 @@ /* Define to 1 if your system has /sbin/launchd. */ #undef HAVE_SBIN_LAUNCHD +/* Define to 1 if you have the header file. */ +#undef HAVE_SCHED_H + /* Define if your system has the SDL libraries. */ #undef HAVE_SDL @@ -889,6 +922,9 @@ zero-length file name argument. */ #undef HAVE_STAT_EMPTY_STRING_BUG +/* Define to 1 if you have the header file. */ +#undef HAVE_STDARG_H + /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H @@ -898,6 +934,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H @@ -1066,9 +1105,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IO_H - /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_SYS_NDIR_H @@ -1079,6 +1115,9 @@ /* Define to 1 if your system has working sys/poll.h */ #undef HAVE_SYS_POLL_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_RESOURCE_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H @@ -1097,6 +1136,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_UN_H + /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H @@ -1118,6 +1160,9 @@ /* Define to 1 if your system defines timersub. */ #undef HAVE_TIMERSUB +/* Define to 1 if you have the header file. */ +#undef HAVE_TIME_H + /* Define to 1 if you have the Term Info library. */ #undef HAVE_TINFO diff --git a/include/asterisk/compat.h b/include/asterisk/compat.h index 252ce914a..88f88cf8b 100644 --- a/include/asterisk/compat.h +++ b/include/asterisk/compat.h @@ -27,35 +27,18 @@ #define __STDC_VERSION__ 0 #endif -#ifdef HAVE_INTTYPES_H #include -#endif - -#ifdef HAVE_LIMITS_H #include -#endif - -#ifdef HAVE_UNISTD_H #include -#endif #ifdef HAVE_STDDEF_H #include #endif -#ifdef HAVE_STDINT_H #include -#endif - -#ifdef HAVE_SYS_TYPES_H #include -#endif - #include - -#ifdef HAVE_STDLIB_H #include -#endif #ifdef HAVE_ALLOCA_H #include /* not necessarily present - could be in stdlib */ @@ -65,9 +48,7 @@ #include /* this is always present */ -#ifdef HAVE_STRING_H #include -#endif #ifndef AST_POLL_COMPAT #include @@ -158,7 +139,6 @@ void timersub(struct timeval *tvend, struct timeval *tvstart, struct timeval *tv #include #include -#include #include #include #include -- cgit v1.2.3