123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516 |
- {
- This file (jedi.inc) is part of SDL2-for-Pascal.
- It defines some variables for several Pascal-Compilers and OS-versions.
- It is based upon:
- Pascal-Header-Conversion
- Copyright (c) 2012/13 Tim Blume aka End
- jedi-sdl.inc: Global Conditional Definitions for JEDI-SDL cross-compilation
- Copyright (C) 2000 - 2013 Prof. Abimbola Olowofoyeku and Tim Blume
- See: https://github.com/ev1313/
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
- }
- {.$define Debug} { uncomment for debugging }
- {$IFNDEF FPC}
- {$IFDEF Debug}
- {$F+,D+,Q-,L+,R+,I-,S+,Y+,A+}
- {$ELSE}
- {$F+,Q-,R-,S-,I-,A+}
- {$ENDIF}
- {$ELSE}
- {$MODE DELPHI}
- {$IFDEF VER3_2}
- {$WARN 6058 OFF} { Turn off compiler hint: Call to subroutine "..." marked as inline is not inlined
- See: https://forum.lazarus.freepascal.org/index.php?topic=50585.0 }
- {$ENDIF}
- {$ENDIF}
- {$IFDEF LINUX}
- {$DEFINE UNIX}
- {$ENDIF}
- {$IFDEF ver70}
- {$IFDEF Windows}
- {$DEFINE Win16}
- {$ENDIF Windows}
- {$IFDEF MSDOS}
- {$DEFINE NO_EXPORTS}
- {$ENDIF MSDOS}
- {$IFDEF DPMI}
- {$DEFINE BP_DPMI}
- {$ENDIF}
- {$DEFINE OS_16_BIT}
- {$DEFINE __OS_DOS__}
- {$ENDIF ver70}
- {$IFDEF ver80}
- {$DEFINE Delphi} {Delphi 1.x}
- {$DEFINE Delphi16}
- {$DEFINE Win16}
- {$DEFINE OS_16_BIT}
- {$DEFINE __OS_DOS__}
- {$ENDIF ver80}
- {$IFDEF ver90}
- {$DEFINE Delphi} {Delphi 2.x}
- {$DEFINE WIN32}
- {$DEFINE WINDOWS}
- {$ENDIF ver90}
- {$IFDEF ver100}
- {$DEFINE Delphi} {Delphi 3.x}
- {$DEFINE WIN32}
- {$DEFINE WINDOWS}
- {$ENDIF ver100}
- {$IFDEF ver93}
- {$DEFINE Delphi} {C++ Builder 1.x}
- {$DEFINE WINDOWS}
- {$ENDIF ver93}
- {$IFDEF ver110}
- {$DEFINE Delphi} {C++ Builder 3.x}
- {$DEFINE WINDOWS}
- {$ENDIF ver110}
- {$IFDEF ver120}
- {$DEFINE Delphi} {Delphi 4.x}
- {$DEFINE Delphi4UP}
- {$DEFINE Has_Int64}
- {$DEFINE WINDOWS}
- {$ENDIF ver120}
- {$IFDEF ver130}
- {$DEFINE Delphi} {Delphi / C++ Builder 5.x}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Has_Int64}
- {$DEFINE WINDOWS}
- {$ENDIF ver130}
- {$IFDEF ver140}
- {$DEFINE Delphi} {Delphi / C++ Builder 6.x}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Has_Int64}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver140}
- {$IFDEF ver150}
- {$DEFINE Delphi} {Delphi 7.x}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver150}
- {$IFDEF ver160}
- {$DEFINE Delphi} {Delphi 8.x}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver160}
- {$IFDEF ver170}
- {$DEFINE Delphi} {Delphi / C++ Builder 2005}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver170}
- {$IFDEF ver180}
- {$DEFINE Delphi} {Delphi / C++ Builder 2006 / 2007}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver180}
- {$IFDEF ver185}
- {$DEFINE Delphi} {Delphi / C++ Builder 2007}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver185}
- {$IFDEF ver190}
- {$DEFINE Delphi} {Delphi / C++ Builder 2007 }
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver190}
- {$IFDEF ver200}
- {$DEFINE Delphi} {Delphi / C++ Builder 2009 }
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver200}
- {$IFDEF ver210}
- {$DEFINE Delphi} {Delphi / C++ Builder 2010}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$DEFINE Delphi14UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver210}
- {$IFDEF ver220}
- {$DEFINE Delphi} {Delphi / C++ Builder XE}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$DEFINE Delphi14UP}
- {$DEFINE Delphi15UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver220}
- {$IFDEF ver230}
- {$DEFINE Delphi} {Delphi / C++ Builder XE2}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$DEFINE Delphi14UP}
- {$DEFINE Delphi15UP}
- {$DEFINE Delphi16UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver230}
- {$IFDEF ver240}
- {$DEFINE Delphi} {Delphi / C++ Builder XE4}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$DEFINE Delphi14UP}
- {$DEFINE Delphi15UP}
- {$DEFINE Delphi16UP}
- {$DEFINE Delphi17UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver240}
- {$IFDEF ver250}
- {$DEFINE Delphi} {Delphi / C++ Builder XE5}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$DEFINE Delphi14UP}
- {$DEFINE Delphi15UP}
- {$DEFINE Delphi16UP}
- {$DEFINE Delphi17UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver250}
- {$IFDEF ver260}
- {$DEFINE Delphi} {Delphi / C++ Builder XE6}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$DEFINE Delphi14UP}
- {$DEFINE Delphi15UP}
- {$DEFINE Delphi16UP}
- {$DEFINE Delphi17UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver260}
- {$IFDEF ver270}
- {$DEFINE Delphi} {Delphi / C++ Builder XE7}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$DEFINE Delphi14UP}
- {$DEFINE Delphi15UP}
- {$DEFINE Delphi16UP}
- {$DEFINE Delphi17UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$ENDIF ver270}
- {$IFNDEF FPC}
- {$IF CompilerVersion > 27}
- {$DEFINE Delphi} {Delphi / C++ Builder}
- {$DEFINE Delphi4UP}
- {$DEFINE Delphi5UP}
- {$DEFINE Delphi6UP}
- {$DEFINE Delphi7UP}
- {$DEFINE Delphi8UP}
- {$DEFINE Delphi9UP}
- {$DEFINE Delphi10UP}
- {$DEFINE Delphi11UP}
- {$DEFINE Delphi12UP}
- {$DEFINE Delphi13UP}
- {$DEFINE Delphi14UP}
- {$DEFINE Delphi15UP}
- {$DEFINE Delphi16UP}
- {$DEFINE Delphi17UP}
- {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
- {$DEFINE Has_Int64}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Native}
- {$DEFINE HAS_TYPES}
- {$IFEND}
- {$ENDIF}
-
- {*************** define 16/32/64 Bit ********************}
- {$IFDEF WIN16}
- {$DEFINE 16BIT}
- {$DEFINE WINDOWS}
- {$ELSE}
- {$IFDEF WIN32}
- {$DEFINE 32BIT}
- {$DEFINE WINDOWS}
- {$ELSE}
- {$IFDEF WIN64}
- {$DEFINE 64BIT}
- {$DEFINE WINDOWS}
- {$ELSE}
- //TODO!!
- {$DEFINE 32BIT}
- {$ENDIF}
- {$ENDIF}
- {$ENDIF}
- {$IFDEF Delphi}
- {$DEFINE USE_STDCALL}
- {$IFDEF 32Bit}
- {$DEFINE DELPHI32}
- {$ELSE}
- {$IFDEF 64Bit}
- {$DEFINE DELPHI64}
- {$ELSE}
- {$DEFINE DELPHI16}
- {$ENDIF}
- {$ENDIF}
- //{$ALIGN ON}
- {$ENDIF Delphi}
- {$IFDEF FPC}
- {$H+}
- {$PACKRECORDS C} // Added for record
- {$PACKENUM DEFAULT} // Added for c-like enumerators
- {$MACRO ON} // Added For OpenGL
- {$DEFINE Delphi}
- {$DEFINE UseAT}
- {$UNDEF USE_STDCALL}
- {$DEFINE OS_BigMem}
- {$DEFINE NO_EXPORTS}
- {$DEFINE Has_UInt64}
- {$DEFINE Has_Int64}
- {$DEFINE Has_Native}
- {$DEFINE NOCRT}
- {$IFDEF UNIX}
- {$DEFINE fpc_unix}
- {$ELSE}
- {$DEFINE __OS_DOS__}
- {$ENDIF}
- {$IFDEF WIN32}
- {$DEFINE UseWin}
- {$ENDIF}
- {$DEFINE HAS_TYPES}
- {$ENDIF FPC}
- {$IFDEF Win16}
- {$K+} {smart callbacks}
- {$ENDIF Win16}
- {$IFDEF Win32}
- {$DEFINE OS_BigMem}
- {$ENDIF Win32}
- { ************************** dos/dos-like platforms **************}
- {$IFDEF Windows}
- {$DEFINE __OS_DOS__}
- {$DEFINE UseWin}
- {$DEFINE MSWINDOWS}
- {$ENDIF Delphi}
- {$IFDEF OS2}
- {$DEFINE __OS_DOS__}
- {$DEFINE Can_Use_DLL}
- {$ENDIF Delphi}
- {$IFDEF UseWin}
- {$DEFINE Can_Use_DLL}
- {$ENDIF}
- {$IFDEF Win16}
- {$DEFINE Can_Use_DLL}
- {$ENDIF}
- {$IFDEF BP_DPMI}
- {$DEFINE Can_Use_DLL}
- {$ENDIF}
- {$IFDEF USE_STDCALL}
- {$DEFINE BY_NAME}
- {$ENDIF}
- {*************** define LITTLE ENDIAN platforms ********************}
- {$IFDEF Delphi}
- {$DEFINE IA32}
- {$ENDIF}
- {$IFDEF FPC}
- {$IFDEF FPC_LITTLE_ENDIAN}
- {$DEFINE IA32}
- {$ENDIF}
- {$ENDIF}
|