diff --git a/rtl/go32v2/Makefile b/rtl/go32v2/Makefile index f513cb4573..6c2fa2343f 100644 --- a/rtl/go32v2/Makefile +++ b/rtl/go32v2/Makefile @@ -250,103 +250,103 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM endif ifeq ($(FULL_TARGET),i386-linux) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-go32v2) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-win32) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-os2) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-freebsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-beos) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-netbsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-sunos) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-qnx) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-netware) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-openbsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-wdosx) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-emx) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-watcom) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-netwlibc) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),m68k-linux) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),m68k-freebsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),m68k-netbsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),m68k-amiga) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),m68k-atari) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),m68k-openbsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),m68k-palmos) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),powerpc-linux) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),powerpc-netbsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),powerpc-macos) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),powerpc-darwin) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),powerpc-morphos) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),sparc-linux) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),sparc-netbsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),sparc-sunos) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),x86_64-linux) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),x86_64-freebsd) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),arm-linux) -override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils ctypes +override TARGET_UNITS+=system systhrds objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer graph sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo msmouse charset varutils video mouse keyboard variants vesamode types sysconst rtlconst dateutil convutil strutils endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_LOADERS+=prt0 exceptn fpu @@ -2016,4 +2016,4 @@ lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT) charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT) ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT) msmouse$(PPUEXT) : msmouse.pp system$(PPUEXT) -ctypes$(PPUEXT) : $(INC)/ctypes.pp system$(PPUEXT) +callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT) diff --git a/rtl/go32v2/Makefile.fpc b/rtl/go32v2/Makefile.fpc index 74fb3d9f83..a31380a248 100644 --- a/rtl/go32v2/Makefile.fpc +++ b/rtl/go32v2/Makefile.fpc @@ -1,222 +1,222 @@ -# -# Makefile.fpc for Go32v2 RTL -# - -[package] -main=rtl - -[target] -loaders=prt0 exceptn fpu -units=system objpas macpas strings \ - go32 dpmiexcp initc ports profile dxetype dxeload emu387 \ - dos crt objects printer graph \ - sysutils classes math typinfo matrix \ - cpu mmx ucomplex getopts heaptrc lineinfo \ - msmouse charset varutils \ - video mouse keyboard variants vesamode types \ - sysconst rtlconst dateutil convutil strutils ctypes -rsts=math varutils typinfo classes variants dateutil sysconst - -[require] -nortl=y - -[install] -fpcpackage=y - -[default] -fpcdir=../.. -target=go32v2 -cpu=i386 - -[compiler] -includedir=$(INC) $(PROCINC) -sourcedir=$(INC) $(PROCINC) - - -[prerules] -RTL=.. -INC=../inc -PROCINC=../$(CPU_TARGET) - -UNITPREFIX=rtl - -# Use new feature from 1.0.5 version -# that generates release PPU files -# which will not be recompiled -ifdef RELEASE -override FPCOPT+=-Ur -endif - -# Paths -OBJPASDIR=$(RTL)/objpas -GRAPHDIR=$(INC)/graph - -# Insert exception handler in system unit -ifdef EXCEPTIONS_IN_SYSTEM -override FPCOPT+=-dEXCEPTIONS_IN_SYSTEM -endif - -# Insert exception handler in system unit -ifdef NO_EXCEPTIONS_IN_SYSTEM -override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM -endif - - -[rules] -# Get the system independent include file names. -# This will set the following variables : -# SYSINCNAMES -include $(INC)/makefile.inc -SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES)) - -# Get the processor dependent include file names. -# This will set the following variables : -# CPUINCNAMES -include $(PROCINC)/makefile.cpu -SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES)) - -# Put system unit dependencies together. -SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) - - -# -# Loaders -# - -prt0$(OEXT) : v2prt0.as - $(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) v2prt0.as - -# -# System Units (System, Objpas, Strings) -# - -system$(PPUEXT) : system.pp $(SYSDEPS) - $(COMPILER) -Us -Sg system.pp - -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 \ - system$(PPUEXT) - -# -# System Dependent Units -# - -go32$(PPUEXT) : go32.pp system$(PPUEXT) - -dpmiexcp$(PPUEXT) : dpmiexcp.pp exceptn$(OEXT) system$(PPUEXT) - $(COMPILER) -Sg dpmiexcp.pp - -initc$(PPUEXT) : initc.pp system$(PPUEXT) - -profile$(PPUEXT) : profile.pp dpmiexcp$(PPUEXT) go32$(PPUEXT) - -dxetype$(PPUEXT) : dxetype.pp system$(PPUEXT) - -dxeload$(PPUEXT) : dxeload.pp dxetype$(PPUEXT) system$(PPUEXT) - -emu387$(PPUEXT) : emu387.pp fpu$(OEXT) strings$(PPUEXT) dxeload$(PPUEXT) \ - dpmiexcp$(PPUEXT) - -ports$(PPUEXT) : ports.pp objpas$(PPUEXT) system$(PPUEXT) - -# -# TP7 Compatible RTL Units -# - -dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc \ - go32$(PPUEXT) strings$(PPUEXT) system$(PPUEXT) - -crt$(PPUEXT) : crt.pp $(INC)/textrec.inc go32$(PPUEXT) system$(PPUEXT) - -objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT) - -printer$(PPUEXT) : printer.pp system$(PPUEXT) - -# -# Graph -# - -include $(GRAPHDIR)/makefile.inc -GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES)) - -graph$(PPUEXT) : graph.pp go32$(PPUEXT) ports$(PPUEXT) system$(PPUEXT) \ - $(GRAPHINCDEPS) vesa.inc vesah.inc dpmi.inc - $(COMPILER) -I$(GRAPHDIR) graph.pp - -# -# Delphi Compatible Units -# - -sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ - objpas$(PPUEXT) dos$(PPUEXT) go32$(PPUEXT) sysconst$(PPUEXT) - $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp - -classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ - sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT) - - $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp - -typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) - $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp - -math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) - $(COMPILER) $(OBJPASDIR)/math.pp - -varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ - $(OBJPASDIR)/varutilh.inc varutils.pp - $(COMPILER) -I$(OBJPASDIR) varutils.pp - -types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) - $(COMPILER) $(OBJPASDIR)/types.pp - -rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp - $(COMPILER) $(OBJPASDIR)/rtlconst.pp - -sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) - $(COMPILER) $(OBJPASDIR)/sysconst.pp - -dateutil$(PPUEXT) : $(OBJPASDIR)/dateutil.pp - $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutil.pp - -convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp - $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutil.pp - -strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp - $(COMPILER) $(OBJPASDIR)/strutils.pp - -# -# Mac Pascal Model -# - -macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) - $(COMPILER) $(INC)/macpas.pp $(REDIR) - -# -# Other system-independent RTL Units -# - -cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT) - -mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT) - -getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT) - -heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT) - $(COMPILER) -Sg $(INC)/heaptrc.pp - -lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT) - -charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT) - -ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT) - -# -# Other system-dependent RTL Units -# - -msmouse$(PPUEXT) : msmouse.pp system$(PPUEXT) - -ctypes$(PPUEXT) : $(INC)/ctypes.pp system$(PPUEXT) +# +# Makefile.fpc for Go32v2 RTL +# + +[package] +main=rtl + +[target] +loaders=prt0 exceptn fpu +units=system systhrds objpas macpas strings \ + go32 dpmiexcp initc ports profile dxetype dxeload emu387 \ + dos crt objects printer graph \ + sysutils classes math typinfo matrix \ + cpu mmx ucomplex getopts heaptrc lineinfo \ + msmouse charset varutils \ + video mouse keyboard variants vesamode types \ + sysconst rtlconst dateutil convutil strutils +rsts=math varutils typinfo classes variants dateutil sysconst + +[require] +nortl=y + +[install] +fpcpackage=y + +[default] +fpcdir=../.. +target=go32v2 +cpu=i386 + +[compiler] +includedir=$(INC) $(PROCINC) +sourcedir=$(INC) $(PROCINC) + + +[prerules] +RTL=.. +INC=../inc +PROCINC=../$(CPU_TARGET) + +UNITPREFIX=rtl + +# Use new feature from 1.0.5 version +# that generates release PPU files +# which will not be recompiled +ifdef RELEASE +override FPCOPT+=-Ur +endif + +# Paths +OBJPASDIR=$(RTL)/objpas +GRAPHDIR=$(INC)/graph + +# Insert exception handler in system unit +ifdef EXCEPTIONS_IN_SYSTEM +override FPCOPT+=-dEXCEPTIONS_IN_SYSTEM +endif + +# Insert exception handler in system unit +ifdef NO_EXCEPTIONS_IN_SYSTEM +override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM +endif + + +[rules] +# Get the system independent include file names. +# This will set the following variables : +# SYSINCNAMES +include $(INC)/makefile.inc +SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES)) + +# Get the processor dependent include file names. +# This will set the following variables : +# CPUINCNAMES +include $(PROCINC)/makefile.cpu +SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES)) + +# Put system unit dependencies together. +SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) + + +# +# Loaders +# + +prt0$(OEXT) : v2prt0.as + $(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) v2prt0.as + +# +# System Units (System, Objpas, Strings) +# + +system$(PPUEXT) : system.pp $(SYSDEPS) + $(COMPILER) -Us -Sg system.pp + +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 \ + system$(PPUEXT) + +# +# System Dependent Units +# + +go32$(PPUEXT) : go32.pp system$(PPUEXT) + +dpmiexcp$(PPUEXT) : dpmiexcp.pp exceptn$(OEXT) system$(PPUEXT) + $(COMPILER) -Sg dpmiexcp.pp + +initc$(PPUEXT) : initc.pp system$(PPUEXT) + +profile$(PPUEXT) : profile.pp dpmiexcp$(PPUEXT) go32$(PPUEXT) + +dxetype$(PPUEXT) : dxetype.pp system$(PPUEXT) + +dxeload$(PPUEXT) : dxeload.pp dxetype$(PPUEXT) system$(PPUEXT) + +emu387$(PPUEXT) : emu387.pp fpu$(OEXT) strings$(PPUEXT) dxeload$(PPUEXT) \ + dpmiexcp$(PPUEXT) + +ports$(PPUEXT) : ports.pp objpas$(PPUEXT) system$(PPUEXT) + +# +# TP7 Compatible RTL Units +# + +dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc \ + go32$(PPUEXT) strings$(PPUEXT) system$(PPUEXT) + +crt$(PPUEXT) : crt.pp $(INC)/textrec.inc go32$(PPUEXT) system$(PPUEXT) + +objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT) + +printer$(PPUEXT) : printer.pp system$(PPUEXT) + +# +# Graph +# + +include $(GRAPHDIR)/makefile.inc +GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES)) + +graph$(PPUEXT) : graph.pp go32$(PPUEXT) ports$(PPUEXT) system$(PPUEXT) \ + $(GRAPHINCDEPS) vesa.inc vesah.inc dpmi.inc + $(COMPILER) -I$(GRAPHDIR) graph.pp + +# +# Delphi Compatible Units +# + +sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ + objpas$(PPUEXT) dos$(PPUEXT) go32$(PPUEXT) sysconst$(PPUEXT) + $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp + +classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ + sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT) + + $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp + +typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) + $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp + +math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) + $(COMPILER) $(OBJPASDIR)/math.pp + +varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ + $(OBJPASDIR)/varutilh.inc varutils.pp + $(COMPILER) -I$(OBJPASDIR) varutils.pp + +types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) + $(COMPILER) $(OBJPASDIR)/types.pp + +rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp + $(COMPILER) $(OBJPASDIR)/rtlconst.pp + +sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) + $(COMPILER) $(OBJPASDIR)/sysconst.pp + +dateutil$(PPUEXT) : $(OBJPASDIR)/dateutil.pp + $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutil.pp + +convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp + $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutil.pp + +strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp + $(COMPILER) $(OBJPASDIR)/strutils.pp + +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + +# +# Other system-independent RTL Units +# + +cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT) + +mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT) + +getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT) + +heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT) + $(COMPILER) -Sg $(INC)/heaptrc.pp + +lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT) + +charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT) + +ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT) + +# +# Other system-dependent RTL Units +# + +msmouse$(PPUEXT) : msmouse.pp system$(PPUEXT) + +callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT) diff --git a/rtl/go32v2/systhrds.pp b/rtl/go32v2/systhrds.pp new file mode 100644 index 0000000000..1c09f0ed8b --- /dev/null +++ b/rtl/go32v2/systhrds.pp @@ -0,0 +1,51 @@ +{ + $Id$ + This file is part of the Free Pascal run time library. + Copyright (c) 2002 by Peter Vreman, + member of the Free Pascal development team. + + Dummy implementation for platforms not having real one + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +unit systhrds; +{$mode objfpc} + +interface + + type + PRTLCriticalSection = ^TRTLCriticalSection; + TRTLCriticalSection = record + Locked: boolean + end; + +{ Include generic thread interface } +{$i threadh.inc} + +implementation + +{ Include generic overloaded routines } +{$i thread.inc} + +{ Include OS independent threadvar initialization } +{$ifdef HASTHREADVAR} +{$i threadvr.inc} +{$endif HASTHREADVAR} + +initialization + SetNoThreadManager; +end. +{ + $Log$ + Revision 1.1 2005-01-21 21:43:12 armin + * applied patch to compile go32v2 from Tomas (tested by John) + + +} diff --git a/rtl/go32v2/thread.inc b/rtl/go32v2/thread.inc deleted file mode 100644 index 9e583bca1b..0000000000 --- a/rtl/go32v2/thread.inc +++ /dev/null @@ -1,545 +0,0 @@ -{ - $Id$ - This file is part of the Free Pascal Run time library. - Copyright (c) 2000 by the Free Pascal development team - - OS independent thread functions/overloads - - 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. - - **********************************************************************} - - -Var - CurrentTM : TThreadManager; - -{***************************************************************************** - Threadvar initialization -*****************************************************************************} - - procedure InitThread(stklen:cardinal); - begin - SysResetFPU; - { ExceptAddrStack and ExceptObjectStack are threadvars } - { so every thread has its on exception handling capabilities } - SysInitExceptions; - { Open all stdio fds again } - SysInitStdio; - InOutRes:=0; - // ErrNo:=0; - { Stack checking } - StackLength:=stklen; - StackBottom:=Sptr - StackLength; - ThreadID := CurrentTM.GetCurrentThreadID(); - end; - -{***************************************************************************** - Overloaded functions -*****************************************************************************} -{$ifndef CPU64} -{$ifndef unix} -{$endif unix} -{$endif CPU64} - - function BeginThread(ThreadFunction : tthreadfunc) : DWord; - var - dummy : THandle; - begin - BeginThread:=BeginThread(nil,DefaultStackSize,ThreadFunction,nil,0,dummy); - end; - - - function BeginThread(ThreadFunction : tthreadfunc;p : pointer) : DWord; - var - dummy : THandle; - begin - BeginThread:=BeginThread(nil,DefaultStackSize,ThreadFunction,p,0,dummy); - end; - - - function BeginThread(ThreadFunction : tthreadfunc;p : pointer;var ThreadId : THandle) : DWord; - begin - BeginThread:=BeginThread(nil,DefaultStackSize,ThreadFunction,p,0,ThreadId); - end; - - -{$ifndef CPU64} -{$ifndef unix} -{$endif unix} -{$endif CPU64} - - procedure EndThread; - begin - EndThread(0); - end; - -function BeginThread(sa : Pointer;stacksize : dword; ThreadFunction : tthreadfunc;p : pointer;creationFlags : dword; var ThreadId : THandle) : DWord; - -begin - Result:=CurrentTM.BeginThread(sa,stacksize,threadfunction,P,creationflags,ThreadID); -end; - -procedure EndThread(ExitCode : DWord); - -begin - CurrentTM.EndThread(ExitCode); -end; - -function SuspendThread (threadHandle : dword) : dword; - -begin - Result:=CurrentTM.SuspendThread(ThreadHandle); -end; - -function ResumeThread (threadHandle : dword) : dword; - -begin - Result:=CurrentTM.ResumeThread(ThreadHandle); -end; - -procedure ThreadSwitch; - -begin - CurrentTM.ThreadSwitch; -end; - -function KillThread (threadHandle : dword) : dword; - -begin - Result:=CurrentTM.KillThread(ThreadHandle); -end; - -function WaitForThreadTerminate (threadHandle : dword; TimeoutMs : longint) : dword; - -begin - Result:=CurrentTM.WaitForThreadTerminate(ThreadHandle,TimeOutMS); -end; - -function ThreadSetPriority (threadHandle : dword; Prio: longint): boolean; -begin - Result:=CurrentTM.ThreadSetPriority(ThreadHandle,Prio); -end; - -function ThreadGetPriority (threadHandle : dword): Integer; - -begin - Result:=CurrentTM.ThreadGetPriority(ThreadHandle); -end; - -function GetCurrentThreadId : dword; - -begin - Result:=CurrentTM.GetCurrentThreadID(); -end; - -procedure InitCriticalSection(var cs : TRTLCriticalSection); - -begin - CurrentTM.InitCriticalSection(cs); -end; - -procedure DoneCriticalsection(var cs : TRTLCriticalSection); - -begin - CurrentTM.DoneCriticalSection(cs); -end; - -procedure EnterCriticalsection(var cs : TRTLCriticalSection); - -begin - CurrentTM.EnterCriticalSection(cs); -end; - -procedure LeaveCriticalsection(var cs : TRTLCriticalSection); - -begin - CurrentTM.LeaveCriticalSection(cs); -end; - -Function GetThreadManager(Var TM : TThreadManager) : Boolean; - -begin - TM:=CurrentTM; - Result:=True; -end; - -Function SetThreadManager(Const NewTM : TThreadManager; Var OldTM : TThreadManager) : Boolean; - -begin - GetThreadManager(OldTM); - Result:=SetThreadManager(NewTM); -end; - -Function SetThreadManager(Const NewTM : TThreadManager) : Boolean; - -begin - Result:=True; - If Assigned(CurrentTM.DoneManager) then - Result:=CurrentTM.DoneManager(); - If Result then - begin - CurrentTM:=NewTM; - If Assigned(CurrentTM.InitManager) then - Result:=CurrentTM.InitManager(); - end; -end; - -function BasicEventCreate(EventAttributes : Pointer; AManualReset,InitialState : Boolean;const Name : ansistring):pEventState; - -begin - result:=currenttm.BasicEventCreate(EventAttributes,AManualReset,InitialState, Name); -end; - -procedure basiceventdestroy(state:peventstate); - -begin - currenttm.basiceventdestroy(state); -end; - -procedure basiceventResetEvent(state:peventstate); - -begin - currenttm.basiceventResetEvent(state); -end; - -procedure basiceventSetEvent(state:peventstate); - -begin - currenttm.basiceventSetEvent(state); -end; - -function basiceventWaitFor(Timeout : Cardinal;state:peventstate) : longint; - -begin - result:=currenttm.basiceventWaitFor(Timeout,state); -end; - -function RTLEventCreate :PRTLEvent; - -begin - result:=currenttm.rtleventcreate(); -end; - - -procedure RTLeventdestroy(state:pRTLEvent); - -begin - currenttm.rtleventdestroy(state); -end; - -procedure RTLeventSetEvent(state:pRTLEvent); - -begin - currenttm.rtleventsetEvent(state); -end; - -procedure RTLeventStartWait(state:pRTLEvent); - -begin - currenttm.rtleventStartWait(state); -end; - -procedure RTLeventWaitFor(state:pRTLEvent); - -begin - currenttm.rtleventWaitFor(state); -end; - -procedure RTLeventsync(m:trtlmethod;p:tprocedure); - -begin - currenttm.rtleventsync(m,p); -end; - -procedure RTLchecksynchronize; - -begin - currenttm.rtlchksyncunix; -end; - - -{ --------------------------------------------------------------------- - ThreadManager which gives run-time error. Use if no thread support. - ---------------------------------------------------------------------} - -{$ifndef DISABLE_NO_THREAD_MANAGER} - -Resourcestring - SNoThreads = 'This binary has no thread support compiled in.'; - SRecompileWithThreads = 'Recompile the application with a thread-driver in the program uses clause before other units using thread.'; - -Procedure NoThreadError; - -begin - If IsConsole then - begin - Writeln(StdErr,SNoThreads); - Writeln(StdErr,SRecompileWithThreads); - end; - RunError(232) -end; - -function NoBeginThread(sa : Pointer;stacksize : dword; - ThreadFunction : tthreadfunc;p : pointer; - creationFlags : dword; var ThreadId : THandle) : DWord; -begin - NoThreadError; -end; - -procedure NoEndThread(ExitCode : DWord); -begin - NoThreadError; -end; - -function NoThreadHandler (threadHandle : dword) : dword; -begin - NoThreadError; -end; - -procedure NoThreadSwitch; {give time to other threads} -begin - NoThreadError; -end; - -function NoWaitForThreadTerminate (threadHandle : dword; TimeoutMs : longint) : dword; {0=no timeout} -begin - NoThreadError; -end; - -function NoThreadSetPriority (threadHandle : dword; Prio: longint): boolean; {-15..+15, 0=normal} -begin - NoThreadError; -end; - -function NoThreadGetPriority (threadHandle : dword): Integer; -begin - NoThreadError; -end; - -function NoGetCurrentThreadId : dword; -begin - NoThreadError; -end; - -procedure NoCriticalSection(var CS); - -begin - if IsMultiThread then - NoThreadError; -end; - -procedure NoInitThreadvar(var offset : dword;size : dword); - -begin - NoThreadError; -end; - -function NoRelocateThreadvar(offset : dword) : pointer; - -begin - NoThreadError; -end; - - -procedure NoAllocateThreadVars; - -begin - NoThreadError; -end; - -procedure NoReleaseThreadVars; - -begin - NoThreadError; -end; - -function noBasicEventCreate(EventAttributes : Pointer; AManualReset,InitialState : Boolean;const Name : ansistring):pEventState; - -begin - NoThreadError; -end; - -procedure nobasiceventdestroy(state:peventstate); - -begin - NoThreadError; -end; - -procedure nobasiceventResetEvent(state:peventstate); - -begin - NoThreadError; -end; - -procedure nobasiceventSetEvent(state:peventstate); - -begin - NoThreadError; -end; - -function nobasiceventWaitFor(Timeout : Cardinal;state:peventstate) : longint; - -begin - NoThreadError; -end; - -function NORTLEventCreate :PRTLEvent; - -begin - NoThreadError; -end; - -procedure NORTLeventdestroy(state:pRTLEvent); - -begin - NoThreadError; -end; - -procedure NORTLeventSetEvent(state:pRTLEvent); - -begin - NoThreadError; -end; - -procedure NORTLeventStartWait(state:pRTLEvent); - -begin - NoThreadError; -end; - -procedure NORTLeventWaitFor(state:pRTLEvent); - -begin - NoThreadError; -end; - -procedure NORTLeventsync(m:trtlmethod;p:tprocedure); - -begin - NoThreadError; -end; - - -procedure NORTLChkSyncUnix; - -begin - NoThreadError; -end; - - - - -Var - NoThreadManager : TThreadManager; - -Procedure SetNoThreadManager; - -begin - With NoThreadManager do - begin - InitManager :=Nil; - DoneManager :=Nil; - BeginThread :=@NoBeginThread; - EndThread :=@NoEndThread; - SuspendThread :=@NoThreadHandler; - ResumeThread :=@NoThreadHandler; - KillThread :=@NoThreadHandler; - ThreadSwitch :=@NoThreadSwitch; - WaitForThreadTerminate :=@NoWaitForThreadTerminate; - ThreadSetPriority :=@NoThreadSetPriority; - ThreadGetPriority :=@NoThreadGetPriority; - GetCurrentThreadId :=@NoGetCurrentThreadId; - InitCriticalSection :=@NoCriticalSection; - DoneCriticalSection :=@NoCriticalSection; - EnterCriticalSection :=@NoCriticalSection; - LeaveCriticalSection :=@NoCriticalSection; - InitThreadVar :=@NoInitThreadVar; - RelocateThreadVar :=@NoRelocateThreadVar; - AllocateThreadVars :=@NoAllocateThreadVars; - ReleaseThreadVars :=@NoReleaseThreadVars; - BasicEventCreate :=@NoBasicEventCreate; - basiceventdestroy :=@Nobasiceventdestroy; - basiceventResetEvent :=@NobasiceventResetEvent; - basiceventSetEvent :=@NobasiceventSetEvent; - basiceventWaitFor :=@NobasiceventWaitFor; - rtlEventCreate :=@NortlEventCreate; - rtleventdestroy :=@Nortleventdestroy; - rtleventSetEvent :=@NortleventSetEvent; - rtleventStartWait :=@NortleventStartWait; - rtleventWaitFor :=@NortleventWaitFor; - rtleventsync :=@Nortleventsync; - rtlchksyncunix :=@nortlchksyncunix; - end; - SetThreadManager(NoThreadManager); -end; -{$endif DISABLE_NO_THREAD_MANAGER} - -{ - $Log$ - Revision 1.4 2005-01-21 21:43:12 armin - * applied patch to compile go32v2 from Tomas (tested by John) - - Revision 1.18 2005/01/16 14:46:57 florian - * critical sections can be used in programs without threading driver, they have no effect then - - Revision 1.17 2004/12/28 14:20:03 marco - * tthread patch from neli - - Revision 1.16 2004/12/27 15:28:40 marco - * checksynchronize now in interface win32 uses the default impl. - unix uses systhrds, rest empty implementation. - - Revision 1.15 2004/12/23 20:58:22 peter - * fix rtlcreateevent - - Revision 1.14 2004/12/23 15:08:58 marco - * 2nd synchronize attempt. cthreads<->systhrds difference was not ok, but - only showed on make install should be fixed now. - - Revision 1.13 2004/12/22 21:29:24 marco - * rtlevent kraam. Checked (compile): Linux, FreeBSD, Darwin, Windows - Check work: ask Neli. - - Revision 1.12 2004/09/19 18:55:30 armin - * added define DISABLE_NO_THREAD_MANAGER to avoid warnings if thread manager is always present - - Revision 1.11 2004/05/23 20:26:20 marco - * wrappers and nothread prototypes for the basic* functions - - Revision 1.10 2004/02/22 23:22:49 florian - * fixed BeginThread on unix - - Revision 1.9 2004/02/22 16:48:39 florian - * several 64 bit issues fixed - - Revision 1.8 2004/01/21 20:11:06 peter - * fixed compile for unix - - Revision 1.7 2004/01/20 23:13:53 hajny - * ExecuteProcess fixes, ProcessID and ThreadID added - - Revision 1.6 2003/11/29 17:33:09 michael - + Removed dummy variable from SetNothreadManager - - Revision 1.5 2003/11/29 17:29:32 michael - + Added overloaded version of SetThreadManager without old parameter - - Revision 1.4 2003/11/26 20:10:59 michael - + New threadmanager implementation - - Revision 1.3 2002/11/14 12:40:06 jonas - * the BeginThread() variant that allowed you to specify the stacksize - still passed DefaultStackSize to the OS-specific routines - - Revision 1.2 2002/10/16 19:04:27 michael - + More system-independent thread routines - - Revision 1.1 2002/10/14 19:39:17 peter - * threads unit added for thread support - -} diff --git a/rtl/inc/thread.inc b/rtl/inc/thread.inc index 6fcb76e5ec..5123af7f92 100644 --- a/rtl/inc/thread.inc +++ b/rtl/inc/thread.inc @@ -43,12 +43,6 @@ Var *****************************************************************************} {$ifndef CPU64} {$ifndef unix} - function BeginThread(sa : Pointer;stacksize : dword; - ThreadFunction : tthreadfunc;p : pointer;creationFlags : dword; - var ThreadId : Longint) : DWord; - begin - BeginThread:=BeginThread(nil,StackSize,ThreadFunction,p,creationFlags,THandle(THreadId)); - end; {$endif unix} {$endif CPU64} @@ -76,10 +70,6 @@ Var {$ifndef CPU64} {$ifndef unix} - function BeginThread(ThreadFunction : tthreadfunc;p : pointer;var ThreadId : Longint) : DWord; - begin - BeginThread:=BeginThread(nil,DefaultStackSize,ThreadFunction,p,0,THandle(ThreadId)); - end; {$endif unix} {$endif CPU64} @@ -491,7 +481,10 @@ end; { $Log$ - Revision 1.18 2005-01-16 14:46:57 florian + Revision 1.19 2005-01-21 21:45:57 armin + * applied patch to compile go32v2 from Tomas (tested by John) + + Revision 1.18 2005/01/16 14:46:57 florian * critical sections can be used in programs without threading driver, they have no effect then Revision 1.17 2004/12/28 14:20:03 marco diff --git a/rtl/inc/threadh.inc b/rtl/inc/threadh.inc index 1c70f8708a..dad20b3ba7 100644 --- a/rtl/inc/threadh.inc +++ b/rtl/inc/threadh.inc @@ -110,10 +110,6 @@ function BeginThread(sa : Pointer;stacksize : dword; var ThreadId : THandle) : DWord; {$ifndef CPU64} {$ifndef unix} -{ Delphi uses a longint for threadid } -function BeginThread(sa : Pointer;stacksize : dword; - ThreadFunction : tthreadfunc;p : pointer;creationFlags : dword; - var ThreadId : Longint) : DWord; {$endif unix} {$endif CPU64} @@ -124,7 +120,6 @@ function BeginThread(ThreadFunction : tthreadfunc;p : pointer) : DWord; function BeginThread(ThreadFunction : tthreadfunc;p : pointer; var ThreadId : THandle) : DWord; {$ifndef CPU64} {$ifndef unix} -function BeginThread(ThreadFunction : tthreadfunc;p : pointer; var ThreadId : Longint) : DWord; {$endif unix} {$endif CPU64} @@ -166,7 +161,10 @@ procedure RTLchecksynchronize; { $Log$ - Revision 1.24 2004-12-28 14:20:03 marco + Revision 1.25 2005-01-21 21:43:12 armin + * applied patch to compile go32v2 from Tomas (tested by John) + + Revision 1.24 2004/12/28 14:20:03 marco * tthread patch from neli Revision 1.23 2004/12/27 15:28:40 marco