Przeglądaj źródła

+ iso7195 unit

git-svn-id: trunk@15680 -
florian 15 lat temu
rodzic
commit
73d788ff96
5 zmienionych plików z 202 dodań i 62 usunięć
  1. 1 0
      .gitattributes
  2. 5 0
      compiler/pmodules.pas
  3. 70 0
      rtl/inc/iso7185.pp
  4. 125 61
      rtl/win32/Makefile
  5. 1 1
      rtl/win32/Makefile.fpc

+ 1 - 0
.gitattributes

@@ -6571,6 +6571,7 @@ rtl/inc/heaptrc.pp svneol=native#text/plain
 rtl/inc/innr.inc svneol=native#text/plain
 rtl/inc/int64.inc svneol=native#text/plain
 rtl/inc/intres.inc svneol=native#text/plain
+rtl/inc/iso7185.pp svneol=native#text/pascal
 rtl/inc/keyboard.inc svneol=native#text/plain
 rtl/inc/keybrdh.inc svneol=native#text/plain
 rtl/inc/keyscan.inc svneol=native#text/plain

+ 5 - 0
compiler/pmodules.pas

@@ -685,9 +685,14 @@ implementation
         { Objpas unit? }
         if m_objpas in current_settings.modeswitches then
           AddUnit('objpas');
+
         { Macpas unit? }
         if m_mac in current_settings.modeswitches then
           AddUnit('macpas');
+
+        if m_iso in current_settings.modeswitches then
+          AddUnit('iso7185');
+
         { Objective-C support unit? }
         if (m_objectivec1 in current_settings.modeswitches) then
           begin

+ 70 - 0
rtl/inc/iso7185.pp

@@ -0,0 +1,70 @@
+{
+    This file is part of the Free Pascal Run time library.
+    Copyright (c) 2010 by Florian Klaempfl
+
+    This unit contain procedures specific for iso pascal mode.
+    It should be platform independant.
+
+    See the file COPYING.FPC, included in this distribution,
+    For details about the copyright.
+
+    This program 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.
+
+ **********************************************************************}
+
+unit iso7185;
+
+  interface
+
+    const
+       MaxInt  = MaxLongint;
+
+    type
+      Integer = Longint;
+
+    Procedure Rewrite(var t : Text);
+    Procedure Reset(var t : Text);
+    Procedure Reset(var f : TypedFile);   [INTERNPROC: fpc_in_Reset_TypedFile];
+    Procedure Rewrite(var f : TypedFile); [INTERNPROC: fpc_in_Rewrite_TypedFile];
+
+  implementation
+
+  {$i textrec.inc}
+
+{$i-}
+    procedure DoAssign(var t : Text);
+      begin
+        Assign(t,'fpc_'+HexStr(random(1000000000),8)+'.tmp');
+      end;
+
+
+    Procedure Rewrite(var t : Text);[IOCheck];
+      Begin
+        { create file name? }
+        if Textrec(t).mode=0 then
+          DoAssign(t);
+
+        System.Rewrite(t);
+      End;
+
+
+    Procedure Reset(var t : Text);[IOCheck];
+      Begin
+        { create file name? }
+        if Textrec(t).mode=0 then
+          DoAssign(t);
+
+        System.Reset(t);
+      End;
+
+begin
+  { we shouldn't do this because it might confuse user programs, but for now it
+    is good enough to get pretty unique tmp file names }
+  Randomize;
+end.
+
+
+
+

+ 125 - 61
rtl/win32/Makefile

@@ -1,10 +1,10 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/07/30]
 #
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux
 BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
+UNIXs = linux $(BSDs) solaris qnx haiku
 LIMIT83fs = go32v2 os2 emx watcom
 OSNeedsComspecToRunBatch = go32v2 watcom
 FORCE:
@@ -284,178 +284,187 @@ OBJPASDIR=$(RTL)/objpas
 include $(WININC)/makefile.inc
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
+endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
+endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=system objpas macpas buildrtl lineinfo lnfodwrf
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
+endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override TARGET_UNITS+=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
@@ -517,6 +526,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
 endif
@@ -580,6 +592,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
 endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
+endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
 endif
@@ -631,6 +646,9 @@ endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
 endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override TARGET_IMPLICITUNITS+=sysinitpas sysinitcyg sysinitgprof ctypes strings heaptrc matrix windows winsock winsock2 initc cmem dynlibs signals dos crt objects messages rtlconsts sysconst sysutils math types strutils dateutils varutils variants typinfo fgl classes convutils stdconvs cpu mmx charset ucomplex getopts winevent sockets printer video mouse keyboard fmtbcd winsysut sharemem exeinfo fpintres
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_LOADERS+=$(LOADERS)
 endif
@@ -691,6 +709,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 override TARGET_LOADERS+=$(LOADERS)
 endif
@@ -754,6 +775,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 override TARGET_LOADERS+=$(LOADERS)
 endif
@@ -805,6 +829,9 @@ endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 override TARGET_LOADERS+=$(LOADERS)
 endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override TARGET_LOADERS+=$(LOADERS)
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
 endif
@@ -865,6 +892,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
 endif
@@ -928,6 +958,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
 endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
+endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
 endif
@@ -979,6 +1012,9 @@ endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
 endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst
+endif
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
@@ -1040,6 +1076,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
 endif
@@ -1103,6 +1142,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
 endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
+endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
 endif
@@ -1154,6 +1196,9 @@ endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
 endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(WINDIR)
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
 endif
@@ -1214,6 +1259,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
 endif
@@ -1277,6 +1325,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
 endif
+ifeq ($(FULL_TARGET),x86_64-solaris)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
+endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
 endif
@@ -1328,6 +1379,9 @@ endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
 endif
+ifeq ($(FULL_TARGET),mipsel-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
+endif
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
@@ -1670,6 +1724,10 @@ ifeq ($(OS_TARGET),symbian)
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=symbian
 endif
+ifeq ($(OS_TARGET),NativeNT)
+SHAREDLIBEXT=.dll
+SHORTSUFFIX=nativent
+endif
 else
 ifeq ($(OS_TARGET),go32v1)
 PPUEXT=.pp1
@@ -2435,6 +2493,9 @@ endif
 ifdef EXEFILES
 override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
 endif
+ifdef CLEAN_PROGRAMS
+override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
+endif
 ifdef CLEAN_UNITS
 override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
@@ -2481,6 +2542,9 @@ endif
 ifdef CLEANRSTFILES
 	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
 endif
+endif
+ifdef CLEAN_FILES
+	-$(DEL) $(CLEAN_FILES)
 endif
 	-$(DELTREE) units
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)

+ 1 - 1
rtl/win32/Makefile.fpc

@@ -7,7 +7,7 @@ main=rtl
 
 [target]
 loaders=$(LOADERS)
-units=system objpas macpas buildrtl lineinfo lnfodwrf
+units=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
 implicitunits=sysinitpas sysinitcyg sysinitgprof \
       ctypes strings \
       heaptrc matrix \