|
|
| version 1.30.8.1, 2005/08/05 13:02:58 | version 1.39, 2013/07/21 20:33:44 |
|---|---|
| Line 1 | Line 1 |
| /** @file | /** @file |
| Parser: includes all Configure-d headers | Parser: includes all Configure-d headers |
| Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com) | Copyright (c) 2001-2012 Art. Lebedev Studio (http://www.artlebedev.com) |
| Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) | Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) |
| when used Configure [HAVE_CONFIG_H] it uses defines from Configure, | when used Configure [HAVE_CONFIG_H] it uses defines from Configure, |
| Line 11 | Line 11 |
| #ifndef PA_CONFIG_INCLUDES_H | #ifndef PA_CONFIG_INCLUDES_H |
| #define PA_CONFIG_INCLUDES_H | #define PA_CONFIG_INCLUDES_H |
| #if _MSC_VER | |
| # pragma warning(disable:4291) // disable warning | |
| // "no matching operator delete found; memory will not be freed if initialization throws an exception | |
| #endif | |
| #if HAVE_CONFIG_H | #if HAVE_CONFIG_H |
| # include "pa_config_auto.h" | # include "pa_config_auto.h" |
| #else | #else |
| # include "pa_config_fixed.h" | # include "pa_config_fixed.h" |
| #endif | #endif |
| #ifdef __cplusplus | // AC_INCLUDES_DEFAULT |
| # undef inline | |
| #ifdef HAVE_STDIO_H | |
| # include <stdio.h> | |
| #endif | #endif |
| #ifdef HAVE_ASSERT_H | #ifdef HAVE_SYS_TYPES_H |
| # include <assert.h> | # include <sys/types.h> |
| #endif | #endif |
| #ifdef HAVE_CTYPE_H | #ifdef HAVE_SYS_STAT_H |
| # include <ctype.h> | # include <sys/stat.h> |
| #endif | #endif |
| #ifdef HAVE_ERRNO_H | #ifdef STDC_HEADERS |
| # include <errno.h> | # include <stdlib.h> |
| # include <stddef.h> | |
| #else | |
| # ifdef HAVE_STDLIB_H | |
| # include <stdlib.h> | |
| # endif | |
| #endif | #endif |
| #ifdef HAVE_FCNTL_H | #ifdef HAVE_STRING_H |
| # include <fcntl.h> | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H |
| # include <memory.h> | |
| # endif | |
| # include <string.h> | |
| #endif | #endif |
| #ifdef HAVE_IO_H | #ifdef HAVE_STRINGS_H |
| # include <io.h> | # include <strings.h> |
| #endif | #endif |
| #ifdef HAVE_PROCESS_H | #ifdef HAVE_INTTYPES_H |
| # include <process.h> | # include <inttypes.h> |
| #endif | #endif |
| #ifdef HAVE_STDARG_H | #ifdef HAVE_STDINT_H |
| # include <stdarg.h> | # include <stdint.h> |
| #endif | #endif |
| #ifdef HAVE_STDDEF_H | #ifdef HAVE_UNISTD_H |
| # include <stddef.h> | # include <unistd.h> |
| #endif | #endif |
| #ifdef HAVE_STDIO_H | // other includes |
| # include <stdio.h> | |
| #ifdef HAVE_ASSERT_H | |
| # include <assert.h> | |
| #endif | #endif |
| #ifdef HAVE_SYS_STAT_H | #ifdef HAVE_LIMITS_H |
| # include <sys/stat.h> | # include <limits.h> |
| #endif | #endif |
| #if defined(HAVE_UNISTD_H) && !defined(NO_UNISTD_H) | #ifdef HAVE_CTYPE_H |
| # include <unistd.h> | # include <ctype.h> |
| #endif | #endif |
| #ifdef HAVE_MATH_H | #ifdef HAVE_MATH_H |
| # include <math.h> | # include <math.h> |
| #endif | #endif |
| #include <stdlib.h> | #ifdef HAVE_PROCESS_H |
| # include <process.h> | |
| #ifdef HAVE_STRING_H | |
| # include <string.h> | |
| #endif | #endif |
| #ifdef HAVE_DIRECT_H | #ifdef HAVE_STDARG_H |
| # include <direct.h> | # include <stdarg.h> |
| #endif | #endif |
| #ifdef HAVE_SETJMP_H | #ifdef HAVE_SETJMP_H |
| # include <setjmp.h> | # include <setjmp.h> |
| #endif | #endif |
| #ifdef HAVE_MEMORY_H | #ifdef HAVE_SIGNAL_H |
| # include <memory.h> | # include <signal.h> |
| #endif | #endif |
| #ifdef HAVE_NEW | #ifdef HAVE_ERRNO_H |
| #include <new> | # include <errno.h> |
| #endif | #endif |
| #ifdef HAVE_SYS_FILE_H | #ifdef HAVE_DIRENT_H |
| #include <sys/file.h> | # include <dirent.h> |
| #endif | #endif |
| #ifdef HAVE_SYS_LOCKING_H | #ifdef HAVE_FCNTL_H |
| #include <sys/locking.h> | # include <fcntl.h> |
| #endif | #endif |
| #ifdef HAVE_SYS_TYPES_H | #ifdef HAVE_IO_H |
| #include <sys/types.h> | # include <io.h> |
| #endif | #endif |
| #ifdef HAVE_SYS_SELECT_H | #ifdef HAVE_SYS_FILE_H |
| #include <sys/select.h> | # include <sys/file.h> |
| #endif | #endif |
| #ifdef HAVE_SIGNAL_H | #ifdef HAVE_SYS_LOCKING_H |
| #include <signal.h> | # include <sys/locking.h> |
| #endif | #endif |
| #ifdef HAVE_SYS_SOCKET_H | #ifdef HAVE_SYS_SELECT_H |
| # include <sys/socket.h> | # include <sys/select.h> |
| #else | |
| # if defined(HAVE_WINSOCK_H) && !defined(_MSC_VER) && !defined(CYGWIN) | |
| # include <winsock.h> | |
| # endif | |
| #endif | #endif |
| // must go anywhere after winsock [cygwin time.h checks for already inclusion of winsock.h] | #ifdef HAVE_SYS_RESOURCE_H |
| #if TIME_WITH_SYS_TIME | # include <sys/resource.h> |
| # include <sys/time.h> | |
| # include <time.h> | |
| #else | |
| # ifdef HAVE_SYS_TIME_H | |
| # include <sys/time.h> | |
| # else | |
| # include <time.h> | |
| # endif | |
| #endif | #endif |
| #ifdef HAVE_SYS_SOCKET_H | |
| # include <sys/socket.h> | |
| #else | |
| # if defined(HAVE_WINSOCK_H) && !defined(_MSC_VER) && !defined(CYGWIN) | |
| # include <winsock.h> | |
| # endif | |
| #endif | |
| #ifdef HAVE_NETINET_IN_H | #ifdef HAVE_NETINET_IN_H |
| #include <netinet/in.h> | # include <netinet/in.h> |
| #endif | #endif |
| #ifdef HAVE_ARPA_INET_H | #ifdef HAVE_ARPA_INET_H |
| #include <arpa/inet.h> | # include <arpa/inet.h> |
| #endif | #endif |
| #ifdef HAVE_NETDB_H | #ifdef HAVE_NETDB_H |
| #include <netdb.h> | # include <netdb.h> |
| #endif | #endif |
| // must go anywhere after winsock [cygwin time.h checks for already inclusion of winsock.h] | |
| #if TIME_WITH_SYS_TIME | |
| # include <sys/time.h> | |
| # include <time.h> | |
| #else | |
| # ifdef HAVE_SYS_TIME_H | |
| # include <sys/time.h> | |
| # else | |
| # include <time.h> | |
| # endif | |
| #endif | |
| #ifdef WIN32 | |
| #include <windows.h> | |
| #endif | |
| // math function replacements | // math function replacements |
| Line 175 inline size_t min(size_t a, size_t b){ r | Line 192 inline size_t min(size_t a, size_t b){ r |
| #endif | #endif |
| #ifdef WIN32 | |
| #define THREAD_LOCAL __declspec(thread) | |
| #else | |
| #define THREAD_LOCAL // __thread // multithreading support required only for apache2 module | |
| #endif | |
| #if _MSC_VER | #if _MSC_VER |
| // using this in calls to parent constructors | |
| #pragma warning(disable:4355) | |
| //# pragma warning(disable:4065) // switch statement contains 'default' | |
| // but no 'case' labels | |
| //# pragma warning(disable:4800) // (bool)(1&2) | |
| // assignment operator could not be generated | #pragma warning(disable:4355) // using this in calls to parent constructors |
| //#pragma warning(disable:4512) | |
| // identifier was truncated to '255' characters in the debug information | #pragma warning(disable:4291) // no matching operator delete found; memory will not be freed if initialization throws an exception |
| #pragma warning(disable:4786) | |
| // copy constructor could not be generated | #pragma warning(disable:4786) // identifier was truncated to '255' characters in the debug information |
| #pragma warning(disable:4511) | |
| // assignment operator could not be generated | #pragma warning(disable:4511) // copy constructor could not be generated |
| #pragma warning(disable:4512) | |
| // unreferenced local function has been removed | #pragma warning(disable:4512) // assignment operator could not be generated |
| #pragma warning(disable:4505) | |
| // conditional expression is constant; while(true) OK | #pragma warning(disable:4505) // unreferenced local function has been removed |
| #pragma warning(disable:4127) | |
| // assignment within conditional expression if(type var=somethig) OK | #pragma warning(disable:4127) // conditional expression is constant; while(true) OK |
| #pragma warning(disable:4706) | |
| // memcpy deprecation | #pragma warning(disable:4706) // assignment within conditional expression if(type var=somethig) OK |
| #pragma warning(disable:4996) | |
| #pragma warning(disable:4996) // memcpy deprecation | |
| #if 0 | |
| #ifdef _DEBUG | |
| # define _CRTDBG_MAP_ALLOC | |
| // When the _CRTDBG_MAP_ALLOC flag is defined in the debug version of an application, | |
| // the base version of the heap functions are directly mapped to their debug versions | |
| #endif | |
| #endif | |
| #endif | #endif |
| #ifdef PA_RELEASE_ASSERTS | /// to debug backtrace pointers switch this on: |
| // this helps to remove warnings on helper-to-assert variables | #if defined(_DEBUG) || defined(PA_RELEASE_ASSERTS) |
| #undef NDEBUG | //// this switches on straightforward realloc implementation, bad for profiling |
| // pa_globals.C | //// note: this is incompatible with -DGC_ASSERTIONS, which can be switched ON in win32/gc/NT_THREADS_MAKEFILE |
| void pa_release_assert(const char* str, const char* file, int line); | #define GC_DEBUG |
| #undef assert | |
| #define assert(exp) (void)( (exp) || (pa_release_assert(#exp, __FILE__, __LINE__), 0) ) | |
| #endif | #endif |
| #endif | #endif |