{$B-}

{$I IdeVer.inc}

{$IFDEF CPU64}
  {$DEFINE CPUX64} { assembler for x64 - Lazarus compatibility }
{$ENDIF}
{$IFDEF CPU86}
  {$DEFINE CPUX86} { assembler for x86 - Lazarus compatibility }
{$ENDIF}

{$IFDEF IOS}
  {$DEFINE MOBILE}
{$ENDIF}
{$IFDEF ANDROID}
  {$DEFINE MOBILE}
{$ENDIF}
{$IFDEF MOBILE}
  {$DEFINE PUREPASCAL}
{$ENDIF}
{$IFDEF CPUARM}
  {$DEFINE PUREPASCAL}
{$ENDIF}
{$IFDEF CLR}
  {$DEFINE PUREPASCAL}
{$ENDIF}

{$IFDEF FPC}
  {$IFDEF IPHONESIM}
    {$DEFINE PUREPASCAL}
  {$ENDIF}
  {$IFNDEF PUREPASCAL}
    {$ASMMODE INTEL}
  {$ENDIF}
  {$MODE DELPHI}
  {$INTERFACES COM}
{$ENDIF}

{$IFDEF WIN32}
  {$DEFINE MSWINDOWS}
  {$DEFINE WIN32_64}
{$ENDIF}
{$IFDEF WIN64}
  {$DEFINE MSWINDOWS}
  {$DEFINE WIN32_64}
{$ENDIF}
{$IFDEF CLR}
  {$DEFINE MSWINDOWS}
{$ENDIF}

{$IFDEF DARWIN}
  {$DEFINE MACOS}
{$ENDIF}

{$IFDEF MSWINDOWS}
  {$IFNDEF CLR}
    {$DEFINE USE_SYNEDIT}
  {$ENDIF}
{$ENDIF}

{$IFDEF INTERNAL}
{$IFDEF BCB}
  {$DEFINE BDE_SHARED}   // Use TUpdateAction from DBTables
{$ENDIF}
{$ENDIF}

{$IFNDEF NOINLINE}
  {$IFDEF FPC}
    {$DEFINE USE_INLINE}
  {$ENDIF}
  {$IFDEF VER9P}
    {$DEFINE USE_INLINE}
  {$ENDIF}
{$ENDIF}

{$IFDEF VER7P}
  {$WARN UNSAFE_TYPE OFF}
  {$WARN UNSAFE_CODE OFF}
  {$WARN UNSAFE_CAST OFF}
{$ENDIF}

{$IFDEF VER6P}
  {$WARN SYMBOL_PLATFORM OFF}
  {$WARN SYMBOL_DEPRECATED OFF}
  {$WARN UNIT_PLATFORM OFF}
  {$WARN UNIT_DEPRECATED OFF}
{$ENDIF}

{$IFNDEF VER6P}
  // Delphi5, CBuilder5 - UTF8 functions is not implemented
  {$DEFINE UTF8}
{$ENDIF}

{----------------------------
               MyDAC  | other
----------------------|------
 k                 z  | -
 d5-d6             z  | -
 d7                d  | d
 d8 clr            -  | -
 d9p clr           -  | -
 d9p w32           d  | d
-----------------------------
 z - ZLib objs
 d - Delphi internal}

{$IFNDEF CLR}
{$IFNDEF FPC} // should be removed after fix ZLib in FPC
  {$DEFINE HAVE_COMPRESS_INTERFACE}
  {$IFDEF VER7P}
    {$DEFINE HAVE_COMPRESS_INTERNAL} // ZLib build in Delphi
  {$ENDIF}
  {$IFNDEF LITE}
    {$DEFINE HAVE_COMPRESS} // Define TCompressBlob class
  {$ENDIF}
{$ENDIF}
{$ENDIF}

{$IFNDEF FPC}
{$IFNDEF CLR}
{$IFNDEF NODBTOOLS} // for all products without db tools integration
{$IFDEF VER6P}
  {$DEFINE DBTOOLS}      // include DBToolsClient unit and related code

{$IFDEF VER9}
  {$UNDEF DBTOOLS}
{$ENDIF}

{$IFDEF VER10}
  {$UNDEF DBTOOLS}
{$ENDIF}

{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}

{$IFNDEF FPC}
  {$DEFINE WITH_IPROVIDER}
{$ENDIF}

{$IFDEF WIN32_64}
{$IFDEF VER6P}
{$IFNDEF BCB}
{$IFNDEF FPC}
  {$DEFINE USE_CODE_EDITOR}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}

{$IFDEF USE_CODE_EDITOR}
  {$DEFINE USE_EXT_MENU}
{$ENDIF}
{$IFDEF USE_SYNEDIT}
  {$DEFINE USE_EXT_MENU}
{$ENDIF}

{$IFDEF CLR}
  {$DEFINE IS_UNICODE}
{$ENDIF}
{$IFDEF VER12P}
  {$DEFINE IS_UNICODE}
{$ENDIF}

// dbExpress for PostgreSQL supports SSL connection
{$DEFINE HAVE_OPENSSL}

{$IFNDEF CLR}
{$IFNDEF FPC}
{$IFNDEF PUREPASCAL}
  {$IFNDEF CPUX64}
    {$DEFINE UseASM}   // use Assembler optimated core
  {$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}

{$IFDEF NEXTGEN}
  {$ZEROBASEDSTRINGS OFF}
{$ENDIF}

{$IFNDEF VER16P}
{$IFNDEF CLR}
  {$DEFINE EXTENDEDIS10BYTES}
{$ENDIF}  
{$ENDIF}
{$IFDEF VER16}
{$IFNDEF CPUX64}
  {$DEFINE EXTENDEDIS10BYTES}
{$ENDIF}
{$ENDIF}

