--- parser3/src/include/pa_config_includes.h 2001/04/05 16:30:41 1.2 +++ parser3/src/include/pa_config_includes.h 2003/11/06 14:25:25 1.26 @@ -1,13 +1,178 @@ +/** @file + Parser: includes all Configure-d headers + + Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) + Author: Alexandr Petrosian (http://paf.design.ru) + + when used Configure [HAVE_CONFIG_H] it uses defines from Configure, + fixed otherwise. +*/ + +#ifndef 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 # include "pa_config_auto.h" #else # include "pa_config_fixed.h" #endif +#ifdef __cplusplus +# undef inline +#endif + +#ifdef HAVE_ASSERT_H +# include +#endif + +#ifdef HAVE_CTYPE_H +# include +#endif + +#ifdef HAVE_ERRNO_H +# include +#endif + +#ifdef HAVE_FCNTL_H +# include +#endif + +#ifdef HAVE_IO_H +# include +#endif + +#ifdef HAVE_PROCESS_H +# include +#endif + #ifdef HAVE_STDARG_H # include #endif -#ifdef HAVE_UNISTD_H +#ifdef HAVE_STDDEF_H +# include +#endif + +#ifdef HAVE_STDIO_H +# include +#endif + +#ifdef HAVE_SYS_STAT_H +# include +#endif + +#if defined(HAVE_UNISTD_H) && !defined(NO_UNISTD_H) # include #endif + +#ifdef HAVE_MATH_H +# include +#endif + +#include + +#ifdef HAVE_STRING_H +# include +#endif + +#ifdef HAVE_DIRECT_H +# include +#endif + +#ifdef HAVE_SETJMP_H +# include +#endif + +#ifdef HAVE_MEMORY_H +# include +#endif + +#ifdef HAVE_NEW +#include +#endif + +#ifdef HAVE_SYS_FILE_H +#include +#endif + +#ifdef HAVE_SYS_LOCKING_H +#include +#endif + +#ifdef HAVE_SYS_TYPES_H +#include +#endif + +#ifdef HAVE_SYS_SELECT_H +#include +#endif + +#ifdef HAVE_SIGNAL_H +#include +#endif + +#ifdef HAVE_SYS_SOCKET_H +# include +#else +# if defined(HAVE_WINSOCK_H) && !defined(_MSC_VER) && !defined(CYGWIN) +# include +# endif +#endif + +// must go anywhere after winsock [cygwin time.h checks for already inclusion of winsock.h] +#if TIME_WITH_SYS_TIME +# include +# include +#else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + + +#ifdef HAVE_NETINET_IN_H +#include +#endif + +#ifdef HAVE_ARPA_INET_H +#include +#endif + +#ifdef HAVE_NETDB_H +#include +#endif + + +// math function replacements + +#ifdef __cplusplus + +#ifndef HAVE_TRUNC +inline double trunc(double param) { return param > 0? floor(param) : ceil(param); } +#endif + +#ifndef HAVE_ROUND +inline double round(double param) { return floor(param+0.5); } +#endif + +#ifndef HAVE_SIGN +inline double sign(double param) { return param > 0 ? 1 : ( param < 0 ? -1 : 0 ); } +#endif + +#if !defined(max) +inline int max(int a, int b) { return a>b?a:b; } +inline int min(int a, int b){ return ab?a:b; } +inline size_t min(size_t a, size_t b){ return a