Prechádzať zdrojové kódy

+ more units for win64
* windows units reorganisation

git-svn-id: trunk@3257 -

florian 19 rokov pred
rodič
commit
4866975145

+ 10 - 10
.gitattributes

@@ -4529,7 +4529,14 @@ rtl/watcom/system.pp svneol=native#text/plain
 rtl/watcom/sysutils.pp svneol=native#text/plain
 rtl/watcom/varutils.pp svneol=native#text/plain
 rtl/watcom/watcom.pp svneol=native#text/plain
+rtl/win/crt.pp svneol=native#text/plain
 rtl/win/dos.pp svneol=native#text/plain
+rtl/win/dynlibs.inc svneol=native#text/plain
+rtl/win/keyboard.pp svneol=native#text/plain
+rtl/win/messages.pp svneol=native#text/plain
+rtl/win/mouse.pp svneol=native#text/plain
+rtl/win/printer.pp svneol=native#text/plain
+rtl/win/sockets.pp svneol=native#text/plain
 rtl/win/sysdir.inc svneol=native#text/plain
 rtl/win/sysfile.inc svneol=native#text/plain
 rtl/win/sysheap.inc svneol=native#text/plain
@@ -4539,6 +4546,8 @@ rtl/win/systhrd.inc svneol=native#text/plain
 rtl/win/sysutils.pp svneol=native#text/plain
 rtl/win/tthread.inc svneol=native#text/plain
 rtl/win/varutils.pp svneol=native#text/plain
+rtl/win/video.pp svneol=native#text/plain
+rtl/win/winevent.pp svneol=native#text/plain
 rtl/win/wininc/Makefile svneol=native#text/plain
 rtl/win/wininc/ascdef.inc svneol=native#text/plain
 rtl/win/wininc/ascdef.sed -text
@@ -4555,28 +4564,19 @@ rtl/win/wininc/unidef.inc svneol=native#text/plain
 rtl/win/wininc/unidef.sed -text
 rtl/win/wininc/unifun.inc svneol=native#text/plain
 rtl/win/winsock.pp svneol=native#text/plain
+rtl/win/winsock2.pp svneol=native#text/plain
 rtl/win32/Makefile svneol=native#text/plain
 rtl/win32/Makefile.fpc svneol=native#text/plain
 rtl/win32/classes.pp svneol=native#text/plain
-rtl/win32/crt.pp svneol=native#text/plain
-rtl/win32/dynlibs.inc svneol=native#text/plain
 rtl/win32/gprt0.as -text
 rtl/win32/initc.pp svneol=native#text/plain
-rtl/win32/keyboard.pp svneol=native#text/plain
-rtl/win32/messages.pp svneol=native#text/plain
-rtl/win32/mouse.pp svneol=native#text/plain
 rtl/win32/objinc.inc svneol=native#text/plain
-rtl/win32/printer.pp svneol=native#text/plain
 rtl/win32/signals.pp svneol=native#text/plain
-rtl/win32/sockets.pp svneol=native#text/plain
 rtl/win32/system.pp svneol=native#text/plain
-rtl/win32/video.pp svneol=native#text/plain
 rtl/win32/wcygprt0.as -text
 rtl/win32/wdllprt0.as -text
 rtl/win32/win32res.inc svneol=native#text/plain
 rtl/win32/windows.pp svneol=native#text/plain
-rtl/win32/winevent.pp svneol=native#text/plain
-rtl/win32/winsock2.pp svneol=native#text/plain
 rtl/win32/winsysut.pp svneol=native#text/plain
 rtl/win32/wprt0.as -text
 rtl/win32/wprt0_10.as -text

+ 0 - 0
rtl/win32/crt.pp → rtl/win/crt.pp


+ 0 - 0
rtl/win32/dynlibs.inc → rtl/win/dynlibs.inc


+ 0 - 0
rtl/win32/keyboard.pp → rtl/win/keyboard.pp


+ 0 - 0
rtl/win32/messages.pp → rtl/win/messages.pp


+ 0 - 0
rtl/win32/mouse.pp → rtl/win/mouse.pp


+ 0 - 0
rtl/win32/printer.pp → rtl/win/printer.pp


+ 0 - 0
rtl/win32/sockets.pp → rtl/win/sockets.pp


+ 1 - 0
rtl/win/sysdir.inc

