--- parser3/src/include/pa_config_includes.h 2001/11/05 11:46:23 1.12 +++ parser3/src/include/pa_config_includes.h 2004/06/22 14:12:57 1.29 @@ -1,16 +1,16 @@ /** @file Parser: includes all Configure-d headers - Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://paf.design.ru) - - $Id: pa_config_includes.h,v 1.12 2001/11/05 11:46:23 paf Exp $ - + Copyright (c) 2001-2004 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 @@ -26,6 +26,10 @@ # undef inline #endif +#ifdef HAVE_ASSERT_H +# include +#endif + #ifdef HAVE_CTYPE_H # include #endif @@ -70,13 +74,7 @@ # include #endif -#ifdef HAVE_TIME_H -# include -#endif - -#ifdef HAVE_STDLIB_H -# include -#endif +#include #ifdef HAVE_STRING_H # include @@ -93,3 +91,132 @@ #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