// General

// Make this $DEFINE to use the 16 color icons required by Borland
// or DEFINE to use the 256 color Indy versions
{DEFINE Borland}

// S.G. 4/9/2002: IPv4/IPv6 general switch (for defaults only) 
{$DEFINE IdIPv4}

{$DEFINE INDY100}

// Delphi 4
{$IFDEF VER120}
  {$DEFINE VCL4ORABOVE}
  {$DEFINE VCL4O}
  {$DEFINE DELPHI}
  {$DEFINE DELPHI4}
  {$DEFINE OVERLOADING}
  {$DEFINE OPTIONALPARAMS}
  {$DEFINE MSWINDOWS}
{$ENDIF}

// C++ Builder 4
{$IFDEF VER125}
  {$DEFINE VCL4ORABOVE}
  {$DEFINE VCL4O}
  {$DEFINE CBUILDER}
  {$DEFINE CBUILDER4}
  {$DEFINE OVERLOADING}
  {$DEFINE OPTIONALPARAMS}
  {$DEFINE MSWINDOWS}
{$ENDIF}

// Delphi 5 & CBuilder 5
{$IFDEF VER130}
  {$DEFINE VCL4ORABOVE}
  {$DEFINE VCL5ORABOVE}
  {$DEFINE VCL5O}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER5}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI5}
  {$ENDIF}
  {$DEFINE OVERLOADING}
  {$DEFINE OPTIONALPARAMS}
  {$DEFINE SAMETEXT}
  {$DEFINE MSWINDOWS}
{$ENDIF}

//Delphi 6
{$IFDEF VER140}
  {$DEFINE VCL4ORABOVE}
  {$DEFINE VCL5ORABOVE}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER6}
    {$DEFINE ALLOW_NAMED_THREADS}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI6}
  {$ENDIF}
  {$DEFINE OVERLOADING}
  {$DEFINE OPTIONALPARAMS}
  {$DEFINE SAMETEXT}
  {$DEFINE VCL6ORABOVE}
  {$DEFINE VCL6O}
{$ENDIF}

//Delphi 7
{$IFDEF VER150}
  {$DEFINE VCL4ORABOVE}
  {$DEFINE VCL5ORABOVE}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER7}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI7}
  {$ENDIF}
  {$DEFINE OVERLOADING}
  {$DEFINE OPTIONALPARAMS}
  {$DEFINE SAMETEXT}
  {$DEFINE VCL6ORABOVE}
  {$DEFINE VCL7ORABOVE}
  {$DEFINE VCL7O}
  {$DEFINE ALLOW_NAMED_THREADS}
{$ENDIF}

//Delphi.net
{$IFDEF CIL}
  // Platform specific conditional. Used for platform specific code.
  {$DEFINE DotNet}
  // Extra include used in D7 for testing. Remove later when all comps are
  // ported. Used to selectively exclude non ported parts. Allowed in places
  // IFDEFs are otherwise not permitted.
  {$DEFINE DotNetExclude}
{$ENDIF}

    //Important:  Don't use CompilerVersion here as
    //$IF's are evaluated before $IFDEF's
    //and Kylix 1 does not have CompilerVersion defined at all.

{$IFDEF LINUX}
  {$IFDEF CONDITIONALEXPRESSIONS}
    {$IF RTLVersion = 14.0}
      {$DEFINE KYLIX1}
      {$DEFINE KYLIX1ORABOVE}
    {$IFEND}
    {$IF RTLVersion = 14.2}
      {$DEFINE KYLIX2}
      {$DEFINE USEZLIBUNIT}
      {$DEFINE KYLIX1ORABOVE}
      {$DEFINE KYLIX2ORABOVE}
    {$IFEND}
    {$IF RTLVersion = 14.5}
      {$DEFINE KYLIX3}
      {$DEFINE USEZLIBUNIT}
      {$DEFINE KYLIX1ORABOVE}
      {$DEFINE KYLIX2ORABOVE}
      {$DEFINE KYLIX3ORABOVE}
    {$IFEND}
  {$ENDIF}
  {$DEFINE VCL4ORABOVE}
  {$DEFINE VCL5ORABOVE}
  {$DEFINE OVERLOADING}
  {$DEFINE OPTIONALPARAMS}
  {$DEFINE SAMETEXT}
  {$DEFINE VCL6ORABOVE}
  {$DEFINE VCL6O}
{$ENDIF}