@@ -28,6 +28,7 @@ begin
   move(s[1],buffer,length(s));
   buffer[length(s)]:=#0;
   AllowSlash(pchar(@buffer));
+  writeln(buffer);
   if not aFunc(@buffer) then
     begin
       errno:=GetLastError;

+ 0 - 0
rtl/win32/video.pp → rtl/win/video.pp


+ 0 - 0
rtl/win32/winevent.pp → rtl/win/winevent.pp


+ 0 - 0
rtl/win32/winsock2.pp → rtl/win/winsock2.pp


+ 13 - 2
rtl/win32/Makefile.fpc

@@ -110,8 +110,8 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
 windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) system$(PPUEXT)
         $(COMPILER) -I$(WININC) windows.pp
 
-messages$(PPUEXT): messages.pp $(WININC)/messages.inc system$(PPUEXT)
-        $(COMPILER) -I$(WININC) messages.pp
+messages$(PPUEXT): $(WINDIR)/messages.pp $(WININC)/messages.inc system$(PPUEXT)
+        $(COMPILER) -I$(WININC) $(WINDIR)/messages.pp
 
 opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) system$(PPUEXT)
 
@@ -126,6 +126,7 @@ sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) winsock2$(PPUEXT
 initc$(PPUEXT) : initc.pp system$(PPUEXT)
 
 dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
+	$(COMPILER) -I$(WINDIR) $(INC)/dynlibs.pp
 
 #
 # TP7 Compatible RTL Units
@@ -138,6 +139,8 @@ crt$(PPUEXT) : crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PP
 
 objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT)
 
+printer$(PPUEXT) : $(WINDIR)/printer.pp system$(PPUEXT)
+	$(COMPILER) $(WINDIR)/printer.pp
 
 #
 # Delphi Compatible Units
@@ -224,3 +227,11 @@ callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
 ctypes$(PPUEXT) :  $(INC)/ctypes.pp system$(PPUEXT)
 
 variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT)
+
+winevent$(PPUEXT) : $(WINDIR)/winevent.pp windows$(PPUEXT)
+
+video$(PPUEXT) : $(WINDIR)/video.pp windows$(PPUEXT) dos$(PPUEXT)
+
+mouse$(PPUEXT) : $(WINDIR)/mouse.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT)
+
+keyboard$(PPUEXT) : $(WINDIR)/keyboard.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT)

+ 64 - 59
rtl/win64/Makefile

@@ -246,121 +246,121 @@ endif
 OBJPASDIR=$(RTL)/objpas
 WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts
+override TARGET_UNITS+=system ctypes objpas macpas strings lineinfo heaptrc matrix dos objects windows winsock winsock2 cmem rtlconsts sysconst sysutils math types strutils convutils dateutils varutils variants typinfo classes getopts sockets printer charset ucomplex winevent video mouse keyboard dynlibs crt messages fpmkunit
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_LOADERS+=$(LOADERS)
@@ -2101,39 +2101,40 @@ system$(PPUEXT) : system.pp $(SYSDEPS)
 	$(COMPILER) -Us -Sg system.pp -Fi../win
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
 	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
-strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
-		   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
+strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
+		   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
 		   system$(PPUEXT)
 windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) system$(PPUEXT)
 	$(COMPILER) -I$(WININC) windows.pp
-messages$(PPUEXT): messages.pp $(WININC)/messages.inc system$(PPUEXT)
-	$(COMPILER) -I$(WININC) messages.pp
+messages$(PPUEXT): $(WINDIR)/messages.pp $(WININC)/messages.inc system$(PPUEXT)
+	$(COMPILER) -I$(WININC) $(WINDIR)/messages.pp
 opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) system$(PPUEXT)
 winsock$(PPUEXT) : $(WINDIR)/winsock.pp windows$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(WINDIR)/winsock.pp
-sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) system$(PPUEXT) \
+winsock2$(PPUEXT) : $(WINDIR)/winsock2.pp windows$(PPUEXT) system$(PPUEXT)
+sockets$(PPUEXT) : $(WINDIR)/sockets.pp windows$(PPUEXT) winsock$(PPUEXT) system$(PPUEXT) \
 		   $(INC)/sockets.inc $(INC)/socketsh.inc
 dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
+	$(COMPILER) -I$(WINDIR) $(INC)/dynlibs.pp
 dos$(PPUEXT) : $(WINDIR)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) system$(PPUEXT)
 	$(COMPILER) $(WINDIR)/dos.pp
