From 93b9fd31024996cee2aa39bfa9f0c19fd2fbce3d Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 8 Apr 1999 12:22:52 +0000 Subject: [PATCH] * removed os.inc --- rtl/go32v1/Makefile | 257 +++++++++++----------------- rtl/go32v1/disk.inc | 55 ++++-- rtl/go32v1/filutil.inc | 34 +++- rtl/go32v1/{mouse.pp => msmouse.pp} | 39 +---- rtl/go32v1/os.inc | 30 ---- rtl/go32v1/system.pp | 10 +- rtl/go32v2/disk.inc | 83 +++++---- rtl/go32v2/emu387.pp | 7 +- rtl/go32v2/graph.pp | 6 +- rtl/go32v2/os.inc | 29 ---- rtl/go32v2/system.pp | 13 +- rtl/linux/os.inc | 27 --- rtl/linux/syslinux.pp | 9 +- rtl/objpas/sysutils.pp | 28 +-- rtl/win32/disk.inc | 79 +++++++-- rtl/win32/dos.pp | 8 +- rtl/win32/filutil.inc | 7 +- rtl/win32/os.inc | 26 --- rtl/win32/syswin32.pp | 27 ++- 19 files changed, 337 insertions(+), 437 deletions(-) rename rtl/go32v1/{mouse.pp => msmouse.pp} (90%) delete mode 100644 rtl/go32v1/os.inc delete mode 100644 rtl/go32v2/os.inc delete mode 100644 rtl/linux/os.inc delete mode 100644 rtl/win32/os.inc diff --git a/rtl/go32v1/Makefile b/rtl/go32v1/Makefile index 2968729169..1bcc49a914 100644 --- a/rtl/go32v1/Makefile +++ b/rtl/go32v1/Makefile @@ -18,75 +18,122 @@ # spaces, or the makefile won't work anymore after you save. ##################################################################### -# Configuration section +# Makefile Defaults ##################################################################### -# Use smartlinking ? -ifndef SMARTLINK -SMARTLINK=NO -endif - -# Name of library ? -# If this is set, all units will be put in the same library. -# If it is empty (default), the units will be left in separate files. -ifndef LIBNAME -LIBNAME= -#LIBNAME=fpc -endif - -# Should the library be shared or static (only if LIBNAME is set). -# Set this to 'shared' or 'static' to create a librrary -# Setting this to shared will disable smart linking. -ifndef LIBTYPE -LIBTYPE= -#LIBTYPE=static -endif - - -##################################################################### -# Defaults -##################################################################### +# Default place of the makefile.fpc +DEFAULTFPCDIR=../.. # set target and cpu which are required -OS_TARGET=go32v1 -CPU=i386 +override OS_TARGET=go32v1 +override CPU=i386 # Where are the include files RTL=.. -CFG=$(RTL)/cfg INC=$(RTL)/inc PROCINC=$(RTL)/$(CPU) -OBJPASDIR=$(RTL)/objpas -# Where are the results placed +# Where to place the result files TARGETDIR=. +# These units belong to the RTL +UNITPREFIX=rtl + + +##################################################################### +# Own defaults +##################################################################### + +# Paths +OBJPASDIR=$(RTL)/objpas +PPI=ppi + +# Define Go32v1 Units +SYSTEMUNIT=system + +# Loaders +LOADEROBJECTS=prt0 + +# Unit Objects +UNITOBJECTS=$(SYSTEMUNIT) strings go32 \ + dos crt objects printer \ + objpas sysutils math typinfo \ + cpu mmx getopts heaptrc \ + msmouse + +##################################################################### +# Common targets +##################################################################### + +.PHONY: all clean install info \ + staticlib sharedlib libsclean \ + staticinstall sharedinstall libinstall \ + +all: testfpcmake fpc_all + +clean: testfpcmake fpc_clean + +install: testfpcmake fpc_install + +info: testfpcmake fpc_info + +staticlib: testfpcmake fpc_staticlib + +sharedlib: testfpcmake fpc_sharedlib + +libsclean: testfpcmake fpc_libsclean + +staticinstall: testfpcmake fpc_staticinstall + +sharedinstall: testfpcmake fpc_sharedinstall + +libinstall: testfpcmake fpc_libinstall + ##################################################################### # Include default makefile ##################################################################### -include $(CFG)/makefile.cfg +# test if FPCMAKE is still valid +ifdef FPCMAKE +ifeq ($(strip $(wildcard $(FPCMAKE))),) +FPCDIR= +FPCMAKE= +endif +endif +ifndef FPCDIR +ifdef DEFAULTFPCDIR +FPCDIR=$(DEFAULTFPCDIR) +endif +endif -##################################################################### -# System dependent -##################################################################### +ifndef FPCMAKE +ifdef FPCDIR +FPCMAKE=$(FPCDIR)/makefile.fpc +else +FPCMAKE=makefile.fpc +endif +endif -# Define Linux Units -SYSTEMPPU=system$(PPUEXT) -OBJECTS=strings go32 \ - dos crt objects printer \ - objpas sysutils typinfo math \ - cpu mmx getopts heaptrc mouse - -LOADERS=prt0 +override FPCMAKE:=$(strip $(wildcard $(FPCMAKE))) +ifeq ($(FPCMAKE),) +testfpcmake: + @echo makefile.fpc not found! + @echo Check the FPCMAKE and FPCDIR environment variables. + @exit +else +include $(FPCMAKE) +testfpcmake: +endif ##################################################################### # Include system unit dependencies ##################################################################### +SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT)) + # Get the system independent include file names. # This will set the following variables : # SYSINCNAMES @@ -104,38 +151,17 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) ##################################################################### -# System independent Makefile +# Dependencies ##################################################################### -# Add Prefix and Suffixes -OBJLOADERS=$(addsuffix $(OEXT), $(LOADERS)) -PPUOBJECTS=$(addsuffix $(PPUEXT), $(OBJECTS)) - -.PHONY : all install clean \ - libs libsclean \ - diffs diffclean \ - -all : $(OBJLOADERS) $(PPUOBJECTS) - -install : all - $(MKDIR) $(UNITINSTALLDIR) - $(INSTALL) *$(PPUEXT) *$(OEXT) $(UNITINSTALLDIR) - -clean : - -$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) $(PPAS) link.res log - -$(DELTREE) *$(SMARTEXT) - - -##################################################################### -# Files -##################################################################### +vpath %$(PASEXT) $(INC) $(PROCINC) # # Loaders # prt0$(OEXT) : prt0.as - as -o prt0$(OEXT) prt0.as + $(AS) -o prt0$(OEXT) prt0.as # # Base Units (System, strings, os-dependent-base-unit) @@ -144,13 +170,11 @@ prt0$(OEXT) : prt0.as $(SYSTEMPPU) : system.pp $(SYSDEPS) $(COMPILER) -Us -Sg system.pp $(REDIR) -strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\ - $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\ - $(SYSTEMPPU) - $(COMPILER) $(INC)/strings.pp $(REDIR) +strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \ + $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \ + $(SYSTEMPPU) go32$(PPUEXT) : go32.pp $(SYSTEMPPU) - $(COMPILER) go32.pp $(REDIR) # # Delphi Object Model @@ -163,119 +187,36 @@ include $(OBJPASDIR)/makefile.op # System Dependent Units # -mouse$(PPUEXT) : mouse.pp $(SYSTEMPPU) - $(COMPILER) mouse.pp $(REDIR) - - # # TP7 Compatible RTL Units # dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc \ go32$(PPUEXT) strings$(PPUEXT) $(SYSTEMPPU) - $(COMPILER) dos.pp $(REDIR) crt$(PPUEXT) : crt.pp $(INC)/textrec.inc go32$(PPUEXT) $(SYSTEMPPU) - $(COMPILER) crt.pp $(REDIR) objects$(PPUEXT) : $(INC)/objects.pp objinc.inc $(SYSTEMPPU) - $(COMPILER) $(INC)/objects.pp $(REDIR) printer$(PPUEXT) : printer.pp $(SYSTEMPPU) - $(COMPILER) printer.pp $(REDIR) # # Other RTL Units # cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMPPU) - $(COMPILER) $(PROCINC)/cpu.pp $(REDIR) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMPPU) - $(COMPILER) $(PROCINC)/mmx.pp $(REDIR) getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMPPU) - $(COMPILER) $(INC)/getopts.pp $(REDIR) heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMPPU) - $(COMPILER) $(INC)/heaptrc $(REDIR) - -##################################################################### -# Libs -##################################################################### - -staticlib: - make libsclean - make all SMARTLINK=YES LIBNAME=fpc LIBTYPE=static - -sharedlib: - @echo Shared Libraries not supported for Go32v1 - -staticlibinstall: staticlib - $(MKDIR) $(STATIC_LIBINSTALLDIR) - $(MKDIR) $(STATIC_UNITINSTALLDIR) - $(INSTALLEXE) fpc$(STATICLIBEXT) $(STATIC_LIBINSTALLDIR) - $(INSTALL) *$(PPUEXT) *$(OEXT) $(STATIC_UNITINSTALLDIR) - -sharedlibinstall: sharedlib - -libinstall: staticlibinstall - -libsclean : clean - -$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) - - -##################################################################### -# Default targets -##################################################################### - -include $(CFG)/makefile.def +msmouse$(PPUEXT) : msmouse.pp $(SYSTEMPPU) # # $Log$ -# Revision 1.5 1999-02-25 10:00:43 michael -# + Fixed type in strings target +# Revision 1.6 1999-04-08 12:22:52 peter +# * removed os.inc # -# Revision 1.4 1999/02/25 07:39:21 michael -# * Joined strings and sysutils -# -# Revision 1.3 1999/01/15 11:47:12 peter -# + added math unit to objects -# -# Revision 1.2 1998/12/28 23:37:38 peter -# * clean target fix, theres no objpas dir to clean anymore -# -# Revision 1.1 1998/12/21 13:07:02 peter -# * use -FE -# -# Revision 1.9 1998/11/24 19:49:44 jonas -# + added warning about TABs -# -# Revision 1.8 1998/10/12 08:36:29 pierre -# * wrong 'objpas' target in all removed -# -# Revision 1.7 1998/10/11 13:45:04 michael -# + Added disk.inc to sysutils dependencies -# -# Revision 1.6 1998/10/11 12:21:47 michael -# + Further sysutils implementations. -# -# Revision 1.5 1998/10/06 22:10:29 peter -# + heaptrc -# -# Revision 1.4 1998/10/02 09:25:59 peter -# * fixed rtl path -# -# Revision 1.3 1998/09/16 16:47:26 peter -# * merged fixes -# -# Revision 1.1.2.2 1998/09/16 16:17:49 peter -# * updates to install with go32,win32 -# -# Revision 1.2 1998/09/15 12:09:08 peter -# * merged updates -# -# Revision 1.1.2.1 1998/09/15 12:02:02 peter -# * updates to get objpas using its own makefile # diff --git a/rtl/go32v1/disk.inc b/rtl/go32v1/disk.inc index dd48bb5c3c..099a5be43f 100644 --- a/rtl/go32v1/disk.inc +++ b/rtl/go32v1/disk.inc @@ -15,48 +15,77 @@ **********************************************************************} Function DiskFree (Drive : Byte) : Longint; - +var + Regs: Registers; begin + Regs.Dl := Drive; + Regs.Ah := $36; + intr($21, Regs); + if Regs.Ax <> $FFFF then + result := Regs.Ax * Regs.Bx * Regs.Cx + else + result := -1; end; Function DiskSize (Drive : Byte) : Longint; - +var + Regs: Registers; begin + Regs.Dl := Drive; + Regs.Ah := $36; + Intr($21, Regs); + if Regs.Ax <> $FFFF then + result := Regs.Ax * Regs.Cx * Regs.Dx + else + result := -1; end; Function GetCurrentDir : String; - begin + GetDir(0, result); end; Function SetCurrentDir (Const NewDir : String) : Boolean; - begin + {$I-} + ChDir(NewDir); + result := (IOResult = 0); + {$I+} end; Function CreateDir (Const NewDir : String) : Boolean; - begin + {$I-} + MkDir(NewDir); + result := (IOResult = 0); + {$I+} end; Function RemoveDir (Const Dir : String) : Boolean; - begin + {$I-} + RmDir(Dir); + result := (IOResult = 0); + {$I+} end; - { - $Log$ - Revision 1.1 1998-12-21 13:07:02 peter - * use -FE + $Log$ + Revision 1.2 1999-04-08 12:22:53 peter + * removed os.inc - Revision 1.1 1998/10/11 13:42:55 michael - Added disk functions + Revision 1.1 1998/12/21 13:07:02 peter + * use -FE -} \ No newline at end of file + Revision 1.2 1998/10/30 14:13:13 michael + + Implementation of functions by Gertjan Schouten + + Revision 1.1 1998/10/11 13:42:55 michael + Added disk functions +} diff --git a/rtl/go32v1/filutil.inc b/rtl/go32v1/filutil.inc index aefc6f7ad8..8abfbaa804 100644 --- a/rtl/go32v1/filutil.inc +++ b/rtl/go32v1/filutil.inc @@ -92,6 +92,12 @@ begin end; +Function FileTruncate (Handle,Size: Longint) : boolean; +begin + //!! Needs implementing +end; + + Function FileGetDate (Handle : Longint) : Longint; begin @@ -141,15 +147,27 @@ begin end; +Procedure GetLocalTime(var SystemTime: TSystemTime); +begin +end ; + + +{ --------------------------------------------------------------------- + Internationalization settings + ---------------------------------------------------------------------} + +procedure InitAnsi; +begin +end; + +Procedure InitInternational; +begin +end; + + { $Log$ - Revision 1.1 1998-12-21 13:07:02 peter - * use -FE - - Revision 1.2 1998/10/12 08:02:56 michael - wrong file committed - - Revision 1.1 1998/10/11 12:21:01 michael - Added file calls. Implemented for linux only + Revision 1.2 1999-04-08 12:22:54 peter + * removed os.inc } diff --git a/rtl/go32v1/mouse.pp b/rtl/go32v1/msmouse.pp similarity index 90% rename from rtl/go32v1/mouse.pp rename to rtl/go32v1/msmouse.pp index 4d25cf34ce..7dc624e25a 100644 --- a/rtl/go32v1/mouse.pp +++ b/rtl/go32v1/msmouse.pp @@ -12,7 +12,7 @@ ********************************************************************** } -Unit Mouse; +Unit MSMouse; Interface { @@ -102,7 +102,7 @@ Var Implementation -{$I386_ATT} +{$asmmode ATT} Function InitMouse: Boolean; begin @@ -387,39 +387,10 @@ End; Begin MouseFound := InitMouse; End. + { $Log$ - Revision 1.1 1998-12-21 13:07:02 peter - * use -FE + Revision 1.1 1999-04-08 12:22:56 peter + * removed os.inc - Revision 1.5 1998/07/15 16:10:35 jonas - * new mouse uni - - Revision 1.3 1998/04/05 13:56:54 peter - - fixed mouse to compile with $i386_att - + linux crt supports redirecting (not Esc-codes anymore) - - Revision 1.2 1998/03/26 12:25:22 peter - * integrated both mouse units - - Revision 1.1.1.1 1998/03/25 11:18:41 root - * Restored version - - Revision 1.4 1998/03/24 15:53:12 peter - * cleanup and doesn't give warnings when compiling - - Revision 1.3 1998/01/26 11:56:24 michael - + Added log at the end - - Revision 1.2 - date: 1997/12/01 12:15:45; author: michael; state: Exp; lines: +14 -12 - + added copyright reference in header. - - Revision 1.1 - date: 1997/11/27 08:33:49; author: michael; state: Exp; - Initial revision - - Revision 1.1.1.1 - date: 1997/11/27 08:33:49; author: michael; state: Exp; lines: +0 -0 - FPC RTL CVS start } diff --git a/rtl/go32v1/os.inc b/rtl/go32v1/os.inc deleted file mode 100644 index 4efee57fee..0000000000 --- a/rtl/go32v1/os.inc +++ /dev/null @@ -1,30 +0,0 @@ -{ - $Id$ - This file is part of the Free Pascal run time library. - Copyright (c) 1993,97 by the Free Pascal development team. - - 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. - - **********************************************************************} -{$define go32v1} -{$undef go32v2} -{$undef os2} -{$undef linux} -{$undef win32} - -{ - $Log$ - Revision 1.1 1998-12-21 13:07:02 peter - * use -FE - - Revision 1.2 1998/05/22 00:39:31 peter - * go32v1, go32v2 recompiles with the new objects - * remake3 works again with go32v2 - - removed some "optimizes" from daniel which were wrong - -} diff --git a/rtl/go32v1/system.pp b/rtl/go32v1/system.pp index 636c2e28b3..7654717619 100644 --- a/rtl/go32v1/system.pp +++ b/rtl/go32v1/system.pp @@ -15,11 +15,6 @@ unit system; interface -{ no stack check in system } -{$S-} - -{$I os.inc} - { include system-independent routine headers } {$I systemh.inc} @@ -619,7 +614,10 @@ Begin End. { $Log$ - Revision 1.3 1999-01-18 10:05:49 pierre + Revision 1.4 1999-04-08 12:22:57 peter + * removed os.inc + + Revision 1.3 1999/01/18 10:05:49 pierre + system_exit procedure added Revision 1.2 1998/12/28 15:50:44 peter diff --git a/rtl/go32v2/disk.inc b/rtl/go32v2/disk.inc index c02e300a9a..ff07b9e052 100644 --- a/rtl/go32v2/disk.inc +++ b/rtl/go32v2/disk.inc @@ -15,78 +15,77 @@ **********************************************************************} Function DiskFree (Drive : Byte) : Longint; -var Regs: Registers; +var + Regs: Registers; begin -Regs.Dl := Drive; -Regs.Ah := $36; -intr($21, Regs); -if Regs.Ax <> $FFFF then - result := Regs.Ax * Regs.Bx * Regs.Cx -else - result := -1; + Regs.Dl := Drive; + Regs.Ah := $36; + intr($21, Regs); + if Regs.Ax <> $FFFF then + result := Regs.Ax * Regs.Bx * Regs.Cx + else + result := -1; end; Function DiskSize (Drive : Byte) : Longint; -var Regs: Registers; +var + Regs: Registers; begin -Regs.Dl := Drive; -Regs.Ah := $36; -Intr($21, Regs); -if Regs.Ax <> $FFFF then - result := Regs.Ax * Regs.Cx * Regs.Dx -else - result := -1; + Regs.Dl := Drive; + Regs.Ah := $36; + Intr($21, Regs); + if Regs.Ax <> $FFFF then + result := Regs.Ax * Regs.Cx * Regs.Dx + else + result := -1; end; Function GetCurrentDir : String; - begin -GetDir(0, result); + GetDir(0, result); end; -Function SetCurrentDir(Const NewDir : String) : Boolean; - +Function SetCurrentDir (Const NewDir : String) : Boolean; begin -{$I-} -ChDir(NewDir); -result := (IOResult = 0); -{$I+} + {$I-} + ChDir(NewDir); + result := (IOResult = 0); + {$I+} end; Function CreateDir (Const NewDir : String) : Boolean; - begin -{$I-} -MkDir(NewDir); -result := (IOResult = 0); -{$I+} + {$I-} + MkDir(NewDir); + result := (IOResult = 0); + {$I+} end; Function RemoveDir (Const Dir : String) : Boolean; - begin -{$I-} -RmDir(Dir); -result := (IOResult = 0); -{$I+} + {$I-} + RmDir(Dir); + result := (IOResult = 0); + {$I+} end; - { - $Log$ - Revision 1.1 1998-12-21 13:07:02 peter - * use -FE + $Log$ + Revision 1.2 1999-04-08 12:22:58 peter + * removed os.inc - Revision 1.2 1998/10/30 14:13:13 michael - + Implementation of functions by Gertjan Schouten + Revision 1.1 1998/12/21 13:07:02 peter + * use -FE - Revision 1.1 1998/10/11 13:42:55 michael - Added disk functions + Revision 1.2 1998/10/30 14:13:13 michael + + Implementation of functions by Gertjan Schouten + Revision 1.1 1998/10/11 13:42:55 michael + Added disk functions } diff --git a/rtl/go32v2/emu387.pp b/rtl/go32v2/emu387.pp index 23c2affbf5..041cb76595 100644 --- a/rtl/go32v2/emu387.pp +++ b/rtl/go32v2/emu387.pp @@ -33,7 +33,7 @@ var _emu_entry : emu_entry_type; -procedure _control87(mask1,mask2 : word); +procedure _control87(mask1,mask2 : longint); begin { Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details } { from file cntrl87.s in src/libc/pc_hw/fpu } @@ -216,7 +216,10 @@ begin end. { $Log$ - Revision 1.2 1999-03-01 15:40:50 peter + Revision 1.3 1999-04-08 12:22:59 peter + * removed os.inc + + Revision 1.2 1999/03/01 15:40:50 peter * use external names * removed all direct assembler modes diff --git a/rtl/go32v2/graph.pp b/rtl/go32v2/graph.pp index f2775ee7a1..b706caeb8b 100644 --- a/rtl/go32v2/graph.pp +++ b/rtl/go32v2/graph.pp @@ -20,7 +20,6 @@ unit GRAPH; {$R-} {$Q-} { $DEFINE DEBUG} -{$I os.inc} {$ifdef DEBUG} {$define TEST_24BPP} @@ -1016,7 +1015,10 @@ end. { $Log$ - Revision 1.3 1999-03-02 13:56:34 peter + Revision 1.4 1999-04-08 12:23:00 peter + * removed os.inc + + Revision 1.3 1999/03/02 13:56:34 peter * use ATT assembler in profile * use AS output in graph diff --git a/rtl/go32v2/os.inc b/rtl/go32v2/os.inc deleted file mode 100644 index f59d3e4ef6..0000000000 --- a/rtl/go32v2/os.inc +++ /dev/null @@ -1,29 +0,0 @@ -{ - $Id$ - This file is part of the Free Pascal run time library. - Copyright (c) 1993,97 by the Free Pascal development team. - - 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. - - **********************************************************************} -{$undef go32v1} -{$define go32v2} -{$undef os2} -{$undef linux} -{$undef win32} - -{ - $Log$ - Revision 1.1 1998-12-21 13:07:03 peter - * use -FE - - Revision 1.2 1998/05/31 14:18:27 peter - * force att or direct assembling - * cleanup of some files - -} diff --git a/rtl/go32v2/system.pp b/rtl/go32v2/system.pp index 16865d701e..bfc35b7533 100644 --- a/rtl/go32v2/system.pp +++ b/rtl/go32v2/system.pp @@ -11,12 +11,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. **********************************************************************} -{ no stack check in system } -{$S-} unit system; - -{$I os.inc} - interface { include system-independent routine headers } @@ -137,8 +132,7 @@ var old_int00 : tseginfo;cvar; old_int75 : tseginfo;cvar; - -{$ASMMODE ATT} +{$asmmode ATT} {***************************************************************************** Go32 Helpers @@ -1228,7 +1222,10 @@ Begin End. { $Log$ - Revision 1.7 1999-03-10 22:15:28 florian + Revision 1.8 1999-04-08 12:23:02 peter + * removed os.inc + + Revision 1.7 1999/03/10 22:15:28 florian + system.cmdline variable for go32v2 and win32 added Revision 1.6 1999/03/01 15:40:52 peter diff --git a/rtl/linux/os.inc b/rtl/linux/os.inc deleted file mode 100644 index fb276e9e9a..0000000000 --- a/rtl/linux/os.inc +++ /dev/null @@ -1,27 +0,0 @@ -{ - $Id$ - This file is part of the Free Pascal run time library. - Copyright (c) 1993,97 by the Free Pascal development team. - - 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. - - **********************************************************************} -{$undef dos} -{$undef go32v2} -{$undef os2} -{$define linux} -{$undef win32} - -{ - $Log$ - Revision 1.2 1998-05-06 12:38:22 michael - + Removed log from before restored version. - - Revision 1.1.1.1 1998/03/25 11:18:43 root - * Restored version -} diff --git a/rtl/linux/syslinux.pp b/rtl/linux/syslinux.pp index f7753e4880..40c8a77e77 100644 --- a/rtl/linux/syslinux.pp +++ b/rtl/linux/syslinux.pp @@ -22,11 +22,7 @@ { If you use an aout system, set the conditional AOUT} { $Define AOUT} - Unit SysLinux; - -{$I os.inc} - Interface {$ifdef m68k} @@ -738,7 +734,10 @@ End. { $Log$ - Revision 1.22 1999-01-18 10:05:53 pierre + Revision 1.23 1999-04-08 12:23:04 peter + * removed os.inc + + Revision 1.22 1999/01/18 10:05:53 pierre + system_exit procedure added Revision 1.21 1998/12/28 15:50:49 peter diff --git a/rtl/objpas/sysutils.pp b/rtl/objpas/sysutils.pp index a4ba17fec0..c650852c0f 100644 --- a/rtl/objpas/sysutils.pp +++ b/rtl/objpas/sysutils.pp @@ -22,16 +22,17 @@ interface uses {$ifdef linux} linux - {$else} - {$ifdef win32} - dos,windows - {$else} - {$ifdef go32v2} - dos,go32 - {$endif go32v2} - {$endif win32} - {$endif linux} - ; + {$endif} + {$ifdef win32} + windows,dos + {$endif} + {$ifdef go32v1} + go32,dos + {$endif} + {$ifdef go32v2} + go32,dos + {$endif} + ; type @@ -99,7 +100,7 @@ type { Read internationalization settings } {$i sysinth.inc} - + { Read date & Time function declarations } {$i datih.inc} @@ -278,7 +279,10 @@ begin end. { $Log$ - Revision 1.23 1999-02-28 13:17:37 michael + Revision 1.24 1999-04-08 12:23:05 peter + * removed os.inc + + Revision 1.23 1999/02/28 13:17:37 michael + Added internationalization support and more format functions Revision 1.22 1999/02/10 22:15:13 michael diff --git a/rtl/win32/disk.inc b/rtl/win32/disk.inc index a9f3150be2..e8b93ff13a 100644 --- a/rtl/win32/disk.inc +++ b/rtl/win32/disk.inc @@ -4,7 +4,7 @@ Copyright (c) 1998 by the Free Pascal development team Disk functions from Delphi's sysutils.pas - + See the file COPYING.FPC, included in this distribution, for details about the copyright. @@ -14,46 +14,97 @@ **********************************************************************} -Function DiskFree (Drive : Byte) : Longint; + function GetDiskFreeSpace(drive:pchar;var sector_cluster,bytes_sector, + freeclusters,totalclusters:longint):longbool; + external 'kernel32' name 'GetDiskFreeSpaceA'; +function diskfree(drive : byte) : longint; +var + disk : array[1..4] of char; + secs,bytes, + free,total : longint; begin + if drive=0 then + begin + disk[1]:='\'; + disk[2]:=#0; + end + else + begin + disk[1]:=chr(drive+64); + disk[2]:=':'; + disk[3]:='\'; + disk[4]:=#0; + end; + if GetDiskFreeSpace(@disk,secs,bytes,free,total) then + result:=free*secs*bytes + else + result:=-1; end; -Function DiskSize (Drive : Byte) : Longint; - +function disksize(drive : byte) : longint; +var + disk : array[1..4] of char; + secs,bytes, + free,total : longint; begin + if drive=0 then + begin + disk[1]:='\'; + disk[2]:=#0; + end + else + begin + disk[1]:=chr(drive+64); + disk[2]:=':'; + disk[3]:='\'; + disk[4]:=#0; + end; + if GetDiskFreeSpace(@disk,secs,bytes,free,total) then + result:=total*secs*bytes + else + result:=-1; end; Function GetCurrentDir : String; - begin + GetDir(0, result); end; Function SetCurrentDir (Const NewDir : String) : Boolean; - begin + {$I-} + ChDir(NewDir); + result := (IOResult = 0); + {$I+} end; Function CreateDir (Const NewDir : String) : Boolean; - begin + {$I-} + MkDir(NewDir); + result := (IOResult = 0); + {$I+} end; Function RemoveDir (Const Dir : String) : Boolean; - begin + {$I-} + RmDir(Dir); + result := (IOResult = 0); + {$I+} end; - - { - $Log$ - Revision 1.1 1998-10-11 13:42:55 michael - Added disk functions + $Log$ + Revision 1.2 1999-04-08 12:23:06 peter + * removed os.inc -} \ No newline at end of file + Revision 1.1 1998/10/11 13:42:55 michael + Added disk functions +} diff --git a/rtl/win32/dos.pp b/rtl/win32/dos.pp index 337208ab9d..ddc6abf3ec 100644 --- a/rtl/win32/dos.pp +++ b/rtl/win32/dos.pp @@ -14,9 +14,6 @@ **********************************************************************} unit dos; - -{$I os.inc} - interface { Include Win32 Consts,Types } @@ -879,7 +876,10 @@ End; end. { $Log$ - Revision 1.13 1998-11-16 15:48:53 peter + Revision 1.14 1999-04-08 12:23:07 peter + * removed os.inc + + Revision 1.13 1998/11/16 15:48:53 peter * fixed longbool returns for api calls Revision 1.12 1998/10/27 10:55:55 michael diff --git a/rtl/win32/filutil.inc b/rtl/win32/filutil.inc index d7b5f79d45..5c93718660 100644 --- a/rtl/win32/filutil.inc +++ b/rtl/win32/filutil.inc @@ -114,8 +114,6 @@ Function FileAge (Const FileName : String): Longint; var Handle: THandle; FindData: TWin32FindData; - LocalFileTime: TFileTime; - Fn : String; begin Handle := FindFirstFile(Pchar(FileName), @FindData); @@ -428,7 +426,10 @@ end; { $Log$ - Revision 1.8 1999-03-18 16:15:59 michael + Revision 1.9 1999-04-08 12:23:09 peter + * removed os.inc + + Revision 1.8 1999/03/18 16:15:59 michael - Really removed debug statements Revision 1.7 1999/03/16 21:01:00 peter diff --git a/rtl/win32/os.inc b/rtl/win32/os.inc deleted file mode 100644 index 3eab4f9235..0000000000 --- a/rtl/win32/os.inc +++ /dev/null @@ -1,26 +0,0 @@ -{ - $Id$ - This file is part of the Free Pascal run time library. - Copyright (c) 1993,97 by the Free Pascal development team - - 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. - - **********************************************************************} - -{$define win32} -{$undef go32v1} -{$undef go32v2} -{$undef os2} -{$undef linux} - -{ - $Log$ - Revision 1.3 1998-06-10 10:39:16 peter - * working w32 rtl - -} diff --git a/rtl/win32/syswin32.pp b/rtl/win32/syswin32.pp index e280a2ebb6..8b830f5935 100644 --- a/rtl/win32/syswin32.pp +++ b/rtl/win32/syswin32.pp @@ -14,25 +14,19 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. **********************************************************************} -{$S-} unit syswin32; - -{$I os.inc} - interface -{ include system-independent routine headers } -{$ASMMODE ATT} - -{$I systemh.inc} - -{ include heap support headers } -{$I heaph.inc} - {$ifdef i386} {$define Set_i386_Exception_handler} {$endif i386} +{ include system-independent routine headers } +{$I systemh.inc} + +{ include heap support headers } +{$I heaph.inc} + const { Default filehandles } UnusedHandle : longint = -1; @@ -77,7 +71,6 @@ var implementation - { include system independent routines } {$I system.inc} @@ -126,6 +119,9 @@ CONST var errno : longint; +{$ASMMODE ATT} + + { misc. functions } function GetLastError : DWORD; external 'kernel32' name 'GetLastError'; @@ -1014,7 +1010,10 @@ end. { $Log$ - Revision 1.36 1999-03-24 23:25:59 peter + Revision 1.37 1999-04-08 12:23:11 peter + * removed os.inc + + Revision 1.36 1999/03/24 23:25:59 peter * fixed file sharing Revision 1.35 1999/03/12 00:07:48 pierre