// Many are not used but here to be safe
{$DEFINE OVERLOADING}
{$DEFINE OPTIONALPARAMS}
{$DEFINE SAMETEXT}
{$DEFINE VCL4ORABOVE}
{$DEFINE VCL5ORABOVE}
{$DEFINE VCL6ORABOVE}
{$DEFINE VCL7ORABOVE}
{$DEFINE VCL8ORABOVE}
{$DEFINE VCL9ORABOVE}
{$DEFINE VCL10ORABOVE}
{$DEFINE VCL11ORABOVE}
{$DEFINE VCL12ORABOVE}
{$DEFINE UNICODE}

// Delphi 2009
{$IFDEF VER200}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
  {$ENDIF}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
{$ENDIF}

// Delphi 2010
{$IFDEF VER210}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
{$ENDIF}

//Delphi XE
{$IFDEF VER220}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
    {$DEFINE CBUILDER14}
    {$DEFINE CBUILDER15}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
    {$DEFINE DELPHI14}
    {$DEFINE DELPHI15}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL15ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
  {$DEFINE VCL150}
{$ENDIF}

//Delphi XE2
{$IFDEF VER230}
  {$DEFINE Min_DelphiXE2}
  {$DEFINE HAS_ComponentPlatformsAttribute}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
    {$DEFINE CBUILDER14}
    {$DEFINE CBUILDER15}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
    {$DEFINE DELPHI14}
    {$DEFINE DELPHI15}
    {$DEFINE DELPHI16}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL15ORABOVE}
  {$DEFINE VCL16ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
  {$DEFINE VCL150}
  {$DEFINE VCL160}
{$ENDIF}

//Delphi XE3 Water Dragon
{$IFDEF VER240}
  {$DEFINE Min_DelphiXE2}
  {$DEFINE HAS_ComponentPlatformsAttribute}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
    {$DEFINE CBUILDER14}
    {$DEFINE CBUILDER15}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
    {$DEFINE DELPHI14}
    {$DEFINE DELPHI15}
    {$DEFINE DELPHI16}
	{$DEFINE DELPHI17}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL15ORABOVE}
  {$DEFINE VCL16ORABOVE}
  {$DEFINE VCL17ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
  {$DEFINE VCL150}
  {$DEFINE VCL160}
  {$DEFINE VCL170}
{$ENDIF}

//Delphi XE4
{$IFDEF VER250}
  {$DEFINE Min_DelphiXE2}
  {$DEFINE HAS_ComponentPlatformsAttribute}
  {$DEFINE USE_AnsiStringsUnit}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
    {$DEFINE CBUILDER14}
    {$DEFINE CBUILDER15}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
    {$DEFINE DELPHI14}
    {$DEFINE DELPHI15}
    {$DEFINE DELPHI16}
    {$DEFINE DELPHI17}
	{$DEFINE DELPHI17}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL15ORABOVE}
  {$DEFINE VCL16ORABOVE}
  {$DEFINE VCL17ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
  {$DEFINE VCL150}
  {$DEFINE VCL160}
  {$DEFINE VCL170}
  {$DEFINE VCL180}
{$ENDIF}

//Delphi XE5
{$IFDEF VER260}
  {$DEFINE Min_DelphiXE2}
  {$DEFINE HAS_ComponentPlatformsAttribute}
  {$DEFINE USE_AnsiStringsUnit}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
    {$DEFINE CBUILDER14}
    {$DEFINE CBUILDER15}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
    {$DEFINE DELPHI14}
    {$DEFINE DELPHI15}
    {$DEFINE DELPHI16}
    {$DEFINE DELPHI17}
	{$DEFINE DELPHI17}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL15ORABOVE}
  {$DEFINE VCL16ORABOVE}
  {$DEFINE VCL17ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
  {$DEFINE VCL150}
  {$DEFINE VCL160}
  {$DEFINE VCL170}
  {$DEFINE VCL180}
{$ENDIF}

//Delphi XE6
{$IFDEF VER270}
  {$DEFINE Min_DelphiXE2}
  {$DEFINE HAS_ComponentPlatformsAttribute}
  {$DEFINE USE_AnsiStringsUnit}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
    {$DEFINE CBUILDER14}
    {$DEFINE CBUILDER15}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
    {$DEFINE DELPHI14}
    {$DEFINE DELPHI15}
    {$DEFINE DELPHI16}
    {$DEFINE DELPHI17}
	{$DEFINE DELPHI17}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL15ORABOVE}
  {$DEFINE VCL16ORABOVE}
  {$DEFINE VCL17ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
  {$DEFINE VCL150}
  {$DEFINE VCL160}
  {$DEFINE VCL170}
  {$DEFINE VCL180}
{$ENDIF}

//Delphi XE7
{$IFDEF VER280}
  {$DEFINE Min_DelphiXE2}
  {$DEFINE HAS_ComponentPlatformsAttribute}
  {$DEFINE USE_AnsiStringsUnit}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
    {$DEFINE CBUILDER14}
    {$DEFINE CBUILDER15}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
    {$DEFINE DELPHI14}
    {$DEFINE DELPHI15}
    {$DEFINE DELPHI16}
    {$DEFINE DELPHI17}
	{$DEFINE DELPHI17}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL15ORABOVE}
  {$DEFINE VCL16ORABOVE}
  {$DEFINE VCL17ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
  {$DEFINE VCL150}
  {$DEFINE VCL160}
  {$DEFINE VCL170}
  {$DEFINE VCL180}
{$ENDIF}

//Delphi XE8
{$IFDEF VER290}
  {$DEFINE Min_DelphiXE2}
  {$DEFINE HAS_ComponentPlatformsAttribute}
  {$DEFINE USE_AnsiStringsUnit}
  {$IFDEF BCB}
    {$DEFINE CBUILDER}
    {$DEFINE CBUILDER12}
    {$DEFINE CBUILDER14}
    {$DEFINE CBUILDER15}
  {$ELSE}
    {$DEFINE DELPHI}
    {$DEFINE DELPHI12}
    {$DEFINE DELPHI14}
    {$DEFINE DELPHI15}
    {$DEFINE DELPHI16}
    {$DEFINE DELPHI17}
	{$DEFINE DELPHI17}
  {$ENDIF}
  {$DEFINE VCL13ORABOVE}
  {$DEFINE VCL14ORABOVE}
  {$DEFINE VCL15ORABOVE}
  {$DEFINE VCL16ORABOVE}
  {$DEFINE VCL17ORABOVE}
  {$DEFINE VCL6O}
  {$DEFINE VCL70}
  {$DEFINE VCL80}
  {$DEFINE VCL90}
  {$DEFINE VCL100}
  {$DEFINE VCL110}
  {$DEFINE VCL120}
  {$DEFINE VCL130}
  {$DEFINE VCL140}
  {$DEFINE VCL150}
  {$DEFINE VCL160}
  {$DEFINE VCL170}
  {$DEFINE VCL180}
{$ENDIF}