Browse Source

* Compilation for win64

Michael VAN CANNEYT 2 years ago
parent
commit
6caeb5ebf0

+ 32 - 4
rtl/inc/Makefile.fpc

@@ -6,9 +6,9 @@ nortl=y
 # All units
 # All units
 #
 #
 #
 #
-# Macros for all unit names. Depends on FPC_DOTTEDRTL
+# Macros for all unit names. Depends on FPC_DOTTEDUNITS
 #
 #
-ifdef FPC_DOTTEDRTL
+ifdef FPC_DOTTEDUNITS
 #
 #
 # Here all dotted units
 # Here all dotted units
 #
 #
@@ -511,7 +511,7 @@ endif
 #
 #
 # Set up namespaced names
 # Set up namespaced names
 #
 #
-ifdef FPC_DOTTEDRTL 
+ifdef FPC_DOTTEDUNITS 
 
 
 NS_SYSTEM=System.
 NS_SYSTEM=System.
 NS_CPUNITS=System.CodePages.
 NS_CPUNITS=System.CodePages.
@@ -577,6 +577,10 @@ ifndef NSCLASSESDIR
 NSCLASSESDIR=$(NSDIR)/$(CLASSESDIR)
 NSCLASSESDIR=$(NSDIR)/$(CLASSESDIR)
 endif
 endif
 
 
+ifdef FPC_DOTTEDUNITS
+MACPAS_OPT:=$(MACPAS_OPT) -dFPC_DOTTEDUNITS
+endif
+
 #
 #
 # Make rules
 # Make rules
 #
 #
@@ -874,7 +878,7 @@ sysutils$(PPUEXT) : $(SYSUTILS_DEPS)
         $(COMPILER) -Fi$(OBJPASDIR)/$(SYSUTILSUNIT) $<
         $(COMPILER) -Fi$(OBJPASDIR)/$(SYSUTILSUNIT) $<
 
 
 System.SysUtils$(PPUEXT) : $(NSINC)/System.SysUtils.pp $(SYSUTILS_DEPS)
 System.SysUtils$(PPUEXT) : $(NSINC)/System.SysUtils.pp $(SYSUTILS_DEPS)
-        $(COMPILER) -Fi$(OBJPASDIR)/sysutils $<
+        $(COMPILER) $(SYSUTILS_OPT) -Fi$(OBJPASDIR)/sysutils $<
 
 
 #
 #
 # Classes
 # Classes
@@ -1355,3 +1359,27 @@ blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
 
 
 System.BlockRtl$(PPUEXT) : $(NSINC)/System.BlockRtl.pp  $(BLOCKRTL_DEPS)
 System.BlockRtl$(PPUEXT) : $(NSINC)/System.BlockRtl.pp  $(BLOCKRTL_DEPS)
 	$(COMPILER) $(BLOCKRTL_OPT) $<
 	$(COMPILER) $(BLOCKRTL_OPT) $<
