{ +-------------------------------------------------------------+ }
{ |                                                             | }
{ |   GM-Software                                               | }
{ |   ===========                                               | }
{ |                                                             | }
{ |   Project: All Projects                                     | }
{ |                                                             | }
{ |   Description: Gerneral Symbol definitions.                 | }
{ |                                                             | }
{ |                                                             | }
{ |   Copyright (C) - Gerrit Moeller, 2006.                     | }
{ |                                                             | }
{ |   Source code dstributed under MIT license.                 | }
{ |                                                             | }
{ |   See: https://www.gm-software.de                           | }
{ |                                                             | }
{ +-------------------------------------------------------------+ }


{$IFDEF FPC}
  {$IFDEF UNICODE}
    {$MODE DELPHIUNICODE}
  {$ELSE}
    {$MODE DELPHI}
  {$ENDIF}
  {$IFDEF DEBUG}
    { $STACKFRAMES ON}
  {$ENDIF}
{$ELSE}
  {$U+} // <- Free pascal doesn't understand this

  {$B-,X+,T+,P+,H+,C+,J-} // <- always set this

  {$IFDEF DEBUG}
  {$O-,R+,I+,Q+,D+,L+,Y+,W+}
  {$ENDIF}

  {$IFDEF RELEASE}
    {$O+,R-,I-,Q-,D-,L-,Y-}
    {$IFDEF CALLSTACK}
      {$W+}  // <- use stackframes for better problem report callstack
    {$ELSE}
      {$W-}
    {$ENDIF}
  {$ENDIF}
{$ENDIF}


{$IFDEF VER80} // Delphi 1.0
  {$DEFINE DELPHI1}
{$ENDIF}


{$IFDEF VER90} // Delphi 2.0
  {$DEFINE DELPHI2}                                       
{$ENDIF}


{$IFDEF VER93} // C++ Builder 1.0
  {$DEFINE CBUILDER1}
{$ENDIF}


{$IFDEF VER100} // Delphi 3.0 
  {$DEFINE DELPHI3}
{$ENDIF}

                                                                               
{$IFDEF VER110} // C++ Builder 3.0
  {$DEFINE CBUILDER3}
  {$ObjExportAll On}
{$ENDIF}


{$IFDEF VER120} // Delphi 4.0
  {$DEFINE DELPHI4}
{$ENDIF}


{$IFDEF VER125} // C++ Builder 4.0
  {$DEFINE CBUILDER4}
  {$DEFINE DELPHI4}
  {$ObjExportAll On}
{$ENDIF}


{$IFDEF VER130} // Delphi 5.0
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
{$ENDIF}


{$IFDEF VER140} // Delphi 6.0
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
{$ENDIF}


{$IFDEF VER150} // Delphi 7.0
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
{$ENDIF}


{$IFDEF VER160} // Delphi 8.0
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
{$ENDIF}


{$IFDEF VER170} // Delphi 9.0 - D2005
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
  {$DEFINE DELPHI9}
{$ENDIF}


{$IFDEF VER180} // Delphi 10.0 - D2006
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
  {$DEFINE DELPHI9}
  {$DEFINE DELPHI10}
{$ENDIF}

{$IFDEF VER230} // Delphi XE2
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
  {$DEFINE DELPHI9}
  {$DEFINE DELPHI10}
  {$DEFINE DELPHIXE2}
{$ENDIF}

{$IFDEF VER240} // Delphi XE3
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
  {$DEFINE DELPHI9}
  {$DEFINE DELPHI10}
  {$DEFINE DELPHIXE2}
  {$DEFINE DELPHIXE3}
{$ENDIF}

{$IFDEF VER250} // Delphi XE4
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
  {$DEFINE DELPHI9}
  {$DEFINE DELPHI10}
  {$DEFINE DELPHIXE2}
  {$DEFINE DELPHIXE3}
  {$DEFINE DELPHIXE4}
{$ENDIF}

{$IFDEF VER260} // Delphi XE5
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
  {$DEFINE DELPHI9}
  {$DEFINE DELPHI10}
  {$DEFINE DELPHIXE2}
  {$DEFINE DELPHIXE3}
  {$DEFINE DELPHIXE4}
  {$DEFINE DELPHIXE5}
{$ENDIF}

{$IFDEF VER270} // Delphi XE6
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
  {$DEFINE DELPHI9}
  {$DEFINE DELPHI10}
  {$DEFINE DELPHIXE2}
  {$DEFINE DELPHIXE3}
  {$DEFINE DELPHIXE4}
  {$DEFINE DELPHIXE5}
  {$DEFINE DELPHIXE6}
{$ENDIF}

{$IFDEF FPC}
  {$DEFINE DELPHI4}
  {$DEFINE DELPHI5}
  {$DEFINE DELPHI6}
  {$DEFINE DELPHI7}
  {$DEFINE DELPHI8}
  {$DEFINE DELPHI9}
  {$DEFINE DELPHI10}
  {$DEFINE DELPHIXE2}
  {$DEFINE DELPHIXE3}
  {$DEFINE DELPHIXE4}
  {$DEFINE DELPHIXE5}
  {$DEFINE DELPHIXE6}
{$ENDIF}

{$IFDEF DELPHI9}
  {$DEFINE HAS_GENERICS}
  {$DEFINE HAS_QWORD_TYPE}
  {$DEFINE HAS_INLINE}
{$ENDIF}