Browse Source

+ more units for winx64

git-svn-id: trunk@3226 -
florian 19 years ago
parent
commit
4084c4261d

+ 2 - 1
.gitattributes

@@ -4536,6 +4536,7 @@ rtl/win/sysos.inc svneol=native#text/plain
 rtl/win/sysosh.inc svneol=native#text/plain
 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/wininc/Makefile svneol=native#text/plain
 rtl/win/wininc/ascdef.inc svneol=native#text/plain
@@ -4568,7 +4569,6 @@ 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/tthread.inc svneol=native#text/plain
 rtl/win32/video.pp svneol=native#text/plain
 rtl/win32/wcygprt0.as -text
 rtl/win32/wdllprt0.as -text
@@ -4581,6 +4581,7 @@ rtl/win32/wprt0.as -text
 rtl/win32/wprt0_10.as -text
 rtl/win64/Makefile svneol=native#text/plain
 rtl/win64/Makefile.fpc svneol=native#text/plain
+rtl/win64/classes.pp svneol=native#text/plain
 rtl/win64/system.pp svneol=native#text/plain
 rtl/win64/windows.pp svneol=native#text/plain
 rtl/wince/Makefile svneol=native#text/plain

+ 1 - 1
rtl/inc/varianth.inc

@@ -54,7 +54,7 @@ type
    pvararray = ^tvararray;
 
    tvararraybound = packed record
-     elementcount,lowbound  : SizeInt;
+     elementcount,lowbound  : longint;
    end;
 
    tvararrayboundarray = array[0..0] of tvararraybound;

+ 5 - 5
rtl/objpas/varutilh.inc

@@ -27,18 +27,18 @@ function VariantInit(var Varg: TVarData): HRESULT; stdcall;
 
 function SafeArrayAccessData(psa: PVarArray; var ppvdata: Pointer): HRESULT; stdcall;
 function SafeArrayAllocData(psa: PVarArray): HRESULT; stdcall;
-function SafeArrayAllocDescriptor(DimCount: SizeInt; var psa: PVarArray): HRESULT; stdcall;
+function SafeArrayAllocDescriptor(DimCount: longword; var psa: PVarArray): HRESULT; stdcall;
 function SafeArrayCopy(psa: PVarArray; var psaout: PVarArray): HRESULT; stdcall;
 function SafeArrayCopyData(psa, psaOut: PVarArray): HRESULT; stdcall;
-function SafeArrayCreate(VarType, Dim: SizeInt; const Bounds: TVarArrayBoundArray): PVarArray; stdcall;
+function SafeArrayCreate(VarType, Dim: dword; const Bounds: TVarArrayBoundArray): PVarArray; stdcall;
 function SafeArrayDestroy(psa: PVarArray): HRESULT; stdcall;
 function SafeArrayDestroyData(psa: PVarArray): HRESULT; stdcall;
 function SafeArrayDestroyDescriptor(psa: PVarArray): HRESULT; stdcall;
-function SafeArrayGetDim(psa: PVarArray): SizeInt; stdcall;
+function SafeArrayGetDim(psa: PVarArray): HRESULT; stdcall;
 function SafeArrayGetElemsize(psa: PVarArray): LongWord; stdcall;
 function SafeArrayGetElement(psa: PVarArray; Indices: PVarArrayCoorArray;  Data: Pointer): HRESULT; stdcall;
-function SafeArrayGetLBound(psa: PVarArray; Dim: SizeInt;  var LBound: SizeInt): HRESULT; stdcall;
-function SafeArrayGetUBound(psa: PVarArray; Dim: SizeInt;  var UBound: SizeInt): HRESULT; stdcall;
+function SafeArrayGetLBound(psa: PVarArray; Dim: longword;  var LBound: longint): HRESULT; stdcall;
+function SafeArrayGetUBound(psa: PVarArray; Dim: longword;  var UBound: longint): HRESULT; stdcall;
 function SafeArrayLock(psa: PVarArray): HRESULT; stdcall;
 function SafeArrayPtrOfIndex(psa: PVarArray; Indices: PVarArrayCoorArray;  var Address: Pointer): HRESULT; stdcall;
 function SafeArrayPutElement(psa: PVarArray; Indices: PVarArrayCoorArray;  const Data: Pointer): HRESULT; stdcall;

+ 1 - 1
rtl/win32/tthread.inc → rtl/win/tthread.inc

@@ -97,7 +97,7 @@ end;
 
 { TThread }
 
-function ThreadProc(ThreadObjPtr: Pointer): Integer;
+function ThreadProc(ThreadObjPtr: Pointer): PtrInt;
 var
   FreeThread: Boolean;
   Thread: TThread absolute ThreadObjPtr;

+ 5 - 5
rtl/win/varutils.pp

@@ -50,18 +50,18 @@ function VariantInit(var Varg: TVarData): HRESULT; stdcall;external oleaut;
 
 function SafeArrayAccessData(psa: PVarArray; var ppvData: Pointer): HRESULT; stdcall;external oleaut;
 function SafeArrayAllocData(psa: PVarArray): HRESULT; stdcall;external oleaut;
-function SafeArrayAllocDescriptor(DimCount: Integer; var psa: PVarArray): HRESULT; stdcall;external oleaut;
+function SafeArrayAllocDescriptor(DimCount: longword; var psa: PVarArray): HRESULT; stdcall;external oleaut;
 function SafeArrayCopy(psa: PVarArray; var psaOut: PVarArray): HRESULT; stdcall;external oleaut;
 function SafeArrayCopyData(psa, psaOut: PVarArray): HRESULT; stdcall;external oleaut;
