{ $Id: jedi-sdl.inc,v 1.15 2007/05/29 21:30:48 savage Exp $ } {******************************************************************************} { } { Borland Delphi SDL - Simple DirectMedia Layer } { Global Conditional Definitions for JEDI-SDL cross-compilation } { } { } { The initial developer of this Pascal code was : } { Prof. Abimbola Olowofoyeku } { } { Portions created by Prof. Abimbola Olowofoyeku are } { Copyright (C) 2000 - 2100 Prof. Abimbola Olowofoyeku. } { } { } { Contributor(s) } { -------------- } { Prof. Abimbola Olowofoyeku } { Dominqiue Louis } { } { Obtained through: } { Joint Endeavour of Delphi Innovators ( Project JEDI ) } { } { You may retrieve the latest version of this file at the Project } { JEDI home page, located at http://delphi-jedi.org } { } { The contents of this file are used with permission, subject to } { the Mozilla Public License Version 1.1 (the "License"); you may } { not use this file except in compliance with the License. You may } { obtain a copy of the License at } { http://www.mozilla.org/MPL/MPL-1.1.html } { } { Software distributed under the License is distributed on an } { "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or } { implied. See the License for the specific language governing } { rights and limitations under the License. } { } { Description } { ----------- } { This code has been copied from... } { Global Conditional Definitions for Chief's UNZIP package } { By Prof. Abimbola Olowofoyeku (The African Chief) } { http://www.bigfoot.com/~African_Chief/ } { } { } { Requires } { -------- } { The SDL Runtime libraris on Win32 : SDL.dll on Linux : libSDL.so } { They are available from... } { http://www.libsdl.org . } { } { Programming Notes } { ----------------- } { } { } { } { } { Revision History } { ---------------- } { 2003-04-03 DL - Initial addition } { } { 2003-04-07 DL - Added Macro ON derective for FPC and OpenGL and removed } { WEAKPACKAGE derective. WEAKPACKAGE should be set when } { appropriate. } { } { 2003-04-23 - DL : under instruction from Alexey Barkovoy I have added } { better TMT Pascal support and under instruction } { from Prof. Abimbola Olowofoyeku (The African Chief) } { I have added better Gnu Pascal support } { } { 2004-01-19 - DL : Under instruction from Marco van de Voort, I have added } { Better FPC support for FreeBSD. } { } (* $Log: jedi-sdl.inc,v $ Revision 1.15 2007/05/29 21:30:48 savage Changes as suggested by Almindor for 64bit compatibility. Revision 1.14 2007/05/20 20:29:11 savage Initial Changes to Handle 64 Bits Revision 1.13 2007/01/21 15:51:45 savage Added Delphi 2006 support Revision 1.12 2006/11/19 18:41:01 savage removed THREADING ON flag as it is no longer needed in latest versions of FPC. Revision 1.11 2006/01/04 00:52:41 drellis Updated to include defined for ENDIAN values, SDL_BYTEORDER should now be correctly defined depending onthe platform. Code taken from sdl_mixer Revision 1.10 2005/05/22 18:42:31 savage Changes as suggested by Michalis Kamburelis. Thanks again. Revision 1.9 2004/12/23 23:42:17 savage Applied Patches supplied by Michalis Kamburelis ( THANKS! ), for greater FreePascal compatability. Revision 1.8 2004/10/20 22:43:04 savage Ensure that UNSAFE type warning are off in D9 as well Revision 1.7 2004/04/05 09:59:51 savage Changes for FreePacal as suggested by Marco Revision 1.6 2004/03/31 22:18:15 savage Small comment for turning off warning under GnuPascal Revision 1.5 2004/03/30 22:41:02 savage Added extra commenting due to previous compiler directive Revision 1.4 2004/03/30 22:08:33 savage Added Kylix Define Revision 1.3 2004/03/30 21:34:40 savage {$H+} needed for FPC compatiblity Revision 1.2 2004/02/14 00:23:39 savage As UNIX is defined in jedi-sdl.inc this will be used to check linux compatability as well. Units have been changed to reflect this change. *) {******************************************************************************} {.$define Debug} { uncomment for debugging } {$IFNDEF FPC} {$IFDEF __GPC__} {$I-} {$W-} // turn off GPC warnings {$X+} {$ELSE} {__GPC__} {$IFDEF Debug} {$F+,D+,Q-,L+,R+,I-,S+,Y+,A+} {$ELSE} {$F+,Q-,R-,S-,I-,A+} {$ENDIF} {$ENDIF} {__GPC__} {$ELSE} {FPC} //{$M+} {$ENDIF} {FPC} {$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 Delphi32} {$DEFINE WIN32} {$DEFINE WINDOWS} {$ENDIF ver90} {$IFDEF ver100} {$DEFINE Delphi} {Delphi 3.x} {$DEFINE Delphi32} {$DEFINE WIN32} {$DEFINE WINDOWS} {$ENDIF ver100} {$IFDEF ver93} {$DEFINE Delphi} {C++ Builder 1.x} {$DEFINE Delphi32} {$DEFINE WINDOWS} {$ENDIF ver93} {$IFDEF ver110} {$DEFINE Delphi} {C++ Builder 3.x} {$DEFINE Delphi32} {$DEFINE WINDOWS} {$ENDIF ver110} {$IFDEF ver120} {$DEFINE Delphi} {Delphi 4.x} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Has_Int64} {$DEFINE WINDOWS} {$ENDIF ver120} {$IFDEF ver130} {$DEFINE Delphi} {Delphi 5.x} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Has_Int64} {$DEFINE WINDOWS} {$ENDIF ver130} {$IFDEF ver140} {$DEFINE Delphi} {Delphi 6.x} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF ver140} {$IFDEF ver150} {$DEFINE Delphi} {Delphi 7.x} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF ver150} {$IFDEF ver160} {$DEFINE Delphi} {Delphi 8} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF ver160} {$IFDEF ver170} {$DEFINE Delphi} {Delphi 2005} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Delphi9UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF ver170} {$IFDEF ver180} {$DEFINE Delphi} {Delphi 2006} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Delphi9UP} {$DEFINE Delphi10UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF ver180} {$IFDEF ver185} {$DEFINE Delphi} {Delphi 2007} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Delphi9UP} {$DEFINE Delphi10UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF ver180} {$IFDEF VER230} { Delphi XE2 } {$DEFINE Delphi} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Delphi9UP} {$DEFINE Delphi10UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF VER230} {$IFDEF VER240} { Delphi XE3 } {$DEFINE Delphi} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Delphi9UP} {$DEFINE Delphi10UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF VER240} {$IFDEF VER250} { Delphi XE4 } {$DEFINE Delphi} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Delphi9UP} {$DEFINE Delphi10UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF VER250} {$IFDEF VER260} { Delphi XE5 } {$DEFINE Delphi} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Delphi9UP} {$DEFINE Delphi10UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF VER260} {$IFDEF VER270} { Delphi XE6 } {$DEFINE Delphi} {$DEFINE Delphi32} {$DEFINE Delphi4UP} {$DEFINE Delphi5UP} {$DEFINE Delphi6UP} {$DEFINE Delphi7UP} {$DEFINE Delphi8UP} {$DEFINE Delphi9UP} {$DEFINE Delphi10UP} {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7} {$DEFINE Has_Int64} {$DEFINE HAS_TYPES} {$ENDIF VER270} {$IFDEF UNIX} {$ifdef VER140} // Kylix 1 & 2 {$DEFINE KYLIX} {$DEFINE KYLIX1UP} {$DEFINE KYLIX2UP} {$DEFINE HAS_TYPES} {$endif} {$ifdef VER150} // Kylix 3 {$DEFINE KYLIX} {$DEFINE KYLIX1UP} {$DEFINE KYLIX2UP} {$DEFINE KYLIX3UP} {$DEFINE HAS_TYPES} {$endif} {$ENDIF UNIX} {$IFDEF VirtualPascal} { Virtual Pascal 2.x } {$DEFINE Delphi} { Use Delphi Syntax } {$DEFINE VP2} {&Delphi+} {$ENDIF VirtualPascal} {$IFDEF Delphi} {$DEFINE Windows} {$DEFINE USE_STDCALL} //{$ALIGN ON} {$ENDIF Delphi} {$IFDEF FPC} {$MODE Delphi} { use Delphi compatibility mode } {$H+} {$PACKRECORDS C} // Added for record {$MACRO ON} // Added For OpenGL {$DEFINE Delphi} {$DEFINE UseAT} {$UNDEF USE_STDCALL} {$DEFINE OS_BigMem} {$DEFINE NO_EXPORTS} {$DEFINE Has_Int64} {$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 OS2} {$UNDEF Windows} {$DEFINE UseWin} {$DEFINE OS_BigMem} {$ENDIF OS2} {$IFDEF __GPC__} {$UNDEF UseWin} {$UNDEF USE_STDCALL} {$DEFINE OS_BigMem} {$DEFINE NO_EXPORTS} {$DEFINE NOCRT} {$DEFINE cdecl attribute(cdecl)} {$ENDIF} {$IFDEF __TMT__} {$DEFINE OS_BigMem} {$DEFINE NO_EXPORTS} {$DEFINE __OS_DOS__} {$DEFINE UseAT} {$IFNDEF MSDOS} {$DEFINE USE_STDCALL} {$ENDIF} {$IFDEF __WIN32__} {$DEFINE Win32} {$DEFINE UseWin} {$DEFINE NOCRT} {$DEFINE Win32} {$IFNDEF __CON__} {$DEFINE Windows} {$ENDIF} {$ENDIF} {$A+} // Word alignment data {$OA+} // Objects and structures align {$ENDIF} {$IFDEF Win32} {$DEFINE OS_BigMem} {$ELSE Win32} {$IFDEF ver70} {$DEFINE assembler} {$ENDIF} { use 16-bit assembler! } {$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} {$IFNDEF __TMT__} {$DEFINE BY_NAME} {$ENDIF} {$ENDIF} {$IFNDEF ver70} {$UNDEF assembler} {$ENDIF} {*************** define LITTLE ENDIAN platforms ********************} {$IFDEF Delphi} {$DEFINE IA32} {$ENDIF} {$IFDEF KYLIX} {$DEFINE IA32} {$ENDIF} {$IFDEF FPC} {$IFDEF FPC_LITTLE_ENDIAN} {$DEFINE IA32} {$ENDIF} {$ENDIF}