PageRenderTime 22ms CodeModel.GetById 19ms app.highlight 0ms RepoModel.GetById 1ms app.codeStats 0ms

/compiler/systems/i_go32v2.pas

https://github.com/slibre/freepascal
Pascal | 102 lines | 76 code | 4 blank | 22 comment | 0 complexity | 10919feef1943fc63f0f78c22f79bea1 MD5 | raw file
Possible License(s): LGPL-2.0, LGPL-2.1, LGPL-3.0
  1{
  2    Copyright (c) 1998-2002 by Peter Vreman
  3
  4    This unit implements support information structures for go32v2
  5
  6    This program is free software; you can redistribute it and/or modify
  7    it under the terms of the GNU General Public License as published by
  8    the Free Software Foundation; either version 2 of the License, or
  9    (at your option) any later version.
 10
 11    This program is distributed in the hope that it will be useful,
 12    but WITHOUT ANY WARRANTY; without even the implied warranty of
 13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 14    GNU General Public License for more details.
 15
 16    You should have received a copy of the GNU General Public License
 17    along with this program; if not, write to the Free Software
 18    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 19 ****************************************************************************
 20}
 21{ This unit implements support information structures for go32v2. }
 22unit i_go32v2;
 23
 24{$i fpcdefs.inc}
 25
 26  interface
 27
 28    uses
 29       systems;
 30
 31    const
 32       system_i386_go32v2_info : tsysteminfo =
 33          (
 34            system       : system_i386_GO32V2;
 35            name         : 'GO32 V2 DOS extender';
 36            shortname    : 'Go32v2';
 37            flags        : [tf_use_8_3,tf_smartlink_library,tf_smartlink_sections];
 38            cpu          : cpu_i386;
 39            unit_env     : 'GO32V2UNITS';
 40            extradefines : 'DPMI';
 41            exeext       : '.exe';
 42            defext       : '.def';
 43            scriptext    : '.bat';
 44            smartext     : '.sl';
 45            unitext      : '.ppu';
 46            unitlibext   : '.ppl';
 47            asmext       : '.s';
 48            objext       : '.o';
 49            resext       : '.res';
 50            resobjext    : '.or';
 51            sharedlibext : '.dll';
 52            staticlibext : '.a';
 53            staticlibprefix : '';
 54            sharedlibprefix : '';
 55            sharedClibext : '.dll';
 56            staticClibext : '.a';
 57            staticClibprefix : 'lib';
 58            sharedClibprefix : '';
 59            importlibprefix : '';
 60            importlibext : '.al';
 61            Cprefix      : '_';
 62            newline      : #13#10;
 63            dirsep       : '\';
 64            assem        : as_i386_coff;
 65            assemextern  : as_gas;
 66            link         : nil;
 67            linkextern   : nil;
 68            ar           : ar_gnu_ar;
 69            res          : res_none;
 70            dbg          : dbg_stabs;
 71            script       : script_dos;
 72            endian       : endian_little;
 73            alignment    :
 74              (
 75                procalign       : 4;
 76                loopalign       : 4;
 77                jumpalign       : 0;
 78                constalignmin   : 0;
 79                constalignmax   : 4;
 80                varalignmin     : 0;
 81                varalignmax     : 4;
 82                localalignmin   : 0;
 83                localalignmax   : 4;
 84                recordalignmin  : 0;
 85                recordalignmax  : 2;
 86                maxCrecordalign : 4
 87              );
 88            first_parm_offset : 8;
 89            stacksize    : 262144;
 90            stackalign   : 4;
 91            abi          : abi_default;
 92          );
 93
 94  implementation
 95
 96initialization
 97{$ifdef cpu86}
 98  {$ifdef go32v2}
 99    set_source_info(system_i386_go32v2_info);
100  {$endif go32v2}
101{$endif cpu86}
102end.