-function SafeArrayCreate(VarType, Dim: Integer; const Bounds: TVarArrayBoundArray): PVarArray; stdcall;external oleaut;
+function SafeArrayCreate(VarType, Dim: dword; const Bounds: TVarArrayBoundArray): PVarArray; stdcall;external oleaut;
 function SafeArrayDestroy(psa: PVarArray): HRESULT; stdcall;external oleaut;
 function SafeArrayDestroyData(psa: PVarArray): HRESULT; stdcall;external oleaut;
 function SafeArrayDestroyDescriptor(psa: PVarArray): HRESULT; stdcall;external oleaut;
-function SafeArrayGetDim(psa: PVarArray): Integer; stdcall;external oleaut;
+function SafeArrayGetDim(psa: PVarArray): HRESULT; stdcall;external oleaut;
 function SafeArrayGetElemsize(psa: PVarArray): LongWord; stdcall;external oleaut;
 function SafeArrayGetElement(psa: PVarArray; Indices: PVarArrayCoorArray;  Data: Pointer): HRESULT; stdcall;external oleaut;
-function SafeArrayGetLBound(psa: PVarArray; Dim: Integer;  var LBound: Integer): HRESULT; stdcall;external oleaut;
-function SafeArrayGetUBound(psa: PVarArray; Dim: Integer;  var UBound: Integer): HRESULT; stdcall;external oleaut;
+function SafeArrayGetLBound(psa: PVarArray; Dim: dword;  var LBound: longint): HRESULT; stdcall;external oleaut;
+function SafeArrayGetUBound(psa: PVarArray; Dim: dword;  var UBound: longint): HRESULT; stdcall;external oleaut;
 function SafeArrayLock(psa: PVarArray): HRESULT; stdcall;external oleaut;
 function SafeArrayPtrOfIndex(psa: PVarArray; Indices: PVarArrayCoorArray;  var Address: Pointer): HRESULT; stdcall;external oleaut;
 function SafeArrayPutElement(psa: PVarArray; Indices: PVarArrayCoorArray;  const Data: Pointer): HRESULT; stdcall;external oleaut;

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

@@ -129,7 +129,7 @@
      LANGID = word;
      LCID   = DWORD;
      LCTYPE = DWORD;
-     LPARAM = longint;
+     LPARAM = LONG_PTR;
 
      LP     = ^word;
      LPBOOL = ^WINBOOL;

+ 2 - 2
rtl/win32/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/04/02]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/04/16]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince powerpc64-linux
@@ -2126,7 +2126,7 @@ sysutils$(PPUEXT) : $(WINDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils $(WINDIR)/sysutils.pp
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
 		   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) sysconst$(PPUEXT)
-	$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
+	$(COMPILER) -Fi../win -Fi$(OBJPASDIR)/classes classes.pp
 winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT)
 	$(COMPILER) winsysut.pp
 typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)

+ 1 - 1
rtl/win32/Makefile.fpc

@@ -149,7 +149,7 @@ sysutils$(PPUEXT) : $(WINDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc
 
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
                    sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) sysconst$(PPUEXT)
-        $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
+        $(COMPILER) -Fi../win -Fi$(OBJPASDIR)/classes classes.pp
 
 winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT)
         $(COMPILER) winsysut.pp

+ 41 - 41
rtl/win64/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/04/04]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/04/16]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince powerpc64-linux
@@ -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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 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
+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
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_LOADERS+=$(LOADERS)
@@ -2123,7 +2123,7 @@ sysutils$(PPUEXT) : $(WINDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils $(WINDIR)/sysutils.pp
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
 		   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) sysconst$(PPUEXT)
-	$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
+	$(COMPILER) -Fi../win -Fi$(OBJPASDIR)/classes classes.pp
 winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT)
 	$(COMPILER) winsysut.pp
 typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)

+ 4 - 4
rtl/win64/Makefile.fpc

@@ -12,12 +12,12 @@ units=system ctypes objpas macpas strings \
       dos objects \
       windows winsock cmem \
       rtlconsts sysconst sysutils math types \
-      strutils convutils dateutils
-#      varutils variants typinfo classes \
+      strutils convutils dateutils \
+      varutils variants typinfo classes
+#      winsysut fpmkunit
 #      cpu mmx charset ucomplex getopts \
 #      winevent sockets printer \
 #      video mouse keyboard \
-#      winsysut fpmkunit
 #      dynlibs signals crt messages \
 #     no cygwin so far
 #	initc
@@ -151,7 +151,7 @@ sysutils$(PPUEXT) : $(WINDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc
 
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
                    sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) sysconst$(PPUEXT)
-        $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
+        $(COMPILER) -Fi../win -Fi$(OBJPASDIR)/classes classes.pp
 
 winsysut$(PPUEXT) : winsysut.pp sysutils$(PPUEXT)
         $(COMPILER) winsysut.pp

+ 47 - 0
rtl/win64/classes.pp

@@ -0,0 +1,47 @@
+{
+    This file is part of the Free Component Library (FCL)
+    Copyright (c) 1998-2006 by Michael Van Canneyt and Florian Klaempfl
+
+    Classes unit for winx64
+
+    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.
+
+ **********************************************************************}
+
+{$mode objfpc}
+
+{ determine the type of the resource/form file }
+{ $define Win16Res}
+
+unit Classes;
+
+interface
+
+uses
+  rtlconsts,
+  sysutils,
+  types,
+  typinfo,
+  windows;
+
+{$i classesh.inc}
+
+implementation
+
+uses
+  sysconst;
+
+{ OS - independent class implementations are in /inc directory. }
+{$i classes.inc}
+
+initialization
+  CommonInit;
+
+finalization
+  CommonCleanup;
+end.