-crt$(PPUEXT) : crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
-objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT) dos$(PPUEXT)
+crt$(PPUEXT) : $(WINDIR)/crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
+objects$(PPUEXT) : $(INC)/objects.pp dos$(PPUEXT) strings$(PPUEXT) system$(PPUEXT)
+printer$(PPUEXT) : $(WINDIR)/printer.pp system$(PPUEXT)
 sysutils$(PPUEXT) : $(WINDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
-		    objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT)
+		    objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT) system$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils $(WINDIR)/sysutils.pp
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
-		   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) sysconst$(PPUEXT)
+		   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) sysconst$(PPUEXT) system$(PPUEXT)
 	$(COMPILER) -Fi../win -Fi$(OBJPASDIR)/classes classes.pp
-winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT)
-	$(COMPILER) winsysut.pp
-typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
+winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT) system$(PPUEXT)
+typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) system$(PPUEXT)
 	$(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
-math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
+math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) system$(PPUEXT)
 	$(COMPILER) $(OBJPASDIR)/math.pp
 varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
 		    $(OBJPASDIR)/varutilh.inc $(WINDIR)/varutils.pp sysutils$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR) $(WINDIR)/varutils.pp
-variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
+variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) system$(PPUEXT)
 	$(COMPILER) -Fi$(INC) $(INC)/variants.pp
 types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) system$(PPUEXT)
 	$(COMPILER) $(OBJPASDIR)/types.pp
@@ -2141,11 +2142,11 @@ rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp
 	$(COMPILER) $(OBJPASDIR)/rtlconsts.pp
 sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT)
 	$(COMPILER) $(OBJPASDIR)/sysconst.pp
-dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp
+dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp system$(PPUEXT)
 	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
-convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp
+convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp system$(PPUEXT)
 	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp
-strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp
+strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp system$(PPUEXT)
 	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp
 macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT)
 	$(COMPILER) $(INC)/macpas.pp $(REDIR)
@@ -2158,7 +2159,11 @@ lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT)
 charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT)
 cmem$(PPUEXT) : $(INC)/cmem.pp system$(PPUEXT)
 ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
-fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT)
+fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT) system$(PPUEXT)
 callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
 ctypes$(PPUEXT) :  $(INC)/ctypes.pp system$(PPUEXT)
-variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT)
+variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT) system$(PPUEXT)
+winevent$(PPUEXT) : $(WINDIR)/winevent.pp windows$(PPUEXT) system$(PPUEXT)
+video$(PPUEXT) : $(WINDIR)/video.pp windows$(PPUEXT) dos$(PPUEXT) system$(PPUEXT)
+mouse$(PPUEXT) : $(WINDIR)/mouse.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT) system$(PPUEXT)
+keyboard$(PPUEXT) : $(WINDIR)/keyboard.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT) system$(PPUEXT)

+ 39 - 28
rtl/win64/Makefile.fpc

@@ -10,15 +10,16 @@ loaders=$(LOADERS)
 units=system ctypes objpas macpas strings \
       lineinfo heaptrc matrix \
       dos objects \
-      windows winsock cmem \
+      windows winsock winsock2 cmem \
       rtlconsts sysconst sysutils math types \
       strutils convutils dateutils \
-      varutils variants typinfo classes getopts
-#      winsysut fpmkunit
-#      cpu mmx charset ucomplex \
-#      winevent sockets printer \
-#      video mouse keyboard \
-#      dynlibs signals crt messages \
+      varutils variants typinfo classes getopts \
+      sockets printer charset ucomplex \
+      winevent video mouse keyboard \
+      dynlibs crt messages \
+      fpmkunit
+#     winsysut signals
+#     cpu mmx
 #     no cygwin so far
 #	initc
 
@@ -103,8 +104,8 @@ system$(PPUEXT) : system.pp $(SYSDEPS)
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
         $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
 
-strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
-                   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
+strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
+                   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
                    system$(PPUEXT)
 
 #
@@ -114,59 +115,61 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
 windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) system$(PPUEXT)
         $(COMPILER) -I$(WININC) windows.pp
 
