123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- {***************[ PLATFORM INCLUDE UNIT ]******************}
- { }
- { System independent INCLUDE file to sort PLATFORMS }
- { }
- { Parts Copyright (c) 1997 by Balazs Scheidler }
- { [email protected] }
- { }
- { Parts Copyright (c) 1999, 2000 by Leon de Boer }
- { [email protected] - primary e-mail address }
- { [email protected] - backup e-mail address }
- { }
- {****************[ THIS CODE IS FREEWARE ]*****************}
- { }
- { This sourcecode is released for the purpose to }
- { promote the pascal language on all platforms. You may }
- { redistribute it and/or modify with the following }
- { DISCLAIMER. }
- { }
- { This SOURCE CODE is distributed "AS IS" WITHOUT }
- { WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR }
- { ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. }
- { }
- {*****************[ SUPPORTED PLATFORMS ]******************}
- { 16 and 32 Bit compilers }
- { DOS - Turbo Pascal 7.0 + (16 Bit) }
- { DPMI - Turbo Pascal 7.0 + (16 Bit) }
- { - FPC 0.9912+ (GO32V2) (32 Bit) }
- { WINDOWS - Turbo Pascal 7.0 + (16 Bit) }
- { - Delphi 1.0+ (16 Bit) }
- { WIN95/NT - Delphi 2.0+ (32 Bit) }
- { - Virtual Pascal 2.0+ (32 Bit) }
- { - Speedsoft Sybil 2.0+ (32 Bit) }
- { - FPC 0.9912+ (32 Bit) }
- { OS2 - Virtual Pascal 1.0+ (32 Bit) }
- { - C'T patch to BP (16 Bit) }
- { LINUX - FPC 0.9912+ (32 Bit) }
- { }
- {******************[ REVISION HISTORY ]********************}
- { Version Date Who Fix }
- { ------- -------- --- ---------------------------- }
- { 0.1 02 Jul 97 Bazsi Initial implementation }
- { 0.2 28 Aug 97 LdB Fixed OS2 platform sort }
- { 0.3 29 Aug 97 LdB Added assembler type changes }
- { 0.4 29 Aug 97 LdB OS_DOS removed from WINDOWS }
- { 0.5 23 Oct 97 LdB Delphi & speed compilers }
- { 0.6 05 May 98 LdB Virtual Pascal 2.0 added }
- { 0.7 19 May 98 LdB Delphi 2/3 definitions added }
- { 0.8 06 Aug 98 CEC FPC only support fixed WIN32 }
- { 0.9 10 Aug 98 LdB BP_VMTLink def/Undef added }
- { 1.0 27 Aug 98 LdB Atari, Mac etc not undef dos }
- { 1.1 25 Oct 98 PfV Delphi 4 definitions added }
- { 1.2 06 Jun 99 LdB Sybil 2.0 support added }
- { 1.3 13 Jun 99 LdB Sybil 2.0 undef BP_VMT link }
- { 1.31 03 Nov 99 LdB FPC windows defines WIN32 }
- { 1.32 04 Nov 99 LdB Delphi 5 definitions added }
- { 1.33 16 Oct 00 LdB WIN32/WIN16 defines added }
- { 1.34 02 May 02 MvdV FreeBSD, NetBSD, OS_UNIX }
- {**********************************************************}
- { ****************************************************************************
- This include file defines some conditional defines to allow us to select
- the compiler/platform/target in a consequent way.
- OS_XXXX The operating system used (XXXX may be one of:
- DOS, OS2, Linux, Windows, Go32)
- PPC_XXXX The compiler used: BP, FPK, Virtual, Speed
- BIT_XX The number of bits of the target platform: 16 or 32
- PROC_XXXX The mode of the target processor (Real or Protected)
- This shouldn't be used, except for i386 specific parts.
- ASM_XXXX This is the assembler type: BP, ISO-ANSI, FPK
- ****************************************************************************
- This is how the IFDEF and UNDEF statements below should translate.
- PLATFORM SYSTEM COMPILER COMP ID CPU MODE BITS ASSEMBLER
- -------- ------ -------- ------- -------- ---- ---------
- DOS OS_DOS BP/TP7 PPC_BP PROC_Real BIT_16 ASM_BP
- DPMI OS_DOS BP/TP7 PPC_BP PROC_Protected BIT_16 ASM_BP
- FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- LINUX OS_LINUX FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- OS_UNIX
- FREEBSD OS_FREEBSD FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- OS_UNIX
- NETBSD OS_NETBSD FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- OS_UNIX
- WINDOWS OS_WINDOWS BP/TP7 PPC_BP PROC_Protected BIT_16 ASM_BP
- DELPHI PPC_DELPHI PROC_Protected BIT_16 ASM_BP
- DELPHI2 PPC_DELPHI2 PROC_Protected BIT_16 ASM_BP
- WIN95/NT OS_WINDOWS DELPHI2 PPC_DELPHI2 PROC_Protected BIT_32 ASM_BP
- DELPHI3 PPC_DELPHI3 PROC_Protected BIT_32 ASM_BP
- DELPHI4 PPC_DELPHI3 PROC_Protected BIT_32 ASM_BP
- DELPHI5 PPC_DELPHI3 PROC_Protected BIT_32 ASM_BP
- VIRTUAL PPC_VIRTUAL PROC_Protected BIT 32 ASM_BP
- SYBIL2 PPC_SPEED PROC_Protected BIT_32 ASM_BP
- FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- OS2 OS_OS2 BPOS2 PPC_BPOS2 PROC_Protected BIT_16 ASM_BP
- VIRTUAL PPC_VIRTUAL PROC_Protected BIT_32 ASM_BP
- SPEED PPC_SPEED PROC_Protected BIT_32 ASM_BP
- SYBIL2 PPC_SPEED PROC_Protected BIT_32 ASM_BP
- FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- ****************************************************************************}
- {****************************************************************************
- FOR ALL COMPILERS BP_VMTLink defined but FPC and Delphi3/Delphi4 undefine it
- ****************************************************************************}
- {****************************************************************************
- FOR FPC THESE ARE THE TRANSLATIONS
- PLATFORM SYSTEM COMPILER HANDLE SIZE ASM CPU
- -------- ------ -------- ----------- ---- ---
- DOS OS_DOS,OS_GO32 FPC 32-bit AT&T CPU86
- WIN32 OS_WINDOWS FPC 32-bit AT&T ----
- LINUX OS_LINUX,OS_UNIX FPC 32-bit AT&T ----
- FREEBSD OS_NETBSD,OS_UNIX FPC 32-bit AT&T ----
- NETBSD OS_FREEBSD,OS_UNIX FPC 32-bit AT&T ----
- OS2 OS_OS2 FPC ????? AT&T CPU86
- ATARI OS_ATARI FPC 32-bit Internal CPU68
- MACOS OS_MAC FPC ????? Internal CPU68
- AMIGA OS_AMIGA FPC 32-bit Internal CPU68
- ****************************************************************************}
- {---------------------------------------------------------------------------}
- { Initial assume BORLAND 16 BIT DOS COMPILER - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$DEFINE OS_DOS}
- {$DEFINE PROC_Real}
- {$DEFINE BIT_16}
- {$DEFINE PPC_BP}
- {$DEFINE ASM_BP}
- {$DEFINE BP_VMTLink}
- {$DEFINE CPU86}
- {---------------------------------------------------------------------------}
- { FPC 32 BIT COMPILER changes ASM, 32 bits etc - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF FPC}
- {$mode fpc}
- {$UNDEF PROC_Real}
- {$DEFINE PROC_Protected}
- {$UNDEF BIT_16}
- {$DEFINE BIT_32}
- {$UNDEF PPC_BP}
- {$DEFINE PPC_FPC}
- {$UNDEF ASM_BP}
- {$DEFINE ASM_FPC}
- {$UNDEF BP_VMTLink}
- {$DEFINE Use_API}
- {$DEFINE NO_WINDOW}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { FPC LINUX COMPILER changes operating system - Updated 27Aug98 LdB }
- { Note: Other linux compilers would need to change other details }
- {---------------------------------------------------------------------------}
- {$IFDEF LINUX}
- {$UNDEF OS_DOS}
- {$DEFINE OS_LINUX}
- {$DEFINE OS_UNIX}
- {$ENDIF}
- {$IFDEF FreeBSD}
- {$UNDEF OS_DOS}
- {$DEFINE OS_FREEBSD}
- {$DEFINE OS_UNIX}
- {$ENDIF}
- {$IFDEF NETBSD}
- {$UNDEF OS_DOS}
- {$DEFINE OS_NETBSD}
- {$DEFINE OS_UNIX}
- {$ENDIF}
- {$IFDEF Darwin}
- {$UNDEF OS_DOS}
- {$DEFINE OS_DARWIN}
- {$DEFINE OS_UNIX}
- {$ENDIF}
- {$IFDEF SOLARIS}
- {$UNDEF OS_DOS}
- {$DEFINE OS_SOLARIS}
- {$DEFINE OS_UNIX}
- {$ENDIF}
- {------------------------------------------------}
- { FPC Netware COMPILER changes operating system }
- {------------------------------------------------}
- {$IFDEF Netware}
- {$UNDEF OS_DOS}
- {$DEFINE OS_NETWARE}
- {$IFDEF NETWARE_LIBC}
- {$DEFINE OS_NETWARE_LIBC}
- {$ELSE}
- {$DEFINE OS_NETWARE_CLIB}
- {$ENDIF}
- {$DEFINE HasSysMsgUnit}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { FPC GO32V2 COMPILER changes operating system - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF GO32V2}
- {$DEFINE OS_GO32}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { 32 BIT WINDOWS COMPILERS changes bit size - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF WIN32}
- {$IFNDEF WINDOWS}
- {$DEFINE WINDOWS}
- {$ENDIF}
- {$UNDEF BIT_16}
- {$DEFINE BIT_32}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { WINDOWS COMPILERS change op system and proc mode - Updated 03Nov99 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF WINDOWS}
- {$UNDEF OS_DOS}
- {$DEFINE OS_WINDOWS}
- {$UNDEF PROC_Real}
- {$DEFINE PROC_Protected}
- {$IFDEF FPC}
- {$DEFINE WIN32}
- {$ENDIF}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { DELPHI1 COMPILER changes compiler type - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF VER80}
- {$UNDEF PPC_BP}
- {$DEFINE PPC_DELPHI}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { DELPHI2 COMPILER changes compiler type - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF VER90}
- {$UNDEF PPC_BP}
- {$DEFINE PPC_DELPHI}
- {$DEFINE PPC_DELPHI2}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { DELPHI3 COMPILER changes compiler type - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF VER100}
- {$UNDEF PPC_BP}
- {$DEFINE PPC_DELPHI}
- {$DEFINE PPC_DELPHI3}
- {$UNDEF BP_VMTLink}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { DELPHI4 COMPILER changes compiler type - Updated 25Oct98 pfv }
- {---------------------------------------------------------------------------}
- {$IFDEF VER120}
- {$UNDEF PPC_BP}
- {$DEFINE PPC_DELPHI}
- {$DEFINE PPC_DELPHI3}
- {$DEFINE PPC_DELPHI4}
- {$UNDEF BP_VMTLink}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { DELPHI5 COMPILER changes compiler type - Updated 04Nov99 pfv }
- {---------------------------------------------------------------------------}
- {$IFDEF VER130}
- {$UNDEF PPC_BP}
- {$DEFINE PPC_DELPHI}
- {$DEFINE PPC_DELPHI3}
- {$DEFINE PPC_DELPHI4}
- {$DEFINE PPC_DELPHI5}
- {$UNDEF BP_VMTLink
- }
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { OS2 COMPILERS change compiler type and mode - Updated 27Aug98 LdB }
- { Note: Assumes BPOS2 16BIT OS2 patch except for FPC which undefines this }
- {---------------------------------------------------------------------------}
- {$IFDEF OS2}
- {$UNDEF OS_DOS}
- {$DEFINE OS_OS2}
- {$UNDEF PROC_Real}
- {$DEFINE PROC_Protected}
- {$UNDEF PPC_BP}
- {$DEFINE PPC_BPOS2}
- {$IFDEF FPC}
- {$UNDEF PPC_BPOS2}
- {$ENDIF}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { VIRTUAL PASCAL changes compiler type/32 bit - Updated 27Aug98 LdB }
- { Note: VP2 can compile win 32 code so changes op system as needed }
- {---------------------------------------------------------------------------}
- {$IFDEF VirtualPascal}
- {$UNDEF BIT_16}
- {$DEFINE BIT_32}
- {$IFDEF PPC_BPOS2}
- {$UNDEF PPC_BPOS2}
- {$ENDIF}
- {$DEFINE PPC_VIRTUAL}
- {$IFDEF WIN32}
- {$UNDEF PPC_BP}
- {$UNDEF OS_OS2}
- {$DEFINE OS_WINDOWS}
- {$ENDIF}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { SPEED COMPILER changes compiler type/32 bit - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF Speed}
- {$UNDEF BIT_16}
- {$DEFINE BIT_32}
- {$UNDEF PPC_BPOS2}
- {$DEFINE PPC_SPEED}
- {$UNDEF BP_VMTLink}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { FPC AMIGA COMPILER changes op system and CPU type - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF AMIGA}
- {$UNDEF OS_DOS}
- {$DEFINE OS_AMIGA}
- {$IFDEF CPU86}
- {$UNDEF CPU86}
- {$ENDIF}
- {$IFNDEF CPU68}
- {$DEFINE CPU68}
- {$ENDIF}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { FPC ATARI COMPILER changes op system and CPU type - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF ATARI}
- {$UNDEF OS_DOS}
- {$DEFINE OS_ATARI}
- {$IFDEF CPU86}
- {$UNDEF CPU86}
- {$ENDIF}
- {$IFNDEF CPU68}
- {$DEFINE CPU68}
- {$ENDIF}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { FPC MAC COMPILER changes op system and CPU type - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF MACOS}
- {$UNDEF OS_DOS}
- {$DEFINE OS_MAC}
- {$IFDEF CPU86}
- {$UNDEF CPU86}
- {$ENDIF}
- {$IFNDEF CPU68}
- {$DEFINE CPU68}
- {$ENDIF}
- {$ENDIF}
- {$IFDEF OS_DOS}
- {$DEFINE NO_WINDOW}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { WIN16 AND WIN32 set if in windows - Updated 16Oct2000 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF OS_WINDOWS} { WINDOWS SYSTEM }
- {$IFDEF BIT_16}
- {$DEFINE WIN16} { 16 BIT WINDOWS }
- {$ENDIF}
- {$IFDEF BIT_32}
- {$DEFINE WIN32} { 32 BIT WINDOWS }
- {$ENDIF}
- {$ENDIF}
|