/*! \file sysconfig.h
  The intent of this header file is to put operating system or compiler
  specific configuration information in one place.  It also holds
  common includes for convenience.

  \author Jon A. Lambert
  \date 02/15/2003
  \version 0.10

  \note
  IMO, files like these tend to get a little out of control and populated
  with a lot of global cruft.
 */

#ifndef	SYSCONFIG_H
#define	SYSCONFIG_H

/*! \def WIN32
 Pre-processor directive the we will or may use to indicate that
 Paradigm compilation will be done for Windows operating systems.
 This is auto-detected from fairly common __WIN32__ manifest
 constant.
 */
# if defined (__WIN32__) && !defined (WIN32)
#  define WIN32 1
# endif

/*! \def WIN32_LEAN_AND_MEAN
 Pre-processor directive used to limit inclusion of unneccesary windows
 header files.  Defined in windows header files.
 */
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN 1
#endif

#include <iostream>
#include <list>
#include <string>
/*!
 The std namespace is that used by the C++ STL.  For laziness and
 convenience we'll use its namespace.
 */
using namespace std;
#ifdef WIN32
  #include <winsock2.h>
#endif

/*! \def __BORLANDC__
 Manifest constant present in all Borland compilers that contains the
 compiler version number.
 */
#ifdef __BORLANDC__
  #pragma hdrstop
#endif

#endif // SYSCONFIG_H