-messages$(PPUEXT): messages.pp $(WININC)/messages.inc system$(PPUEXT)
-        $(COMPILER) -I$(WININC) messages.pp
+messages$(PPUEXT): $(WINDIR)/messages.pp $(WININC)/messages.inc system$(PPUEXT)
+        $(COMPILER) -I$(WININC) $(WINDIR)/messages.pp
 
 opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) system$(PPUEXT)
 
 winsock$(PPUEXT) : $(WINDIR)/winsock.pp windows$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(WINDIR)/winsock.pp
 
-sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) system$(PPUEXT) \
+winsock2$(PPUEXT) : $(WINDIR)/winsock2.pp windows$(PPUEXT) system$(PPUEXT)
+
+sockets$(PPUEXT) : $(WINDIR)/sockets.pp windows$(PPUEXT) winsock$(PPUEXT) system$(PPUEXT) \
                    $(INC)/sockets.inc $(INC)/socketsh.inc
 
 # initc$(PPUEXT) : initc.pp system$(PPUEXT)
 
 dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
+	$(COMPILER) -I$(WINDIR) $(INC)/dynlibs.pp
 
 #
 # TP7 Compatible RTL Units
 #
 
 dos$(PPUEXT) : $(WINDIR)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) system$(PPUEXT)
-	$(COMPILER) $(WINDIR)/dos.pp
+        $(COMPILER) $(WINDIR)/dos.pp
 
-crt$(PPUEXT) : crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
+crt$(PPUEXT) : $(WINDIR)/crt.pp $(INC)/textrec.inc system$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
 
-objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT) dos$(PPUEXT)
+objects$(PPUEXT) : $(INC)/objects.pp dos$(PPUEXT) strings$(PPUEXT) system$(PPUEXT)
 
+printer$(PPUEXT) : $(WINDIR)/printer.pp system$(PPUEXT)
 
 #
 # Delphi Compatible Units
 #
 
 sysutils$(PPUEXT) : $(WINDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
-                    objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT)
+                    objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT) system$(PPUEXT)
         $(COMPILER) -Fi$(OBJPASDIR)/sysutils $(WINDIR)/sysutils.pp
 
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
-                   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) sysconst$(PPUEXT)
+                   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) sysconst$(PPUEXT) system$(PPUEXT)
         $(COMPILER) -Fi../win -Fi$(OBJPASDIR)/classes classes.pp
 
-winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT)
-        $(COMPILER) winsysut.pp
+winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT) system$(PPUEXT)
 
-typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
+typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) system$(PPUEXT)
         $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
 
-math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
+math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) system$(PPUEXT)
         $(COMPILER) $(OBJPASDIR)/math.pp
 
 varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
                     $(OBJPASDIR)/varutilh.inc $(WINDIR)/varutils.pp sysutils$(PPUEXT)
         $(COMPILER) -Fi$(OBJPASDIR) $(WINDIR)/varutils.pp
 
-variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
+variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) system$(PPUEXT)
         $(COMPILER) -Fi$(INC) $(INC)/variants.pp
 
 types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) system$(PPUEXT)
@@ -178,13 +181,13 @@ rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp
 sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT)
         $(COMPILER) $(OBJPASDIR)/sysconst.pp
 
-dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp
+dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp system$(PPUEXT)
         $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
 
-convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp
+convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp system$(PPUEXT)
         $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp
 
-strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp
+strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp system$(PPUEXT)
         $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp
 
 #
@@ -215,7 +218,7 @@ cmem$(PPUEXT) : $(INC)/cmem.pp system$(PPUEXT)
 
 ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
 
-fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT)
+fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT) system$(PPUEXT)
 
 #
 # Other system-dependent RTL Units
@@ -225,4 +228,12 @@ callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
 
 ctypes$(PPUEXT) :  $(INC)/ctypes.pp system$(PPUEXT)
 
-variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT)
+variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) typinfo$(PPUEXT) system$(PPUEXT)
+
+winevent$(PPUEXT) : $(WINDIR)/winevent.pp windows$(PPUEXT) system$(PPUEXT)
+
+video$(PPUEXT) : $(WINDIR)/video.pp windows$(PPUEXT) dos$(PPUEXT) system$(PPUEXT)
+
+mouse$(PPUEXT) : $(WINDIR)/mouse.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT) system$(PPUEXT)
+
+keyboard$(PPUEXT) : $(WINDIR)/keyboard.pp windows$(PPUEXT) dos$(PPUEXT) winevent$(PPUEXT) system$(PPUEXT)