123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- {
- $Id$
- Include file to sort out compilers/platforms/targets
- Copyright (c) 1997 Balazs Scheidler ([email protected])
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
- You should have received a copy of the GNU Library General Public
- License along with this library; if not, write to the Free
- Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- ****************************************************************************
- 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
- ****************************************************************************
- Changelog:
- Date Version Who Comments
- 02 Jul 97 0.1 Bazsi Initial implementation
- 28 Aug 97 0.2 LdeB Fixed OS2 platform sort out
- 29 Aug 97 0.3 LdeB Added assembler type change
- 29 Aug 97 0.4 LdeB OS_DOS removed from Windows
- 23 Oct 97 0.5 LdeB Delphi & Speed compilers added
- 05 May 98 0.6 LdeB Virtual pascal 2.0 added
- 19 May 98 0.7 LdeB Delphi2/3 definitions altered
- 6 Aug 98 0.8 CEC/LdeB FPC only support - fixed for Win32
- 10 Aug 98 0.9 LdeB BP_VMTLink def/Undef for object reg.
- 27 Aug 98 1.0 LdeB Fixed Atari etc not $UNDEF OS_DOS.
- 25 Oct 98 1.1 pfv Delphi4
- ****************************************************************************
- 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
- FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- DPMI OS_DOS BP/TP7 PPC_BP PROC_Protected BIT_16 ASM_BP
- LINUX OS_LINUX FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- WINDOWS OS_WINDOWS BP/TP7 PPC_BP PROC_Protected BIT_16 ASM_BP
- DELPHI PPC_DELPHI PROC_Protected BIT_16 ASM_BP
- DELPHI2 PPC_DELPHI&2 PROC_Protected BIT_16 ASM_BP
- WIN95/NT OS_WINDOWS DELPHI2 PPC_DELPHI&2 PROC_Protected BIT_32 ASM_BP
- DELPHI3 PPC_DELPHI&3 PROC_Protected BIT_32 ASM_BP
- DELPHI4 PPC_DELPHI&3 PROC_Protected BIT_32 ASM_BP
- VIRTUAL PPC_VIRTUAL PROC_Protected BIT 32 ASM_BP
- 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
- FPC PPC_FPC PROC_Protected BIT_32 ASM_FPC
- ****************************************************************************}
- {****************************************************************************
- FOR ALL COMPILERS BP_VMTLink will be defined but FPC and Delphi3 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 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}
- {---------------------------------------------------------------------------}
- { BORLAND 16 BIT DPMI changes protected mode - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF DPMI}
- {$UNDEF PROC_Real}
- {$DEFINE PROC_Protected}
- {$ENDIF}
- {---------------------------------------------------------------------------}
- { FPC 32 BIT COMPILER changes ASM, 32 bits etc - Updated 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF 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}
- {$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}
- {$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 27Aug98 LdB }
- {---------------------------------------------------------------------------}
- {$IFDEF WINDOWS}
- {$UNDEF OS_DOS}
- {$DEFINE OS_WINDOWS}
- {$UNDEF PROC_Real}
- {$DEFINE PROC_Protected}
- {$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}
- {---------------------------------------------------------------------------}
- { 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}
- {$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}
- {
- $Log$
- Revision 1.2 2000-07-13 11:32:24 michael
- + removed logs
-
- }
|