+#
+# Windows
+#
+WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) \
+             $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
+
+windows$(PPUEXT): $(WINDOWS_DEPS)
+	$(COMPILER) $(WINDOWS_OPT) $<
+
+WinApi.Windows$(PPUEXT): $(NSOSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
+        $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
+
+#
+# Windirs
+#
+WINDIRS_DEPS=windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
+             $(WINDIRS_DEPS_OS) $(WINDIRS_DEPS_CPU)
+
+windirs$(PPUEXT): $(WINDIRS_DEPS)
+	$(COMPILER) $(WINDIRS_OPT) $<
+
+WinApi.WinDirs$(PPUEXT): $(NSOSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
+        $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
+

+ 5 - 2
rtl/inc/exeinfo.pp

@@ -75,9 +75,12 @@ implementation
 {$IFDEF FPC_DOTTEDUNITS}
 {$IFDEF FPC_DOTTEDUNITS}
 uses
 uses
 {$ifdef darwin}
 {$ifdef darwin}
-  ctypes, baseunix, dl,
+  System.CTypes, UnixApi.Base, UnixApi.Dl,
 {$endif}
 {$endif}
-  System.Strings{$ifdef WinApi.Windows},WinApi.Windows{$endif WinApi.Windows};
+{$ifdef Windows}
+  WinApi.Windows,
+{$endif Windows}
+  System.Strings;
 {$ELSE FPC_DOTTEDUNITS}
 {$ELSE FPC_DOTTEDUNITS}
 uses
 uses
 {$ifdef darwin}
 {$ifdef darwin}

+ 1 - 1
rtl/objpas/fpwidestring.pp

@@ -26,7 +26,7 @@ implementation
 {$IFDEF FPC_DOTTEDUNITS}
 {$IFDEF FPC_DOTTEDUNITS}
 uses
 uses
 {$ifdef MSWINDOWS}
 {$ifdef MSWINDOWS}
-  Windows,
+  WinApi.Windows,
 {$endif MSWINDOWS}
 {$endif MSWINDOWS}
 {$ifdef Unix}
 {$ifdef Unix}
   UnixApi.CP,
   UnixApi.CP,

+ 21 - 21
rtl/objpas/types.pp

@@ -21,18 +21,18 @@ unit Types;
 {$modeswitch class}
 {$modeswitch class}
 {$if defined(win32) or defined(win64) or defined(wince)}
 {$if defined(win32) or defined(win64) or defined(wince)}
     uses
     uses
-       Windows;
+       {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows;
 {$elseif defined(win16)}
 {$elseif defined(win16)}
     uses
     uses
-       WinTypes;
+        {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}WinTypes;
 {$endif}
 {$endif}
 
 
 {$if defined(win32) or defined(win64)}
 {$if defined(win32) or defined(win64)}
 const
 const
-  RT_RCDATA = Windows.RT_RCDATA deprecated 'Use Windows.RT_RCDATA instead';
+  RT_RCDATA =  {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.RT_RCDATA deprecated 'Use Windows.RT_RCDATA instead';
 {$elseif defined(win16)}
 {$elseif defined(win16)}
 const
 const
-  RT_RCDATA = WinTypes.RT_RCDATA deprecated 'Use WinTypes.RT_RCDATA instead';
+  RT_RCDATA =  {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}WinTypes.RT_RCDATA deprecated 'Use WinTypes.RT_RCDATA instead';
 {$endif}
 {$endif}
 
 
 type
 type
@@ -87,21 +87,21 @@ type
 {$endif}
 {$endif}
 
 
 {$if defined(win32) or defined(win64) or defined(wince)}
 {$if defined(win32) or defined(win64) or defined(wince)}
-  TArray4IntegerType = Windows.TArray4IntegerType;
-  TSmallPoint = Windows.TSmallPoint;
-  PSmallPoint = Windows.PSmallPoint;
+  TArray4IntegerType = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TArray4IntegerType;
+  TSmallPoint = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TSmallPoint;
+  PSmallPoint = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.PSmallPoint;
 
 
-  TSize  = Windows.TSize;
-  TagSize  = Windows.tagSize deprecated;
-  PSize  = Windows.PSize;
+  TSize  = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TSize;
+  TagSize  = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.tagSize deprecated;
+  PSize  = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.PSize;
 
 
-  TPoint = Windows.TPoint;
-  TagPoint = Windows.TagPoint deprecated;
-  PPoint = Windows.PPoint;
+  TPoint = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TPoint;
+  TagPoint = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TagPoint deprecated;
+  PPoint = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.PPoint;
 
 
-  TRect  = Windows.TRect;
-  PRect  = Windows.PRect;
-  TSplitRectType = Windows.TSplitRectType;
+  TRect  = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TRect;
+  PRect  = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.PRect;
+  TSplitRectType = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TSplitRectType;
 const
 const
   srLeft = TSplitRectType.srLeft;
   srLeft = TSplitRectType.srLeft;
   srRight = TSplitRectType.srRight;
   srRight = TSplitRectType.srRight;
@@ -397,11 +397,11 @@ type
   PFileTime = ^TFileTime;
   PFileTime = ^TFileTime;
 {$else}
 {$else}
 type
 type
-  PCLSID    = Windows.PCLSID;
-  TCLSID    = Windows.CLSID;
-  TFiletime = Windows.TFileTime;
-  Filetime  = Windows.FileTime;
-  PFiletime = Windows.PFileTime;
+  PCLSID    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.PCLSID;
+  TCLSID    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.CLSID;
+  TFiletime = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TFileTime;
+  Filetime  = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.FileTime;
+  PFiletime = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.PFileTime;
 {$endif Windows}
 {$endif Windows}
 
 
 type
 type

+ 13 - 12
rtl/win/sysutils.pp

@@ -63,7 +63,7 @@ uses
 {$i sysutilh.inc}
 {$i sysutilh.inc}
 
 
 type
 type
-  TSystemTime = Windows.TSystemTime;
+  TSystemTime = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TSystemTime;
 
 
   EWin32Error = class(Exception)
   EWin32Error = class(Exception)
   public
   public
@@ -110,6 +110,7 @@ implementation
     windirs;
     windirs;
 {$ENDIF FPC_DOTTEDUNITS}
 {$ENDIF FPC_DOTTEDUNITS}
 
 
+
 var 
 var 
   FindExInfoDefaults : TFINDEX_INFO_LEVELS = FindExInfoStandard;
   FindExInfoDefaults : TFINDEX_INFO_LEVELS = FindExInfoStandard;
   FindFirstAdditionalFlags : DWord = 0;
   FindFirstAdditionalFlags : DWord = 0;
@@ -231,7 +232,7 @@ function ConvertEraString(Count ,Year,Month,Day : integer) : string; forward;
 function GetTempFileName(Dir,Prefix: PAnsiChar; uUnique: DWORD; TempFileName: PAnsiChar):DWORD;
 function GetTempFileName(Dir,Prefix: PAnsiChar; uUnique: DWORD; TempFileName: PAnsiChar):DWORD;
 
 
 begin
 begin
-  Result:= Windows.GetTempFileNameA(Dir,Prefix,uUnique,TempFileName);
+  Result:= {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.GetTempFileNameA(Dir,Prefix,uUnique,TempFileName);
 end;
 end;
 
 
 
 
@@ -421,7 +422,7 @@ begin
   Handle := FindFirstFileW(Pwidechar(FileName), FindData);
   Handle := FindFirstFileW(Pwidechar(FileName), FindData);
   if Handle <> INVALID_HANDLE_VALUE then
   if Handle <> INVALID_HANDLE_VALUE then
     begin
     begin
-      Windows.FindClose(Handle);
+      {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.FindClose(Handle);
       if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
       if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
         If WinToDosTime(FindData.ftLastWriteTime,tmpdtime) then
         If WinToDosTime(FindData.ftLastWriteTime,tmpdtime) then
           begin
           begin
@@ -557,7 +558,7 @@ const
                 FindExSearchNameMatch, Nil, 0);
                 FindExSearchNameMatch, Nil, 0);
     Result := Handle <> INVALID_HANDLE_VALUE;
     Result := Handle <> INVALID_HANDLE_VALUE;
     if Result then begin
     if Result then begin
-      Windows.FindClose(Handle);
+      {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.FindClose(Handle);
       Result := (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = CDirAttributes[CheckDir];
       Result := (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = CDirAttributes[CheckDir];
     end;
     end;
   end;
   end;
@@ -636,7 +637,7 @@ Procedure InternalFindClose (var Handle: THandle; var FindData: TFindData);
 begin
 begin
    if Handle <> INVALID_HANDLE_VALUE then
    if Handle <> INVALID_HANDLE_VALUE then
     begin
     begin
-    Windows.FindClose(Handle);
+    {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.FindClose(Handle);
     Handle:=INVALID_HANDLE_VALUE;
     Handle:=INVALID_HANDLE_VALUE;
     end;
     end;
 end;
 end;
@@ -877,7 +878,7 @@ end;
 
 
 Function DeleteFile (Const FileName : UnicodeString) : Boolean;
 Function DeleteFile (Const FileName : UnicodeString) : Boolean;
 begin
 begin
-  Result:=Windows.DeleteFileW(PWidechar(FileName));
+  Result:={$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.DeleteFileW(PWidechar(FileName));
 end;
 end;
 
 
 
 
@@ -976,12 +977,12 @@ end;
 
 
 Procedure GetLocalTime(var SystemTime: TSystemTime);
 Procedure GetLocalTime(var SystemTime: TSystemTime);
 begin
 begin
-  windows.Getlocaltime(SystemTime);
+  {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}windows.Getlocaltime(SystemTime);
 end;
 end;
 
 
 function GetUniversalTime(var SystemTime: TSystemTime): Boolean;
 function GetUniversalTime(var SystemTime: TSystemTime): Boolean;
 begin
 begin
-  windows.GetSystemTime(SystemTime);
+  {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}windows.GetSystemTime(SystemTime);
   Result:=True;
   Result:=True;
 end;
 end;
 
 
@@ -1083,7 +1084,7 @@ end;
 
 
 function GetTickCount: LongWord;
 function GetTickCount: LongWord;
 begin
 begin
-  Result := Windows.GetTickCount;
+  Result := {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.GetTickCount;
 end;
 end;
 
 
 
 
@@ -1106,7 +1107,7 @@ begin
     Result := WinGetTickCount64();
     Result := WinGetTickCount64();
   end else
   end else
 {$ENDIF}
 {$ENDIF}
-    Result := Windows.GetTickCount;
+    Result := {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.GetTickCount;
 end;
 end;
 
 
 
 
@@ -1296,7 +1297,7 @@ procedure GetLocaleFormatSettings(LCID: Integer; var FormatSettings: TFormatSett
   end;
   end;
 var
 var
   HF  : Shortstring;
   HF  : Shortstring;
-  LID : Windows.LCID;
+  LID : {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.LCID;
   I,Day : longint;
   I,Day : longint;
 begin
 begin
   LID := LCID;
   LID := LCID;
@@ -1673,7 +1674,7 @@ end;
 Procedure Sleep(Milliseconds : Cardinal);
 Procedure Sleep(Milliseconds : Cardinal);
 
 
 begin
 begin
-  Windows.Sleep(MilliSeconds)
+  {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.Sleep(MilliSeconds)
 end;
 end;
 
 
 Function GetLastOSError : Integer;
 Function GetLastOSError : Integer;

+ 37 - 3
rtl/win/windirs.pp

@@ -237,10 +237,10 @@ implementation
 
 
 {$IFDEF FPC_DOTTEDUNITS}
 {$IFDEF FPC_DOTTEDUNITS}
 uses
 uses
-  WinApi.Windows, System.SysUtils;
+  WinApi.Windows;
 {$ELSE FPC_DOTTEDUNITS}
 {$ELSE FPC_DOTTEDUNITS}
 uses
 uses
-  Windows, SysUtils;
+  Windows;
 {$ENDIF FPC_DOTTEDUNITS}
 {$ENDIF FPC_DOTTEDUNITS}
 
 
 type
 type
@@ -336,6 +336,40 @@ var
   _SHGetKnownFolderPathW: TSHGetKnownFolderPathW = nil;
   _SHGetKnownFolderPathW: TSHGetKnownFolderPathW = nil;
   DLLHandle: THandle = 0;
   DLLHandle: THandle = 0;
 
 
+{
+  Taken from sysutils
+}
+function StrPas(Str: PWideChar): UnicodeString;overload;
+begin
+  Result:=Str;
+end;
+
+
+function IncludeTrailingPathDelimiter(Const S : String) : String;
+
+begin
+  Result:=S;
+  if (Result='') or (Result[Length(Result)]<>DirectorySeparator) then
+    Result:=Result+DirectorySeparator;
+end;
+
+
+function IsEqualGUID(const guid1, guid2: TGUID): Boolean;
+var
+  a1,a2: PIntegerArray;
+begin
+  a1:=PIntegerArray(@guid1);
+  a2:=PIntegerArray(@guid2);
+  Result:=(a1^[0]=a2^[0]) and
+          (a1^[1]=a2^[1]) and
+          (a1^[2]=a2^[2]) and
+          (a1^[3]=a2^[3]);
+end;
+
+{
+  End of taken from Sysutils
+}
+
 procedure InitDLL;
 procedure InitDLL;
 var
 var
   DLLPath: UnicodeString;
   DLLPath: UnicodeString;
@@ -357,7 +391,7 @@ begin
   end;
   end;
   // At least one of SHGetFolderPath or SHGetKnownFolderPath functions is required
   // At least one of SHGetFolderPath or SHGetKnownFolderPath functions is required
   if (@_SHGetFolderPathW = nil) and (@_SHGetKnownFolderPathW = nil) then
   if (@_SHGetFolderPathW = nil) and (@_SHGetKnownFolderPathW = nil) then
-    raise Exception.Create('Could not locate '+SSHGetFolderPathW+' / '+SSHGetKnownFolderPathW+' functions');
+    runError(6); // raise Exception.Create('Could not locate '+SSHGetFolderPathW+' / '+SSHGetKnownFolderPathW+' functions');
 end;
 end;
 
 
 procedure FinitDLL;
 procedure FinitDLL;

+ 4 - 4
rtl/win/wininc/base.inc

@@ -552,9 +552,9 @@
   { argument types are unknown }
   { argument types are unknown }
   function MAKEWPARAM(l,h : longint) : WPARAM; inline;
   function MAKEWPARAM(l,h : longint) : WPARAM; inline;
 
 
-  function GET_X_LPARAM(lp : Windows.LParam) : longint; inline;
+  function GET_X_LPARAM(lp : {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.LParam) : longint; inline;
 
 
-  function GET_Y_LPARAM(lp : Windows.LParam) : longint; inline;
+  function GET_Y_LPARAM(lp : {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.LParam) : longint; inline;
 
 
   {$ifndef max}
   {$ifndef max}
   { was #define dname(params) def_expr }
   { was #define dname(params) def_expr }
@@ -1047,12 +1047,12 @@ type
        MAKEWPARAM:=WPARAM(MAKELONG(l,h));
        MAKEWPARAM:=WPARAM(MAKELONG(l,h));
     end;
     end;
 
 
-  function GET_X_LPARAM(lp : Windows.LParam) : longint;
+  function GET_X_LPARAM(lp : {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.LParam) : longint;
     begin
     begin
       result:=smallint(LOWORD(lp));
       result:=smallint(LOWORD(lp));
     end;
     end;
 
 
-  function GET_Y_LPARAM(lp : Windows.LParam) : longint;
+  function GET_Y_LPARAM(lp : {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.LParam) : longint;
     begin
     begin
       result:=smallint(HIWORD(lp));
       result:=smallint(HIWORD(lp));
     end;
     end;

+ 80 - 80
rtl/win/wininc/messages.inc

@@ -1208,96 +1208,96 @@
   Type
   Type
 {$ifdef MESSAGESUNIT}
 {$ifdef MESSAGESUNIT}
 
 
-    MSG                 = Windows.MSG;
-    TMessage            = Windows.TMessage;
-    TWMSize             = Windows.TWMSize;
-    TWMNoParams         = Windows.TWMNoParams;
-    TWMKey              = Windows.TWMKey;
-    TWMMenuChar         = Windows.TWMMenuChar;
-    TWMScroll           = Windows.TWMScroll;
-    TWMGetText          = Windows.TWMGetText;
-    TWMKillFocus        = Windows.TWMKillFocus;
-    TWMSetCursor        = Windows.TWMSetCursor;
-    TWMSetFocus         = Windows.TWMSetFocus;
-    TWMSetFont          = Windows.TWMSetFont;
-    TWMShowWindow       = Windows.TWMShowWindow;
-    TWMEraseBkgnd       = Windows.TWMEraseBkgnd;
+    MSG                 = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.MSG;
+    TMessage            = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TMessage;
+    TWMSize             = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSize;
+    TWMNoParams         = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNoParams;
+    TWMKey              = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMKey;
+    TWMMenuChar         = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMMenuChar;
+    TWMScroll           = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMScroll;
+    TWMGetText          = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMGetText;
+    TWMKillFocus        = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMKillFocus;
+    TWMSetCursor        = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSetCursor;
+    TWMSetFocus         = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSetFocus;
+    TWMSetFont          = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSetFont;
+    TWMShowWindow       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMShowWindow;
+    TWMEraseBkgnd       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMEraseBkgnd;
     TWMIconEraseBkgnd   = TWMEraseBkgnd;
     TWMIconEraseBkgnd   = TWMEraseBkgnd;
-    LPMSG               = ^Windows.MSG;
-    tagMSG              = Windows.tagMSG;
-    TMSG                = Windows.TMSG;
-    PMSG                = Windows.PMSG;
-    PMessage            = Windows.PMessage;
+    LPMSG               = ^{$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.MSG;
+    tagMSG              = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.tagMSG;
+    TMSG                = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TMSG;
+    PMSG                = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.PMSG;
+    PMessage            = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.PMessage;
     TWMGetDlgCode       = TWMNoParams;
     TWMGetDlgCode       = TWMNoParams;
     TWMFontChange       = TWMNoParams;
     TWMFontChange       = TWMNoParams;
     TWMGetFont          = TWMNoParams;
     TWMGetFont          = TWMNoParams;
     TWMHScroll          = TWMScroll;
     TWMHScroll          = TWMScroll;
     TWMVScroll          = TWMScroll;
     TWMVScroll          = TWMScroll;
     TWMGetTextLength    = TWMNoParams;
     TWMGetTextLength    = TWMNoParams;
-    TWMUIState          = Windows.TWMUIState;
-    TWMNCHitTest        = Windows.TWMNCHitTest;
-    TWMMouse            = Windows.TWMMouse;
-    TWMMouseWheel       = Windows.TWMMouseWheel;
-    TWMNCHitMessage     = Windows.TWMNCHitMessage;
-    TWMPaint            = Windows.TWMPaint;
-    TWMCommand          = Windows.TWMCommand;
-    TWMNotify           = Windows.TWMNotify;
-    TWMPrint            = Windows.TWMPrint;
-    TWMWinIniChange     = Windows.TWMWinIniChange;
-    TWMContextMenu      = Windows.TWMContextMenu;
-    TWMNCCalcSize       = Windows.TWMNCCalcSize;
-    TWMCharToItem       = Windows.TWMCharToItem;
-    TWMParentNotify     = Windows.TWMParentNotify;
-    TWMSysCommand       = Windows.TWMSysCommand;
-    TWMMove             = Windows.TWMMove;
-    TWMWindowPosMsg     = Windows.TWMWindowPosMsg;
-    TWMCompareItem      = Windows.TWMCompareItem;
-    TWMDeleteItem       = Windows.TWMDeleteItem;
-    TWMDrawItem         = Windows.TWMDrawItem;
-    TWMMeasureItem      = Windows.TWMMeasureItem;
-    TWMNCCreate         = Windows.TWMNCCreate;
-    TWMInitMenuPopup    = Windows.TWMInitMenuPopup;
-    TWMMenuSelect       = Windows.TWMMenuSelect;
-    TWMActivate         = Windows.TWMActivate;
-    TWMQueryEndSession  = Windows.TWMQueryEndSession;
-    TWMMDIActivate      = Windows.TWMMDIActivate;
-    TWMNextDlgCtl       = Windows.TWMNextDlgCtl;
-    TWMHelp             = Windows.TWMHelp;
-    TWMGetMinMaxInfo    = Windows.TWMGetMinMaxInfo;
-    TWMSettingChange    = Windows.TWMSettingChange;
-    TWMCreate           = Windows.TWMCreate;
-    TWMCtlColor         = Windows.TWMCtlColor;
-    TWMInitDialog       = Windows.TWMInitDialog;
-    TWMNCPaint          = Windows.TWMNCPaint;
-    TWMSetText          = Windows.TWMSetText;
-    TWMSizeClipboard    = Windows.TWMSizeClipboard;
-    TWMSpoolerStatus    = Windows.TWMSpoolerStatus;
-    TWMStyleChange      = Windows.TWMStyleChange;
-    TWMSysDeadChar      = Windows.TWMSysDeadChar;
-    TWMSystemError      = Windows.TWMSystemError;
-    TWMTimer            = Windows.TWMTimer;
-    TWMVScrollClipboard = Windows.TWMVScrollClipboard;
-    TWMDisplayChange    = Windows.TWMDisplayChange;
-    TWMDropFiles        = Windows.TWMDropFiles;
-    TWMEnable           = Windows.TWMEnable;
-    TWMMouseActivate    = Windows.TWMMouseActivate;
-    TWMEndSession       = Windows.TWMEndSession;
-    TWMActivateApp      = Windows.TWMActivateApp;
-    TWMCancelMode       = Windows.TWMCancelMode;
-    TWMNCDestroy        = Windows.TWMNCDestroy;
-    TWMDestroy          = Windows.TWMDestroy;
-    TWMClose            = Windows.TWMClose;
-    TWMQueryUIState     = Windows.TWMQueryUIState;
-    TWMSysColorChange   = Windows.TWMSysColorChange;
-    TWMQueryDragIcon    = Windows.TWMQueryDragIcon;
-    TWMTimeChange       = Windows.TWMTimeChange;
-    TWMUndo             = Windows.TWMUndo;
+    TWMUIState          = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMUIState;
+    TWMNCHitTest        = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNCHitTest;
+    TWMMouse            = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMMouse;
+    TWMMouseWheel       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMMouseWheel;
+    TWMNCHitMessage     = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNCHitMessage;
+    TWMPaint            = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMPaint;
+    TWMCommand          = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMCommand;
+    TWMNotify           = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNotify;
+    TWMPrint            = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMPrint;
+    TWMWinIniChange     = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMWinIniChange;
+    TWMContextMenu      = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMContextMenu;
+    TWMNCCalcSize       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNCCalcSize;
+    TWMCharToItem       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMCharToItem;
+    TWMParentNotify     = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMParentNotify;
+    TWMSysCommand       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSysCommand;
+    TWMMove             = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMMove;
+    TWMWindowPosMsg     = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMWindowPosMsg;
+    TWMCompareItem      = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMCompareItem;
+    TWMDeleteItem       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMDeleteItem;
+    TWMDrawItem         = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMDrawItem;
+    TWMMeasureItem      = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMMeasureItem;
+    TWMNCCreate         = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNCCreate;
+    TWMInitMenuPopup    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMInitMenuPopup;
+    TWMMenuSelect       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMMenuSelect;
+    TWMActivate         = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMActivate;
+    TWMQueryEndSession  = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMQueryEndSession;
+    TWMMDIActivate      = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMMDIActivate;
+    TWMNextDlgCtl       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNextDlgCtl;
+    TWMHelp             = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMHelp;
+    TWMGetMinMaxInfo    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMGetMinMaxInfo;
+    TWMSettingChange    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSettingChange;
+    TWMCreate           = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMCreate;
+    TWMCtlColor         = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMCtlColor;
+    TWMInitDialog       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMInitDialog;
+    TWMNCPaint          = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNCPaint;
+    TWMSetText          = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSetText;
+    TWMSizeClipboard    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSizeClipboard;
+    TWMSpoolerStatus    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSpoolerStatus;
+    TWMStyleChange      = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMStyleChange;
+    TWMSysDeadChar      = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSysDeadChar;
+    TWMSystemError      = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSystemError;
+    TWMTimer            = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMTimer;
+    TWMVScrollClipboard = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMVScrollClipboard;
+    TWMDisplayChange    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMDisplayChange;
+    TWMDropFiles        = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMDropFiles;
+    TWMEnable           = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMEnable;
+    TWMMouseActivate    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMMouseActivate;
+    TWMEndSession       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMEndSession;
+    TWMActivateApp      = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMActivateApp;
+    TWMCancelMode       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMCancelMode;
+    TWMNCDestroy        = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMNCDestroy;
+    TWMDestroy          = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMDestroy;
+    TWMClose            = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMClose;
+    TWMQueryUIState     = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMQueryUIState;
+    TWMSysColorChange   = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMSysColorChange;
+    TWMQueryDragIcon    = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMQueryDragIcon;
+    TWMTimeChange       = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMTimeChange;
+    TWMUndo             = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMUndo;
     TWMWindowPosChanged = TWMWindowPosMsg;
     TWMWindowPosChanged = TWMWindowPosMsg;
     TWMWindowPosChanging= TWMWindowPosMsg;
     TWMWindowPosChanging= TWMWindowPosMsg;
 
 
-    TWMPaste            = Windows.TWMPaste;
-    TWMCut              = Windows.TWMCut;
-    TWMCopy             = Windows.TWMCopy;
+    TWMPaste            = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMPaste;
+    TWMCut              = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMCut;
+    TWMCopy             = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.TWMCopy;
 {$else}
 {$else}
 
 
      HALFLRESULT   = WORD;     // in win64, these remain 16-bit. the extra room is unused.
      HALFLRESULT   = WORD;     // in win64, these remain 16-bit. the extra room is unused.

+ 1 - 1
rtl/win/wininc/struct.inc

@@ -9214,7 +9214,7 @@ type
 type
 type
      tagMENUBARINFO = record
      tagMENUBARINFO = record
        cbSize:DWORD;
        cbSize:DWORD;
-       rcBar:Windows.RECT; // rect of bar, popup, item
+       rcBar: {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.RECT; // rect of bar, popup, item
        _hmenu:HMENU;       // real menu handle of bar, popup
        _hmenu:HMENU;       // real menu handle of bar, popup
        hwndMenu:HWND;      // hwnd of item submenu if one
        hwndMenu:HWND;      // hwnd of item submenu if one
 //    fBarFocused:1:BOOL;  // bar, popup has the focus
 //    fBarFocused:1:BOOL;  // bar, popup has the focus

File diff suppressed because it is too large
+ 659 - 2116
rtl/win64/Makefile


+ 36 - 35
rtl/win64/Makefile.fpc

@@ -7,23 +7,23 @@ main=rtl
 
 
 [target]
 [target]
 loaders=$(LOADERS)
 loaders=$(LOADERS)
-units=system uuchar objpas macpas iso7185 buildrtl cpall lineinfo lnfodwrf
-implicitunits=sysinit ctypes strings \
+units=system uuchar objpas macpas $(ISO7185UNIT) buildrtl $(CPALLUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT)
+implicitunits=sysinit $(CTYPESUNIT) $(STRINGSUNIT) \
       extpas \
       extpas \
       heaptrc \
       heaptrc \
-      dos messages \
-      windows cmem dynlibs \
-      rtlconsts sysconst sysutils math types \
-      typinfo sortbase fgl classes getopts \
-      charset character fpwidestring \
-      sharemem exeinfo fpintres windirs \
-      softfpu sfpux80 ufloatx80 sfpu128 ufloat128 \
-      cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 \
-      cp437 cp646 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp860 cp861 cp862 \
-      cp863 cp864 cp865 cp866 cp869 cp874 cp3021 cp8859_1 cp8859_2 cp8859_3 cp8859_4 \
-      cp8859_5 cp8859_6 cp8859_7 cp8859_8 cp8859_9 cp8859_10 cp8859_11 \
-      cp8859_13 cp8859_14 cp8859_15 cp8859_16 cpkoi8_r cpkoi8_u \
-      unicodedata \
+      $(DOSUNIT) $(MESSAGESUNIT) \
+      $(WINDOWSUNIT) $(CMEMUNIT) $(DYNLIBSUNIT) \
+      $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(MATHUNIT) $(TYPESUNIT) \
+      $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(GETOPTSUNIT) \
+      $(CHARSETUNIT) $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) \
+      $(SHAREMEMUNIT) $(EXEINFOUNIT) fpintres $(WINDIRSUNIT) \
+      $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) \
+      $(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
+      $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) \
+      $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) \
+      $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) \
+      $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT) \
+      $(UNICODEDATAUNIT) \
       $(CPU_UNITS)
       $(CPU_UNITS)
 
 
 # mmx
 # mmx
@@ -61,6 +61,11 @@ COMMON=$(RTL)/common
 PROCINC=$(RTL)/$(CPU_TARGET)
 PROCINC=$(RTL)/$(CPU_TARGET)
 WININC=../win/wininc
 WININC=../win/wininc
 WINDIR=../win
 WINDIR=../win
+OSDIR=win64
+NSOSDIR=$(NSDIR)/windows
+SYSUTILSDIR=$(WINDIR)
+SYSUTILS_OPT=-Fi../win
+SYSUTILS_DEPS_OS=$(WINDOWSUNIT)$(PPUEXT) $(WINDIRSUNIT)$(PPUEXT)
 
 
 UNITPREFIX=rtl
 UNITPREFIX=rtl
 SYSTEMUNIT=system
 SYSTEMUNIT=system
@@ -101,35 +106,31 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 # Put system unit dependencies together.
 # Put system unit dependencies together.
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 
 
+BUILDINCLUDEPATHS= -Fi$(OBJPASDIR)/sysutils -Fi$(WINDIR) -Fi$(OBJPASDIR) \
+                   -Fi$(OBJPASDIR)/classes -Fi$(WININC) -Fi$(INC)
+
+BUILDUNITPATHS=-Fu$(WININC) -Fu$(WINDIR) -Fu$(INC) -Fu$(OBJPASDIR) 
+
+ifdef FPC_DOTTEDUNITS
+BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS
+endif
 
 
 #
 #
 # Unit specific rules
 # Unit specific rules
 #
 #
 
 
-system$(PPUEXT) : system.pp $(SYSDEPS)
-        $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp -Fi../win
-
-uuchar$(PPUEXT) : system$(PPUEXT) $(INC)/uuchar.pp
-        $(COMPILER) $(INC)/uuchar.pp
-
-objpas$(PPUEXT) : $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
-        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
 
 
-macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) buildrtl$(PPUEXT) system$(PPUEXT)
-        $(COMPILER) $(INC)/macpas.pp $(REDIR)
+SYSTEM_DEPS=system.pp $(SYSDEPS)\
+            $(SYSTEM_DEPS_OS) $(SYSTEM_DEPS_CPU)
 
 
-buildrtl$(PPUEXT) : buildrtl.pp system$(PPUEXT) objpas$(PPUEXT)
-        $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(WINDIR) -I$(OBJPASDIR) -I$(WININC) -Fu$(WININC) -Fu$(WINDIR) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
+system$(PPUEXT) : $(SYSTEM_DEPS)
+	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $< -Fi../win
 
 
-cpall$(PPUEXT) : $(RTL)/charmaps/cpall.pas system$(PPUEXT) objpas$(PPUEXT)
-        $(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas
 
 
-iso7185$(PPUEXT) : $(INC)/iso7185.pp system$(PPUEXT)
-        $(COMPILER) $(INC)/iso7185.pp
+BUILDRTL_DEPS=buildrtl.pp system$(PPUEXT) objpas$(PPUEXT)\
+              $(BUILDRTL_DEPS_OS) $(BUILDRTL_DEPS_CPU)
 
 
-lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT) buildrtl$(PPUEXT)
-	$(COMPILER) $(INC)/lineinfo.pp
+buildrtl$(PPUEXT) : $(BUILDRTL_DEPS)
+	$(COMPILER) $(BUILDUNITPATHS) $(BUILDINCLUDEPATHS) $(BUILDRTL_OPT) $<
 
 
-lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp system$(PPUEXT) buildrtl$(PPUEXT)
-	$(COMPILER) $(INC)/lnfodwrf.pp
 
 

Some files were not shown because too many files changed in this diff