mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-17 18:21:48 +02:00
* makefile updates
This commit is contained in:
parent
e4db3c0e10
commit
a7741dd7e7
194
fcl/Makefile
194
fcl/Makefile
@ -1,105 +1,125 @@
|
||||
#****************************************************************************
|
||||
# Makefile for Free Component Library
|
||||
# Copyright (c) 1998 by the Free Pascal Development Team
|
||||
#****************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
# Copyright (c) 1999 by the Free Pascal Development Team
|
||||
#
|
||||
# Makefile for Free Component Library
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Start of configurable section
|
||||
# Defaults
|
||||
#####################################################################
|
||||
|
||||
# What compiler do you want to use :
|
||||
# !! If you specify a path, specify an absolute path !!
|
||||
#PP=/pas/fpk/curver/ppc386
|
||||
PP=ppc386
|
||||
# Default place of the makefile.fpc
|
||||
DEFAULTFPCDIR=..
|
||||
|
||||
# What is your OS ?
|
||||
# Possible choices : linux win32 go32v2 go32v1 os2
|
||||
#OS_SRC=linux
|
||||
#OS_SRC=win32
|
||||
#OS_SRC=go32v1
|
||||
OS_SRC=go32v2
|
||||
#OS_SRC=os2
|
||||
|
||||
# Where do you want to install the units ?
|
||||
UNITINSTALLDIR=/usr/lib/ppc/0.99.6/fcl
|
||||
# UNITINSTALLDIR=\pp\units\fcl
|
||||
#####################################################################
|
||||
# Common targets
|
||||
#####################################################################
|
||||
|
||||
# set target processor type
|
||||
CPU=i386
|
||||
# CPU=m68k
|
||||
.PHONY: all clean install info \
|
||||
staticlib sharedlib libsclean \
|
||||
staticinstall sharedinstall libinstall \
|
||||
|
||||
# Where is the ppumove program ? (set only if you want to make libs)
|
||||
# Don't specify a relative path.
|
||||
PPUMOVE=ppumove
|
||||
all: testfpcmake
|
||||
$(MAKE) -C $(OS_TARGET) all
|
||||
|
||||
clean: testfpcmake
|
||||
$(MAKE) -C go32v2 clean
|
||||
$(MAKE) -C linux clean
|
||||
$(MAKE) -C win32 clean
|
||||
$(MAKE) -C os2 clean
|
||||
$(MAKE) -C tests clean
|
||||
|
||||
# Set any options you wish to give to the compiler
|
||||
OPT=
|
||||
install: testfpcmake
|
||||
$(MAKE) -C $(OS_TARGET) install
|
||||
|
||||
#######################################################################
|
||||
# End of configurable section.
|
||||
# Do not edit after this line.
|
||||
#######################################################################
|
||||
info: testfpcmake fpc_info
|
||||
|
||||
# Where are we ?
|
||||
BASEDIR=$(shell pwd)
|
||||
ifeq ($(findstring :,$(BASEDIR)),)
|
||||
inlinux=1
|
||||
staticlib: testfpcmake
|
||||
$(MAKE) -C $(OS_TARGET) staticlib
|
||||
|
||||
sharedlib: testfpcmake
|
||||
$(MAKE) -C $(OS_TARGET) sharedlib
|
||||
|
||||
libsclean: testfpcmake
|
||||
$(MAKE) -C $(OS_TARGET) libsclean
|
||||
|
||||
staticinstall: testfpcmake
|
||||
$(MAKE) -C $(OS_TARGET) staticinstall
|
||||
|
||||
sharedinstall: testfpcmake
|
||||
$(MAKE) -C $(OS_TARGET) sharedinstall
|
||||
|
||||
libinstall: testfpcmake
|
||||
$(MAKE) -C $(OS_TARGET) libinstall
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Include default makefile
|
||||
#####################################################################
|
||||
|
||||
# test if FPCMAKE is still valid
|
||||
ifdef FPCMAKE
|
||||
ifeq ($(strip $(wildcard $(FPCMAKE))),)
|
||||
FPCDIR=
|
||||
FPCMAKE=
|
||||
endif
|
||||
ifeq ($(strip $(BASEDIR)),'')
|
||||
inlinux=
|
||||
BASEDIR:=.
|
||||
endif
|
||||
|
||||
# Check operating system.
|
||||
ifeq ($(OS_SRC),linux)
|
||||
DOS=NO
|
||||
ifndef FPCDIR
|
||||
ifdef DEFAULTFPCDIR
|
||||
FPCDIR=$(DEFAULTFPCDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCMAKE
|
||||
ifdef FPCDIR
|
||||
FPCMAKE=$(FPCDIR)/makefile.fpc
|
||||
else
|
||||
DOS=YES
|
||||
# also redirect the standard error to the redir file
|
||||
ifdef REDIR
|
||||
PP:=redir -eo $(PP)
|
||||
# set the verbosity to max
|
||||
OPT:=$(OPT) -va
|
||||
FPCMAKE=makefile.fpc
|
||||
endif
|
||||
endif
|
||||
|
||||
# Check copy delete commands.
|
||||
# You need cp from GNU to handle / as directory separator
|
||||
COPY=cp -p
|
||||
DEL=rm
|
||||
|
||||
# To install programs
|
||||
ifndef INSTALL
|
||||
ifeq ($(DOS),YES)
|
||||
INSTALL=cp
|
||||
override FPCMAKE:=$(strip $(wildcard $(FPCMAKE)))
|
||||
ifeq ($(FPCMAKE),)
|
||||
testfpcmake:
|
||||
@echo makefile.fpc not found!
|
||||
@echo Check the FPCMAKE and FPCDIR environment variables.
|
||||
@exit 1
|
||||
else
|
||||
INSTALL=install
|
||||
endif
|
||||
include $(FPCMAKE)
|
||||
testfpcmake:
|
||||
endif
|
||||
|
||||
# To make a directory.
|
||||
ifndef MKDIR
|
||||
ifeq ($(DOS),YES)
|
||||
MKDIR=mkdir
|
||||
else
|
||||
MKDIR=install -m 755 -d
|
||||
endif
|
||||
endif
|
||||
|
||||
# add target processor define to command line options
|
||||
OPT:=$(OPT) -d$(CPU)
|
||||
|
||||
# Variables to export
|
||||
export OS_SRC DOS SEP PP OPT REDIR COPY DEL LIBINSTALLDIR INSTALL MKDIR \
|
||||
REFPATH CPU PPUMOVE UNITINSTALLDIR
|
||||
|
||||
.PHONY: native all linux win32 os2 go32v2 clean install
|
||||
|
||||
native: $(OS_SRC)
|
||||
|
||||
all: linux go32v2 win32 os2
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Dependencies
|
||||
#####################################################################
|
||||
|
||||
.PHONY: tests examples go32v2 linux os win32
|
||||
|
||||
#
|
||||
# Examples
|
||||
#
|
||||
examples: tests
|
||||
|
||||
tests: all
|
||||
$(MAKE) -C tests all
|
||||
|
||||
|
||||
#
|
||||
# Specific OS
|
||||
#
|
||||
go32v2:
|
||||
$(MAKE) -C go32v2
|
||||
|
||||
@ -112,13 +132,9 @@ os2:
|
||||
win32:
|
||||
$(MAKE) -C win32
|
||||
|
||||
clean:
|
||||
$(MAKE) -C inc clean
|
||||
$(MAKE) -C i386 clean
|
||||
$(MAKE) -C go32v2 clean
|
||||
$(MAKE) -C linux clean
|
||||
$(MAKE) -C os2 clean
|
||||
$(MAKE) -C win32 clean
|
||||
|
||||
install:
|
||||
$(MAKE) -C $(OS_SRC) install
|
||||
#
|
||||
# $Log$
|
||||
# Revision 1.3 1999-04-08 10:18:47 peter
|
||||
# * makefile updates
|
||||
#
|
||||
#
|
||||
|
@ -1,102 +1,129 @@
|
||||
#######################################################################
|
||||
# Makefile for Free Pascal
|
||||
# (C) 1998 Michael van Canneyt
|
||||
#######################################################################
|
||||
#
|
||||
# Configurable section
|
||||
# $Id$
|
||||
# Copyright (c) 1999 by the Free Pascal Development Team
|
||||
#
|
||||
# Makefile for Free Component Library for Go32v2
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# What Compiler should we use ?
|
||||
PP=ppc386
|
||||
|
||||
# Where are the Free Pascal units ? (Optional)
|
||||
#UNITDIR = c:/pp/units/dos/go32v2
|
||||
#####################################################################
|
||||
# Defaults
|
||||
#####################################################################
|
||||
|
||||
# Processor you are using
|
||||
CPU=i386
|
||||
#CPU=m68k
|
||||
# Default place of the makefile.fpc
|
||||
DEFAULTFPCDIR=../..
|
||||
|
||||
# Any options you wish to pass to the compiler
|
||||
OPT=
|
||||
# Include files
|
||||
INC=../inc
|
||||
PROCINC=../$(CPU)
|
||||
|
||||
# Where to install the units ?
|
||||
UNITINSTALLDIR=c:/pp/units/fcl
|
||||
# Where to place the files
|
||||
TARGETDIR=.
|
||||
|
||||
# Where to install the programs ?
|
||||
BININSTALLDIR=/pp/bin
|
||||
# We need always -S2
|
||||
NEEDOPT=-S2
|
||||
|
||||
# Install program ?
|
||||
INSTALL=cp
|
||||
# As default make only the units
|
||||
DEFAULTUNITS=1
|
||||
|
||||
# Mkdir program ?
|
||||
MKDIR=mkdir
|
||||
|
||||
#######################################################################
|
||||
# End of configurable section. Do not edit below this line.
|
||||
#######################################################################
|
||||
#####################################################################
|
||||
# Real targets
|
||||
#####################################################################
|
||||
|
||||
.SUFFIXES: .pp .ppu .pas
|
||||
.PHONY: all install clean units progs
|
||||
UNITOBJECTS=classes
|
||||
EXEOBJECTS=
|
||||
|
||||
INCDIR=../inc
|
||||
CPUDIR=../$(CPU)
|
||||
|
||||
include $(INCDIR)/Makefile.inc
|
||||
#####################################################################
|
||||
# Common targets
|
||||
#####################################################################
|
||||
|
||||
# Set inc
|
||||
INCFILENAMES=$(addprefix $(INCDIR)/,$(INCNAMES))
|
||||
.PHONY: all clean install info \
|
||||
staticlib sharedlib libsclean \
|
||||
staticinstall sharedinstall libinstall \
|
||||
|
||||
all: testfpcmake fpc_all
|
||||
|
||||
# If nothing special needs doing, then just fill in the names here.
|
||||
# The rest should be automatic.
|
||||
UNITNAMES=classes
|
||||
#PROGNAMES=
|
||||
UNITOBJECTS=$(addsuffix .o, $(UNITNAMES))
|
||||
UNITFILES=$(addsuffix .ppu, $(UNITNAMES))
|
||||
PROGSOURCES=$(addsiffix .pp, $(PROGNAMES))
|
||||
PROGOBJECTS=$(addsuffix .o, $(PROGNAMES))
|
||||
clean: testfpcmake fpc_clean
|
||||
|
||||
# Adapt options. Add unit path if needed.
|
||||
override OPT:=$(OPT) -S2 -I$(INCDIR) -I$(CPUDIR)
|
||||
install: testfpcmake fpc_install
|
||||
|
||||
ifdef UNITDIR
|
||||
override OPT:=$(OPT) -Up$(UNITDIR)
|
||||
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
|
||||
#####################################################################
|
||||
|
||||
# test if FPCMAKE is still valid
|
||||
ifdef FPCMAKE
|
||||
ifeq ($(strip $(wildcard $(FPCMAKE))),)
|
||||
FPCDIR=
|
||||
FPCMAKE=
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCDIR
|
||||
ifdef DEFAULTFPCDIR
|
||||
FPCDIR=$(DEFAULTFPCDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCMAKE
|
||||
ifdef FPCDIR
|
||||
FPCMAKE=$(FPCDIR)/makefile.fpc
|
||||
else
|
||||
FPCMAKE=makefile.fpc
|
||||
endif
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
|
||||
# Default rule for units
|
||||
.pp.ppu:
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
# Default target.
|
||||
all: $(UNITFILES) $(PROGNAMES)
|
||||
#####################################################################
|
||||
# Dependencies
|
||||
#####################################################################
|
||||
|
||||
units: $(UNITFILES)
|
||||
vpath %$(PASEXT) $(INC)
|
||||
|
||||
progs: $(PROGNAMES)
|
||||
include $(INC)/Makefile.inc
|
||||
INCFILES=$(addprefix $(INC)/,$(INCNAMES))
|
||||
|
||||
# Default rule for programs
|
||||
$(PROGNAMES): %:%.pp
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
classes.ppu: classes.pp $(INCFILENAMES) $(PROCFILENAMES)
|
||||
|
||||
classes.pp:
|
||||
cp $(INCDIR)/classes.pp .
|
||||
classes$(PPUEXT): $(INCFILES) classes$(PASEXT)
|
||||
|
||||
#
|
||||
# Generic install and clean targets
|
||||
# $Log$
|
||||
# Revision 1.3 1999-04-08 10:18:48 peter
|
||||
# * makefile updates
|
||||
#
|
||||
#
|
||||
|
||||
install: all
|
||||
$(MKDIR) $(UNITINSTALLDIR)
|
||||
ifdef UNITNAMES
|
||||
$(INSTALL) $(UNITNAMES) $(UNITINSTALLDIR)
|
||||
endif
|
||||
ifdef PROGNAMES
|
||||
$(INSTALL) $(PROGNAMES) $(BININSTALLDIR)
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f $(UNITOBJECTS) $(UNITFILES) $(PROGNAMES) $(PROGOBJECTS)
|
||||
|
||||
# End of makefile.
|
||||
|
@ -1,92 +0,0 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Component Library (FCL)
|
||||
Copyright (c) 1998 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.
|
||||
|
||||
**********************************************************************}
|
||||
{
|
||||
|
||||
This file implements the system-dependent calls needed for the
|
||||
classes unit.
|
||||
|
||||
}
|
||||
|
||||
Function OSCreateFile (Const Filename : string; Mode : Longint) : longint;
|
||||
{
|
||||
Creates a file with name FileName, using mode MODE
|
||||
--> Filename : String giving the path to the file.
|
||||
Mode : Mode can be
|
||||
fmCreate : Create file;
|
||||
fmOpenRead : open for reading;
|
||||
fmOpenWrite : open for writing;
|
||||
<-- File Handle, or -1 on error.
|
||||
}
|
||||
begin
|
||||
end;
|
||||
|
||||
Function OSReadHandle(Handle : Longint;Var Buffer; Count : Longint): Longint;
|
||||
{
|
||||
Read from a handle
|
||||
--> Handle : file,pipe,etc Handle to read from.
|
||||
Buffer : Location where to put the read bytes.
|
||||
Count : Number of bytes that should be read
|
||||
<-- Number of bytes actually read, or -1 on error.
|
||||
}
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
Function OSWriteHandle(Handle : Longint;var Buffer; Count : longint) : Longint;
|
||||
{
|
||||
Write to a handle
|
||||
--> Handle : file,pipe,etc Handle to write to.
|
||||
Buffer : Location where to get the bytes.
|
||||
Count : Number of bytes that should be written.
|
||||
<-- Number of bytes actually written, or -1 on error.
|
||||
}
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
Function OSSetHandleSize (Handle,Size : Longint) : longint;
|
||||
{
|
||||
Set size of handle (for files only)
|
||||
--> Handle : Handle to set size for.
|
||||
Size : Size to be set.
|
||||
<-- 0 on success, or -1 on error.
|
||||
}
|
||||
begin
|
||||
end;
|
||||
|
||||
Function OSSeekHandle (FHandle,OffSet,Origin : longint) : longint;
|
||||
{
|
||||
Seek Handle position starting from Origin
|
||||
--> Handle : Handle of file to do seek on.
|
||||
Offset : Position to seek.
|
||||
Origin : Where to start seek:
|
||||
soFromBeginning
|
||||
soFromCurrent
|
||||
soFromEnd
|
||||
<-- 0 on succes, -1 on error.
|
||||
}
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
Function OSCloseHandle (Handle : longint) : longint;
|
||||
{
|
||||
Close file associated with HAndle.
|
||||
--> Handle : Handle of file to do seek on.
|
||||
<-- 0 on succes, -1 on error.
|
||||
}
|
||||
|
||||
begin
|
||||
end;
|
@ -170,12 +170,14 @@ end;
|
||||
function FindClass(const ClassName: string): TPersistentClass;
|
||||
|
||||
begin
|
||||
FindClass:=nil;
|
||||
end;
|
||||
|
||||
|
||||
function GetClass(const ClassName: string): TPersistentClass;
|
||||
|
||||
begin
|
||||
GetClass:=nil;
|
||||
end;
|
||||
|
||||
|
||||
@ -216,42 +218,49 @@ end;
|
||||
function IdentToInt(const Ident: string; var Int: Longint; const Map: array of TIdentMapEntry): Boolean;
|
||||
|
||||
begin
|
||||
IdentToInt:=false;
|
||||
end;
|
||||
|
||||
|
||||
function IntToIdent(Int: Longint; var Ident: string; const Map: array of TIdentMapEntry): Boolean;
|
||||
|
||||
begin
|
||||
IntToIdent:=false;
|
||||
end;
|
||||
|
||||
|
||||
function InitInheritedComponent(Instance: TComponent; RootAncestor: TClass): Boolean;
|
||||
|
||||
begin
|
||||
InitInheritedComponent:=false;
|
||||
end;
|
||||
|
||||
|
||||
function InitComponentRes(const ResName: string; Instance: TComponent): Boolean;
|
||||
|
||||
begin
|
||||
InitComponentRes:=false;
|
||||
end;
|
||||
|
||||
|
||||
function ReadComponentRes(const ResName: string; Instance: TComponent): TComponent;
|
||||
|
||||
begin
|
||||
ReadComponentRes:=nil;
|
||||
end;
|
||||
|
||||
|
||||
function ReadComponentResEx(HInstance: THandle; const ResName: string): TComponent;
|
||||
|
||||
begin
|
||||
ReadComponentResEx:=nil;
|
||||
end;
|
||||
|
||||
|
||||
function ReadComponentResFile(const FileName: string; Instance: TComponent): TComponent;
|
||||
|
||||
begin
|
||||
ReadComponentResFile:=nil;
|
||||
end;
|
||||
|
||||
|
||||
@ -323,6 +332,7 @@ end;
|
||||
function CollectionsEqual(C1, C2: TCollection): Boolean;
|
||||
|
||||
begin
|
||||
CollectionsEqual:=false;
|
||||
end;
|
||||
|
||||
|
||||
@ -359,6 +369,7 @@ end;
|
||||
function LineStart(Buffer, BufPos: PChar): PChar;
|
||||
|
||||
begin
|
||||
LineStart:=nil;
|
||||
end;
|
||||
|
||||
|
||||
@ -366,83 +377,7 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.8 1999-02-10 13:45:19 michael
|
||||
+ Added spanish language
|
||||
|
||||
Revision 1.7 1998/10/30 14:52:48 michael
|
||||
+ Added format in interface
|
||||
+ Some errors in parser fixed, it uses exceptions now
|
||||
+ Strings now has no more syntax errors.
|
||||
|
||||
Revision 1.6 1998/10/29 12:47:14 michael
|
||||
+ Implementation of tpoint by WYB
|
||||
|
||||
Revision 1.5 1998/09/23 08:41:55 michael
|
||||
Added switch to select language
|
||||
|
||||
Revision 1.4 1998/09/23 07:47:40 michael
|
||||
+ Some changes by TSE
|
||||
|
||||
Revision 1.3 1998/06/03 15:10:20 michael
|
||||
+ added include of util.inc
|
||||
|
||||
Revision 1.2 1998/05/04 14:30:11 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
|
||||
Revision 1.9 1998/05/04 12:16:01 florian
|
||||
+ Initial revisions after making a new directory structure
|
||||
|
||||
Revision 1.8 1998/05/04 11:20:13 florian
|
||||
+ Write* and Read* methods to TStream added
|
||||
* small problems solved
|
||||
|
||||
Revision 1.7 1998/05/04 09:39:51 michael
|
||||
+ Started implementation of TList
|
||||
|
||||
Revision 1.6 1998/05/01 22:17:19 florian
|
||||
+ TBits implemented
|
||||
+ TStream partial implemented
|
||||
|
||||
Revision 1.5 1998/05/01 17:53:12 florian
|
||||
* now it compiles with FPC
|
||||
|
||||
Revision 1.4 1998/04/28 11:47:00 florian
|
||||
* more adaptions to FPC
|
||||
|
||||
Revision 1.3 1998/04/27 12:55:57 florian
|
||||
+ uses objpas added
|
||||
|
||||
Revision 1.2 1998/04/27 09:09:49 michael
|
||||
+ Added log at the end
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.8 1999-02-10 13:45:19 michael
|
||||
+ Added spanish language
|
||||
|
||||
Revision 1.7 1998/10/30 14:52:48 michael
|
||||
+ Added format in interface
|
||||
+ Some errors in parser fixed, it uses exceptions now
|
||||
+ Strings now has no more syntax errors.
|
||||
|
||||
Revision 1.6 1998/10/29 12:47:14 michael
|
||||
+ Implementation of tpoint by WYB
|
||||
|
||||
Revision 1.5 1998/09/23 08:41:55 michael
|
||||
Added switch to select language
|
||||
|
||||
Revision 1.4 1998/09/23 07:47:40 michael
|
||||
+ Some changes by TSE
|
||||
|
||||
Revision 1.3 1998/06/03 15:10:20 michael
|
||||
+ added include of util.inc
|
||||
|
||||
Revision 1.2 1998/05/04 14:30:11 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
|
||||
Revision 1.1 1998/05/04 12:16:01 florian
|
||||
+ Initial revisions after making a new directory structure
|
||||
Revision 1.9 1999-04-08 10:18:50 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -16,7 +16,7 @@
|
||||
{* TComponent *}
|
||||
{****************************************************************************}
|
||||
|
||||
Type
|
||||
Type
|
||||
Longrec = Record
|
||||
Hi,lo : word;
|
||||
end;
|
||||
@ -24,7 +24,7 @@ Type
|
||||
Function TComponent.GetComponent(AIndex: Integer): TComponent;
|
||||
|
||||
begin
|
||||
If not assigned(FComponents) then
|
||||
If not assigned(FComponents) then
|
||||
Result:=Nil
|
||||
else
|
||||
Result:=TComponent(FComponents.Items[Aindex]);
|
||||
@ -34,8 +34,8 @@ end;
|
||||
Function TComponent.GetComponentCount: Integer;
|
||||
|
||||
begin
|
||||
If not assigned(FComponents) then
|
||||
result:=0
|
||||
If not assigned(FComponents) then
|
||||
result:=0
|
||||
else
|
||||
Result:=FComponents.Count;
|
||||
end;
|
||||
@ -47,7 +47,7 @@ begin
|
||||
If Assigned(FOwner) and Assigned(FOwner.FComponents) then
|
||||
Result:=FOWner.FComponents.IndexOf(Self)
|
||||
else
|
||||
Result:=-1;
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
|
||||
@ -79,10 +79,10 @@ Procedure TComponent.Remove(AComponent: TComponent);
|
||||
|
||||
begin
|
||||
AComponent.FOwner:=Nil;
|
||||
If assigned(FCOmponents) then
|
||||
If assigned(FCOmponents) then
|
||||
begin
|
||||
FComponents.Remove(AComponent);
|
||||
IF FComponents.Count=0 then
|
||||
IF FComponents.Count=0 then
|
||||
begin
|
||||
FComponents.Free;
|
||||
FComponents:=Nil;
|
||||
@ -138,11 +138,11 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.DefineProperties(Filer: TFiler);
|
||||
Procedure TComponent.DefineProperties(Filer: TFiler);
|
||||
|
||||
Var Ancestor : TComponent;
|
||||
Temp : longint;
|
||||
|
||||
|
||||
begin
|
||||
Temp:=0;
|
||||
Ancestor:=TComponent(Filer.Ancestor);
|
||||
@ -152,7 +152,7 @@ begin
|
||||
(longrec(FDesignInfo).Lo<>Longrec(temp).Lo));
|
||||
Filer.Defineproperty('top',readtop,writetop,
|
||||
(longrec(FDesignInfo).Hi<>Longrec(temp).Hi));
|
||||
}
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
@ -170,28 +170,28 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Function TComponent.GetChildParent: TComponent;
|
||||
Function TComponent.GetChildParent: TComponent;
|
||||
|
||||
begin
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
|
||||
Function TComponent.GetNamePath: string;
|
||||
Function TComponent.GetNamePath: string;
|
||||
|
||||
begin
|
||||
Result:=FName;
|
||||
end;
|
||||
|
||||
|
||||
Function TComponent.GetOwner: TPersistent;
|
||||
Function TComponent.GetOwner: TPersistent;
|
||||
|
||||
begin
|
||||
Result:=FOwner;
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.Loaded;
|
||||
Procedure TComponent.Loaded;
|
||||
|
||||
begin
|
||||
Exclude(FComponentState,csLoading);
|
||||
@ -204,7 +204,7 @@ Procedure TComponent.Notification(AComponent: TComponent;
|
||||
Var Runner : Longint;
|
||||
|
||||
begin
|
||||
If (Operation=opRemove) and Assigned(FFreeNotifies) then
|
||||
If (Operation=opRemove) and Assigned(FFreeNotifies) then
|
||||
begin
|
||||
FFreeNotifies.Remove(AComponent);
|
||||
If FFreeNotifies.Count=0 then
|
||||
@ -219,7 +219,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.ReadState(Reader: TReader);
|
||||
Procedure TComponent.ReadState(Reader: TReader);
|
||||
|
||||
begin
|
||||
Reader.ReadData(Self);
|
||||
@ -231,7 +231,7 @@ Procedure TComponent.SetAncestor(Value: Boolean);
|
||||
Var Runner : Longint;
|
||||
|
||||
begin
|
||||
If Value then
|
||||
If Value then
|
||||
Include(FComponentState,csAncestor)
|
||||
else
|
||||
Include(FCOmponentState,csAncestor);
|
||||
@ -256,7 +256,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.SetName(const NewName: TComponentName);
|
||||
Procedure TComponent.SetName(const NewName: TComponentName);
|
||||
|
||||
begin
|
||||
If FName=NewName then exit;
|
||||
@ -286,21 +286,21 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.Updating;
|
||||
Procedure TComponent.Updating;
|
||||
|
||||
begin
|
||||
Include (FComponentState,csUpdating);
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.Updated;
|
||||
Procedure TComponent.Updated;
|
||||
|
||||
begin
|
||||
Exclude(FComponentState,csUpdating);
|
||||
end;
|
||||
|
||||
|
||||
class Procedure TComponent.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
|
||||
class Procedure TComponent.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
|
||||
|
||||
begin
|
||||
// For compatibility only.
|
||||
@ -308,11 +308,11 @@ end;
|
||||
|
||||
|
||||
Procedure TComponent.ValidateRename(AComponent: TComponent;
|
||||
const CurName, NewName: string);
|
||||
const CurName, NewName: string);
|
||||
|
||||
begin
|
||||
//!! This contradicts the Delphi manual.
|
||||
If (AComponent<>Nil) and (CurName=NewName) and
|
||||
If (AComponent<>Nil) and (CurName=NewName) and
|
||||
(FindComponent(NewName)<>Nil) then
|
||||
raise EComponentError.Createfmt(SDuplicateName,[newname]);
|
||||
If (csDesigning in FComponentState) and (FOwner<>Nil) then
|
||||
@ -320,27 +320,27 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.ValidateContainer(AComponent: TComponent);
|
||||
Procedure TComponent.ValidateContainer(AComponent: TComponent);
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.ValidateInsert(AComponent: TComponent);
|
||||
Procedure TComponent.ValidateInsert(AComponent: TComponent);
|
||||
|
||||
begin
|
||||
// Does nothing.
|
||||
end;
|
||||
|
||||
|
||||
Procedure TComponent.WriteState(Writer: TWriter);
|
||||
Procedure TComponent.WriteState(Writer: TWriter);
|
||||
|
||||
begin
|
||||
Writer.WriteData(self);
|
||||
end;
|
||||
|
||||
|
||||
Constructor TComponent.Create(AOwner: TComponent);
|
||||
Constructor TComponent.Create(AOwner: TComponent);
|
||||
|
||||
begin
|
||||
FComponentStyle:=[csInheritable];
|
||||
@ -348,7 +348,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Destructor TComponent.Destroy;
|
||||
Destructor TComponent.Destroy;
|
||||
|
||||
Var Runner : Longint;
|
||||
|
||||
@ -372,7 +372,7 @@ Procedure TComponent.DestroyComponents;
|
||||
Var acomponent: TComponent;
|
||||
|
||||
begin
|
||||
While assigned(FComponents) do
|
||||
While assigned(FComponents) do
|
||||
begin
|
||||
aComponent:=TComponent(FComponents.Last);
|
||||
Remove(aComponent);
|
||||
@ -414,7 +414,7 @@ Procedure TComponent.FreeNotification(AComponent: TComponent);
|
||||
|
||||
begin
|
||||
If (Owner<>Nil) and (AComponent=Owner) then exit;
|
||||
If not (Assigned(FFreeNotifies)) then
|
||||
If not (Assigned(FFreeNotifies)) then
|
||||
FFreeNotifies:=TList.Create;
|
||||
If FFreeNotifies.IndexOf(AComponent)=-1 then
|
||||
begin
|
||||
@ -431,14 +431,14 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Function TComponent.GetParentComponent: TComponent;
|
||||
Function TComponent.GetParentComponent: TComponent;
|
||||
|
||||
begin
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
|
||||
Function TComponent.HasParent: Boolean;
|
||||
Function TComponent.HasParent: Boolean;
|
||||
|
||||
begin
|
||||
Result:=False;
|
||||
@ -470,26 +470,15 @@ end;
|
||||
|
||||
|
||||
Function TComponent.SafeCallException(ExceptObject: TObject;
|
||||
ExceptAddr: Pointer): Integer;
|
||||
ExceptAddr: Pointer): Integer;
|
||||
|
||||
begin
|
||||
SafeCallException:=0;
|
||||
end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 1998-10-02 22:41:25 michael
|
||||
+ Added exceptions for error handling
|
||||
|
||||
Revision 1.4 1998/08/24 12:37:44 michael
|
||||
small fixes
|
||||
|
||||
Revision 1.3 1998/08/23 21:11:03 michael
|
||||
+ Fixed some small errors
|
||||
|
||||
Revision 1.2 1998/08/22 10:41:35 michael
|
||||
+ Initial implementation
|
||||
|
||||
Revision 1.1 1998/05/04 14:30:11 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
Revision 1.6 1999-04-08 10:18:51 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -22,14 +22,14 @@
|
||||
FCount: Integer;
|
||||
FCapacity: Integer;
|
||||
}
|
||||
Const
|
||||
Const
|
||||
// Ratio of Pointer and Word Size.
|
||||
WordRatio = SizeOf(Pointer) Div SizeOf(Word);
|
||||
|
||||
function TList.Get(Index: Integer): Pointer;
|
||||
|
||||
begin
|
||||
If (Index<0) or (Index>FCount) then
|
||||
If (Index<0) or (Index>FCount) then
|
||||
Error(SListIndexError,Index);
|
||||
Result:=FList^[Index];
|
||||
end;
|
||||
@ -47,7 +47,7 @@ end;
|
||||
procedure TList.Put(Index: Integer; Item: Pointer);
|
||||
|
||||
begin
|
||||
if (Index<0) or (Index>=FCount) then
|
||||
if (Index<0) or (Index>=FCount) then
|
||||
Error(SListIndexError,Index);
|
||||
Flist^[Index]:=Item;
|
||||
end;
|
||||
@ -57,10 +57,10 @@ end;
|
||||
procedure TList.SetCapacity(NewCapacity: Integer);
|
||||
|
||||
Var NewList,ToFree : PPointerList;
|
||||
|
||||
|
||||
begin
|
||||
If (NewCapacity<0) or (NewCapacity>MaxListSize) then
|
||||
Error (SListCapacityError,NewCapacity);
|
||||
If (NewCapacity<0) or (NewCapacity>MaxListSize) then
|
||||
Error (SListCapacityError,NewCapacity);
|
||||
If NewCapacity>FCapacity then
|
||||
begin
|
||||
GetMem (NewList,NewCapacity*SizeOf(Pointer));
|
||||
@ -95,14 +95,14 @@ begin
|
||||
Error(SListCountError,NewCount);
|
||||
If NewCount<FCount then
|
||||
FCount:=NewCount
|
||||
else If NewCount>FCount then
|
||||
else If NewCount>FCount then
|
||||
begin
|
||||
If NewCount>FCapacity then
|
||||
If NewCount>FCapacity then
|
||||
SetCapacity (NewCount);
|
||||
If FCount<NewCount then
|
||||
If FCount<NewCount then
|
||||
FillWord (Flist^[FCount],(NewCount-FCount)* WordRatio ,0);
|
||||
FCount:=Newcount;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -132,7 +132,7 @@ begin
|
||||
FreeMem (Flist,FCapacity*SizeOf(Pointer));
|
||||
FList:=Nil;
|
||||
FCapacity:=0;
|
||||
FCount:=0;
|
||||
FCount:=0;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -177,7 +177,7 @@ Var IncSize : Longint;
|
||||
|
||||
begin
|
||||
if FCount<FCapacity then exit;
|
||||
IncSize:=4;
|
||||
IncSize:=4;
|
||||
if FCapacity>3 then IncSize:=IncSize+4;
|
||||
if FCapacity>8 then IncSize:=IncSize+8;
|
||||
SetCapacity(FCapacity+IncSize);
|
||||
@ -210,7 +210,7 @@ begin
|
||||
If (Index<0) or (Index>FCount )then
|
||||
Error(SlistIndexError,Index);
|
||||
IF FCount=FCapacity Then Self.Expand;
|
||||
If Index<FCount then
|
||||
If Index<FCount then
|
||||
System.Move (Flist^[Index],Flist^[Index+1],(FCount-Index)*SizeOf(Pointer));
|
||||
FList^[Index]:=Item;
|
||||
FCount:=FCount+1;
|
||||
@ -220,10 +220,8 @@ end;
|
||||
|
||||
function TList.Last: Pointer;
|
||||
|
||||
Var I : longint;
|
||||
|
||||
begin
|
||||
// Wouldn't it be better to return nil if the count is zero ?
|
||||
// Wouldn't it be better to return nil if the count is zero ?
|
||||
Result:=Items[FCount-1];
|
||||
end;
|
||||
|
||||
@ -235,7 +233,7 @@ Var Temp : Pointer;
|
||||
begin
|
||||
If ((CurIndex<0) or (CurIndex>Count-1)) then
|
||||
Error(SListIndexError,CurIndex);
|
||||
If (NewINdex<0) then
|
||||
If (NewINdex<0) then
|
||||
Error(SlistIndexError,NewIndex);
|
||||
Temp:=FList^[CurIndex];
|
||||
Self.Delete(CurIndex);
|
||||
@ -258,10 +256,10 @@ end;
|
||||
Procedure TList.Pack;
|
||||
|
||||
Var {Last,I,J,}Runner : Longint;
|
||||
|
||||
|
||||
begin
|
||||
// Not the fastest; but surely correct
|
||||
For Runner:=Fcount-1 downto 0 do
|
||||
For Runner:=Fcount-1 downto 0 do
|
||||
if Items[Runner]=Nil then Self.Delete(Runner);
|
||||
{ The following may be faster in case of large and defragmented lists
|
||||
If count=0 then exit;
|
||||
@ -285,8 +283,8 @@ begin
|
||||
// Update Runner and Last to point behind last block
|
||||
TheLast:=Runner+(J-I);
|
||||
If J=Count then
|
||||
begin
|
||||
// Shortcut, when J=Count we checked all pointers
|
||||
begin
|
||||
// Shortcut, when J=Count we checked all pointers
|
||||
Runner:=Count
|
||||
else
|
||||
begin
|
||||
@ -314,7 +312,7 @@ begin
|
||||
repeat
|
||||
While Compare(P,FList^[i])>0 Do I:=I+1;
|
||||
While Compare(P,FList^[J])<0 Do J:=J-1;
|
||||
If I<=J then
|
||||
If I<=J then
|
||||
begin
|
||||
Q:=Flist^[I];
|
||||
Flist^[I]:=FList^[J];
|
||||
@ -325,7 +323,7 @@ begin
|
||||
Until I>J;
|
||||
If L<J then QuickSort (FList,L,J,Compare);
|
||||
L:=I;
|
||||
Until I>=R;
|
||||
Until I>=R;
|
||||
end;
|
||||
|
||||
procedure TList.Sort(Compare: TListSortCompare);
|
||||
@ -346,8 +344,8 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
|
||||
destructor TThreadList.Destroy;
|
||||
|
||||
destructor TThreadList.Destroy;
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -369,7 +367,9 @@ end;
|
||||
|
||||
function TThreadList.LockList: TList;
|
||||
|
||||
|
||||
begin
|
||||
LockList:=nil;
|
||||
end;
|
||||
|
||||
|
||||
@ -390,19 +390,7 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 1998-10-02 22:41:27 michael
|
||||
+ Added exceptions for error handling
|
||||
|
||||
Revision 1.4 1998/05/06 07:27:22 michael
|
||||
+ Fixec index check in exchange method.
|
||||
|
||||
Revision 1.3 1998/05/05 15:54:31 michael
|
||||
TList completely implemented
|
||||
|
||||
Revision 1.2 1998/05/04 15:54:07 michael
|
||||
+ Partial implementation of TList
|
||||
|
||||
Revision 1.1 1998/05/04 14:30:12 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
Revision 1.6 1999-04-08 10:18:52 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -11,12 +11,11 @@
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{****************************************************************************}
|
||||
{* TParser *}
|
||||
{****************************************************************************}
|
||||
|
||||
{!!!TSE 21.09.1998 Changed by Thomas Seban (TSE) }
|
||||
|
||||
const
|
||||
ParseBufSize = 4096;
|
||||
|
||||
@ -26,6 +25,7 @@ end;
|
||||
|
||||
function HexToBin(Text, Buffer: PChar; BufSize: Integer) : Integer;
|
||||
begin
|
||||
HexToBin:=0;
|
||||
end;
|
||||
|
||||
procedure TParser.ReadBuffer;
|
||||
@ -36,20 +36,20 @@ begin
|
||||
|
||||
FSourceEnd[0] := FSaveChar;
|
||||
Count := FBufPtr - FSourcePtr;
|
||||
if Count <> 0 then
|
||||
if Count <> 0 then
|
||||
begin
|
||||
Move(FSourcePtr[0], FBuffer[0], Count);
|
||||
end;
|
||||
|
||||
|
||||
FBufPtr := FBuffer + Count;
|
||||
Inc(FBufPtr, FStream.Read(FBufPtr[0], FBufEnd - FBufPtr));
|
||||
|
||||
|
||||
FSourcePtr := FBuffer;
|
||||
FSourceEnd := FBufPtr;
|
||||
if (FSourceEnd = FBufEnd) then
|
||||
begin
|
||||
FSourceEnd := LineStart(FBuffer, FSourceEnd - 1);
|
||||
if FSourceEnd = FBuffer then
|
||||
if FSourceEnd = FBuffer then
|
||||
begin
|
||||
Error(SLineTooLong);
|
||||
end;
|
||||
@ -83,10 +83,10 @@ end;
|
||||
constructor TParser.Create(Stream: TStream);
|
||||
begin
|
||||
inherited Create;
|
||||
|
||||
|
||||
FStream := Stream;
|
||||
GetMem(FBuffer, ParseBufSize);
|
||||
|
||||
|
||||
FBuffer[0] := #0;
|
||||
FBufPtr := FBuffer;
|
||||
FBufEnd := FBuffer + ParseBufSize;
|
||||
@ -94,7 +94,7 @@ begin
|
||||
FSourceEnd := FBuffer;
|
||||
FTokenPtr := FBuffer;
|
||||
FSourceLine := 1;
|
||||
|
||||
|
||||
NextToken;
|
||||
end;
|
||||
|
||||
@ -106,13 +106,13 @@ begin
|
||||
FStream.Seek(Longint(FTokenPtr) - Longint(FBufPtr), 1);
|
||||
FreeMem(FBuffer, ParseBufSize);
|
||||
end;
|
||||
|
||||
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TParser.CheckToken(T : Char);
|
||||
begin
|
||||
if Token <> T then
|
||||
if Token <> T then
|
||||
begin
|
||||
case T of
|
||||
toSymbol:
|
||||
@ -129,7 +129,7 @@ end;
|
||||
|
||||
procedure TParser.CheckTokenSymbol(const S: string);
|
||||
begin
|
||||
if not TokenSymbolIs(S) then
|
||||
if not TokenSymbolIs(S) then
|
||||
ErrorFmt(SSymbolExpected, [S]);
|
||||
end;
|
||||
|
||||
@ -205,7 +205,7 @@ begin
|
||||
while True do
|
||||
begin
|
||||
case P^ of
|
||||
#0, #10, #13:
|
||||
#0, #10, #13:
|
||||
Error(SInvalidString);
|
||||
'''':
|
||||
begin
|
||||
@ -281,13 +281,7 @@ var
|
||||
Back : Real;
|
||||
begin
|
||||
Result := 0;
|
||||
|
||||
// doesn't work, overload function not found
|
||||
// systemh.inc compiled without -S2 switch => SizeOf(Integer) = 2
|
||||
// classes.pp compiled with -S2 switch => SizeOf(Integer) = 4
|
||||
// Val(TokenString, Back, FloatError);
|
||||
|
||||
Val(TokenString, Back); // this works fine
|
||||
Val(TokenString, Back, FloatError);
|
||||
Result := Back;
|
||||
end;
|
||||
|
||||
@ -302,11 +296,11 @@ var
|
||||
StrBuf : array[0..1023] of Char;
|
||||
begin
|
||||
if FToken = toString then begin
|
||||
L := FStringPtr - FTokenPtr
|
||||
L := FStringPtr - FTokenPtr
|
||||
end else begin
|
||||
L := FSourcePtr - FTokenPtr;
|
||||
end;
|
||||
|
||||
|
||||
StrLCopy(StrBuf, FTokenPtr, L);
|
||||
Result := StrPas(StrBuf);
|
||||
end;
|
||||
@ -317,21 +311,7 @@ begin
|
||||
end;
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 1999-01-28 23:55:41 florian
|
||||
* made it compilable
|
||||
|
||||
Revision 1.4 1998/10/30 14:52:51 michael
|
||||
+ Added format in interface
|
||||
+ Some errors in parser fixed, it uses exceptions now
|
||||
+ Strings now has no more syntax errors.
|
||||
|
||||
Revision 1.3 1998/10/02 22:41:28 michael
|
||||
+ Added exceptions for error handling
|
||||
|
||||
Revision 1.2 1998/09/23 07:48:11 michael
|
||||
+ Implemented by TSE
|
||||
|
||||
Revision 1.1 1998/05/04 14:30:12 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
Revision 1.6 1999-04-08 10:18:53 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ end;
|
||||
Function TReader.GetPosition: Longint;
|
||||
|
||||
begin
|
||||
GetPosition:=0;
|
||||
end;
|
||||
|
||||
|
||||
@ -88,6 +89,7 @@ end;
|
||||
Function TReader.ReadSet(SetType: Pointer): Integer;
|
||||
|
||||
begin
|
||||
ReadSet:=0;
|
||||
end;
|
||||
|
||||
|
||||
@ -127,28 +129,30 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TReader.Error(const Message: string): Boolean;
|
||||
Function TReader.Error(const Message: string): Boolean;
|
||||
|
||||
begin
|
||||
Error:=false;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function TReader.FindMethod(Root: TComponent; const MethodName: string): Pointer;
|
||||
|
||||
begin
|
||||
FindMethod:=nil;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure TReader.SetName(Component: TComponent; var Name: string);
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function TReader.FindMethod(Root: TComponent; const MethodName: string): Pointer;
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure TReader.SetName(Component: TComponent; var Name: string);
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure TReader.ReferenceName(var Name: string);
|
||||
Procedure TReader.ReferenceName(var Name: string);
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -156,14 +160,15 @@ end;
|
||||
|
||||
|
||||
Function TReader.FindAncestorComponent(const Name: string;
|
||||
ComponentClass: TPersistentClass): TComponent;
|
||||
ComponentClass: TPersistentClass): TComponent;
|
||||
|
||||
begin
|
||||
FindAncestorComponent:=nil;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
destructor TReader.Destroy;
|
||||
destructor TReader.Destroy;
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -179,7 +184,7 @@ end;
|
||||
|
||||
Procedure TReader.DefineProperty(const Name: string;
|
||||
rd : TReaderProc; wd : TWriterProc;
|
||||
HasData: Boolean);
|
||||
HasData: Boolean);
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -188,7 +193,7 @@ end;
|
||||
|
||||
Procedure TReader.DefineBinaryProperty(const Name: string;
|
||||
rd, wd: TStreamProc;
|
||||
HasData: Boolean);
|
||||
HasData: Boolean);
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -198,6 +203,7 @@ end;
|
||||
Function TReader.EndOfList: Boolean;
|
||||
|
||||
begin
|
||||
EndOfList:=false;
|
||||
end;
|
||||
|
||||
|
||||
@ -216,7 +222,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TReader.FlushBuffer;
|
||||
Procedure TReader.FlushBuffer;
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -226,6 +232,7 @@ end;
|
||||
Function TReader.NextValue: TValueType;
|
||||
|
||||
begin
|
||||
NextValue:=vaNull;
|
||||
end;
|
||||
|
||||
|
||||
@ -240,6 +247,7 @@ end;
|
||||
Function TReader.ReadBoolean: Boolean;
|
||||
|
||||
begin
|
||||
ReadBoolean:=false;
|
||||
end;
|
||||
|
||||
|
||||
@ -247,6 +255,7 @@ end;
|
||||
Function TReader.ReadChar: Char;
|
||||
|
||||
begin
|
||||
ReadChar:=#0;
|
||||
end;
|
||||
|
||||
|
||||
@ -261,6 +270,7 @@ end;
|
||||
Function TReader.ReadComponent(Component: TComponent): TComponent;
|
||||
|
||||
begin
|
||||
ReadComponent:=nil;
|
||||
end;
|
||||
|
||||
|
||||
@ -276,6 +286,7 @@ end;
|
||||
Function TReader.ReadFloat: Extended;
|
||||
|
||||
begin
|
||||
ReadFloat:=0.0;
|
||||
end;
|
||||
|
||||
|
||||
@ -283,6 +294,7 @@ end;
|
||||
Function TReader.ReadIdent: string;
|
||||
|
||||
begin
|
||||
ReadIdent:='';
|
||||
end;
|
||||
|
||||
|
||||
@ -290,6 +302,7 @@ end;
|
||||
Function TReader.ReadInteger: Longint;
|
||||
|
||||
begin
|
||||
ReadInteger:=0;
|
||||
end;
|
||||
|
||||
|
||||
@ -318,6 +331,7 @@ end;
|
||||
Function TReader.ReadRootComponent(Root: TComponent): TComponent;
|
||||
|
||||
begin
|
||||
ReadRootComponent:=nil;
|
||||
end;
|
||||
|
||||
|
||||
@ -332,6 +346,7 @@ end;
|
||||
Function TReader.ReadStr: string;
|
||||
|
||||
begin
|
||||
ReadStr:='';
|
||||
end;
|
||||
|
||||
|
||||
@ -339,6 +354,7 @@ end;
|
||||
Function TReader.ReadString: string;
|
||||
|
||||
begin
|
||||
ReadString:='';
|
||||
end;
|
||||
|
||||
|
||||
@ -346,6 +362,7 @@ end;
|
||||
Function TReader.ReadValue: TValueType;
|
||||
|
||||
begin
|
||||
ReadValue:=vaNull;
|
||||
end;
|
||||
|
||||
|
||||
@ -356,7 +373,7 @@ begin
|
||||
end;
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 1998-05-04 14:30:12 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
Revision 1.2 1999-04-08 10:18:54 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -102,6 +102,7 @@
|
||||
|
||||
begin
|
||||
{!!!!!}
|
||||
ReadComponentRes:=nil;
|
||||
end;
|
||||
|
||||
procedure TStream.WriteComponent(Instance: TComponent);
|
||||
@ -130,7 +131,7 @@
|
||||
{ Application defined data }
|
||||
WriteWord($0a);
|
||||
{ write the name as asciiz }
|
||||
// WriteBuffer(ResName[1],length(ResName));
|
||||
// WriteBuffer(ResName[1],length(ResName));
|
||||
WriteByte(0);
|
||||
{ Movable, Pure and Discardable }
|
||||
WriteWord($1030);
|
||||
@ -223,7 +224,7 @@
|
||||
|
||||
Var TheSize : Longint;
|
||||
P : PByte ;
|
||||
|
||||
|
||||
|
||||
begin
|
||||
ReadBuffer (TheSize,SizeOf(TheSize));
|
||||
@ -235,7 +236,7 @@
|
||||
end;
|
||||
|
||||
Procedure TStream.WriteAnsiString (S : String);
|
||||
|
||||
|
||||
Var L : Longint;
|
||||
|
||||
begin
|
||||
@ -304,7 +305,7 @@ begin
|
||||
else
|
||||
FHAndle:=FileOpen(FileName,Mode);
|
||||
If FHandle<0 then
|
||||
If Mode=fmcreate then
|
||||
If Mode=fmcreate then
|
||||
raise EFCreateError.createfmt(SFCreateError,[FileName])
|
||||
else
|
||||
raise EFOpenError.Createfmt(SFOpenError,[Filename]);
|
||||
@ -466,7 +467,7 @@ begin
|
||||
Try
|
||||
S:=TFileStream.Create (FileName,fmOpenRead);
|
||||
LoadFromStream(S);
|
||||
finally
|
||||
finally
|
||||
S.free;
|
||||
end;
|
||||
end;
|
||||
@ -481,7 +482,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function TMemoryStream.Write(const Buffer; Count: Longint): Longint;
|
||||
function TMemoryStream.Write(const Buffer; Count: Longint): Longint;
|
||||
|
||||
Var NewPos : Longint;
|
||||
|
||||
@ -505,7 +506,7 @@ end;
|
||||
{* TStringStream *}
|
||||
{****************************************************************************}
|
||||
|
||||
procedure TStringStream.SetSize(NewSize: Longint);
|
||||
procedure TStringStream.SetSize(NewSize: Longint);
|
||||
|
||||
begin
|
||||
//!! Setlength(FDataString,NewSize);
|
||||
@ -521,7 +522,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function TStringStream.Read(var Buffer; Count: Longint): Longint;
|
||||
function TStringStream.Read(var Buffer; Count: Longint): Longint;
|
||||
|
||||
begin
|
||||
Result:=Length(FDataString)-FPosition;
|
||||
@ -541,10 +542,11 @@ begin
|
||||
If NewLen>Count then NewLen:=Count;
|
||||
//!! SetLength(Result,NewLen);
|
||||
//!! Read (Pointer(Result)^,NewLen);
|
||||
ReadString:='';
|
||||
end;
|
||||
|
||||
|
||||
function TStringStream.Seek(Offset: Longint; Origin: Word): Longint;
|
||||
function TStringStream.Seek(Offset: Longint; Origin: Word): Longint;
|
||||
|
||||
begin
|
||||
Case Origin of
|
||||
@ -558,7 +560,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function TStringStream.Write(const Buffer; Count: Longint): Longint;
|
||||
function TStringStream.Write(const Buffer; Count: Longint): Longint;
|
||||
|
||||
begin
|
||||
Result:=Count;
|
||||
@ -599,54 +601,22 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
destructor TResourceStream.Destroy;
|
||||
destructor TResourceStream.Destroy;
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
function TResourceStream.Write(const Buffer; Count: Longint): Longint;
|
||||
function TResourceStream.Write(const Buffer; Count: Longint): Longint;
|
||||
|
||||
begin
|
||||
Write:=0;
|
||||
end;
|
||||
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.12 1999-02-10 14:12:26 michael
|
||||
+ Some strange bug in writecoponentres
|
||||
|
||||
Revision 1.11 1999/02/06 07:16:48 michael
|
||||
+ Fixed Stream.ReadAnsiString
|
||||
|
||||
Revision 1.10 1999/02/02 21:23:19 michael
|
||||
+ only sysutils is used now
|
||||
|
||||
Revision 1.9 1999/01/28 23:55:42 florian
|
||||
* made it compilable
|
||||
|
||||
Revision 1.8 1998/10/02 22:41:30 michael
|
||||
+ Added exceptions for error handling
|
||||
|
||||
Revision 1.7 1998/08/24 12:38:24 michael
|
||||
small fixes
|
||||
|
||||
Revision 1.6 1998/06/11 21:15:28 michael
|
||||
+ Implemented (Custom)Memory and StringStream
|
||||
|
||||
Revision 1.5 1998/06/11 13:46:33 michael
|
||||
+ Fixed some functions. TFileStream OK.
|
||||
|
||||
Revision 1.4 1998/06/10 21:53:07 michael
|
||||
+ Implemented Handle/FileStreams
|
||||
|
||||
Revision 1.3 1998/05/06 12:58:35 michael
|
||||
+ Added WriteAnsiString method to TStream
|
||||
|
||||
Revision 1.2 1998/05/05 15:25:04 michael
|
||||
+ Fix to be able to compile from florian
|
||||
|
||||
Revision 1.1 1998/05/04 14:30:12 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
Revision 1.13 1999-04-08 10:18:55 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ begin
|
||||
begin
|
||||
I:=I+1;
|
||||
J:=J+1;
|
||||
if S[i]=Quote then
|
||||
if S[i]=Quote then
|
||||
begin
|
||||
System.Insert(Result,Quote,J);
|
||||
J:=J+1;
|
||||
@ -47,7 +47,7 @@ Var I : Longint;
|
||||
|
||||
begin
|
||||
result:='';
|
||||
For i:=0 to count-1 do
|
||||
For i:=0 to count-1 do
|
||||
begin
|
||||
Result:=Result+QuoteString (Strings[I],'"');
|
||||
if I<Count-1 then Result:=Result+',';
|
||||
@ -103,14 +103,14 @@ begin
|
||||
P1:=P+1;
|
||||
While P1^<>#0 do
|
||||
begin
|
||||
If (P1^='"') and (P1[1]<>'"') then
|
||||
If (P1^='"') and (P1[1]<>'"') then
|
||||
break;
|
||||
P1:=P1+1;
|
||||
If P1^='"' then P1:=P1+1;
|
||||
end;
|
||||
// P1 points to last quote, or to #0;
|
||||
// P1 points to last quote, or to #0;
|
||||
P:=P+1;
|
||||
If P1-P>0 then
|
||||
If P1-P>0 then
|
||||
begin
|
||||
SetLength(Result,(P1-P));
|
||||
L:=Pointer(Result);
|
||||
@ -184,7 +184,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.DefineProperties(Filer: TFiler);
|
||||
Procedure TStrings.DefineProperties(Filer: TFiler);
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -200,7 +200,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStrings.GetCapacity: Integer;
|
||||
Function TStrings.GetCapacity: Integer;
|
||||
|
||||
begin
|
||||
Result:=Count;
|
||||
@ -208,7 +208,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStrings.GetObject(Index: Integer): TObject;
|
||||
Function TStrings.GetObject(Index: Integer): TObject;
|
||||
|
||||
begin
|
||||
Result:=Nil;
|
||||
@ -216,7 +216,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStrings.GetTextStr: string;
|
||||
Function TStrings.GetTextStr: string;
|
||||
|
||||
Const
|
||||
{$ifdef linux}
|
||||
@ -226,21 +226,20 @@ Const
|
||||
{$endif}
|
||||
|
||||
Var P : Pchar;
|
||||
I,L : Longint;
|
||||
I,L : Longint;
|
||||
S : String;
|
||||
PS : Pointer;
|
||||
|
||||
begin
|
||||
// Determine needed place
|
||||
L:=0;
|
||||
For I:=0 to count-1 do L:=L+Length(Strings[I])+NewLineSize;
|
||||
Setlength(Result,L);
|
||||
P:=Pointer(Result);
|
||||
P:=Pointer(Result);
|
||||
For i:=0 To count-1 do
|
||||
begin
|
||||
S:=Strings[I];
|
||||
L:=Length(S);
|
||||
if L<>0 then
|
||||
if L<>0 then
|
||||
System.Move(Pointer(S)^,P^,L);
|
||||
P:=P+L;
|
||||
{$ifndef linux}
|
||||
@ -255,7 +254,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.Put(Index: Integer; const S: string);
|
||||
Procedure TStrings.Put(Index: Integer; const S: string);
|
||||
|
||||
Var Obj : TObject;
|
||||
|
||||
@ -267,7 +266,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.PutObject(Index: Integer; AObject: TObject);
|
||||
Procedure TStrings.PutObject(Index: Integer; AObject: TObject);
|
||||
|
||||
begin
|
||||
// Empty.
|
||||
@ -275,14 +274,14 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.SetCapacity(NewCapacity: Integer);
|
||||
Procedure TStrings.SetCapacity(NewCapacity: Integer);
|
||||
|
||||
begin
|
||||
// Empty.
|
||||
end;
|
||||
|
||||
|
||||
Procedure TStrings.SetTextStr(const Value: string);
|
||||
Procedure TStrings.SetTextStr(const Value: string);
|
||||
|
||||
begin
|
||||
SetText(PChar(Value));
|
||||
@ -290,14 +289,14 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.SetUpdateState(Updating: Boolean);
|
||||
Procedure TStrings.SetUpdateState(Updating: Boolean);
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
|
||||
destructor TSTrings.Destroy;
|
||||
destructor TSTrings.Destroy;
|
||||
|
||||
begin
|
||||
inherited destroy;
|
||||
@ -305,7 +304,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStrings.Add(const S: string): Integer;
|
||||
Function TStrings.Add(const S: string): Integer;
|
||||
|
||||
begin
|
||||
Result:=Count;
|
||||
@ -314,7 +313,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStrings.AddObject(const S: string; AObject: TObject): Integer;
|
||||
Function TStrings.AddObject(const S: string; AObject: TObject): Integer;
|
||||
|
||||
begin
|
||||
Result:=Add(S);
|
||||
@ -331,7 +330,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.AddStrings(TheStrings: TStrings);
|
||||
Procedure TStrings.AddStrings(TheStrings: TStrings);
|
||||
|
||||
Var Runner : longint;
|
||||
|
||||
@ -342,7 +341,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.Assign(Source: TPersistent);
|
||||
Procedure TStrings.Assign(Source: TPersistent);
|
||||
|
||||
begin
|
||||
If Source is TStrings then
|
||||
@ -378,14 +377,14 @@ begin
|
||||
Result:=False;
|
||||
Nr:=Self.Count;
|
||||
if Nr<>TheStrings.Count then exit;
|
||||
For Runner:=0 to Nr-1 do
|
||||
For Runner:=0 to Nr-1 do
|
||||
If Strings[Runner]<>TheStrings[Runner] then exit;
|
||||
Result:=True;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.Exchange(Index1, Index2: Integer);
|
||||
Procedure TStrings.Exchange(Index1, Index2: Integer);
|
||||
|
||||
Var
|
||||
Obj : TObject;
|
||||
@ -402,7 +401,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStrings.GetText: PChar;
|
||||
Function TStrings.GetText: PChar;
|
||||
|
||||
begin
|
||||
Result:=StrNew(Pchar(Self.Text));
|
||||
@ -410,7 +409,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStrings.IndexOf(const S: string): Integer;
|
||||
Function TStrings.IndexOf(const S: string): Integer;
|
||||
|
||||
|
||||
begin
|
||||
@ -433,7 +432,7 @@ begin
|
||||
if (len>0) and (Name=Copy(Strings[Result],1,Len)) then exit;
|
||||
inc(result);
|
||||
end;
|
||||
result:=-1;
|
||||
result:=-1;
|
||||
end;
|
||||
|
||||
|
||||
@ -458,7 +457,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.LoadFromFile(const FileName: string);
|
||||
Procedure TStrings.LoadFromFile(const FileName: string);
|
||||
|
||||
Var TheStream : TFileStream;
|
||||
|
||||
@ -470,18 +469,18 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.LoadFromStream(Stream: TStream);
|
||||
Procedure TStrings.LoadFromStream(Stream: TStream);
|
||||
{
|
||||
Borlands method is no goed, since a pipe for
|
||||
Instance doesn't have a size.
|
||||
Borlands method is no goed, since a pipe for
|
||||
Instance doesn't have a size.
|
||||
So we must do it the hard way.
|
||||
}
|
||||
Const BufSize = 1024;
|
||||
|
||||
Procedure ReallocMem (Var B : Pointer; OldSize :longint);
|
||||
|
||||
|
||||
Var NewB : Pointer;
|
||||
|
||||
|
||||
begin
|
||||
GetMem(NewB,OldSIze+BufSize);
|
||||
If OldSize>0 then // assume that if size=0, B also Nil
|
||||
@ -512,7 +511,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.Move(CurIndex, NewIndex: Integer);
|
||||
Procedure TStrings.Move(CurIndex, NewIndex: Integer);
|
||||
|
||||
Var Obj : TObject;
|
||||
Str : String;
|
||||
@ -521,12 +520,12 @@ begin
|
||||
Obj:=Objects[CurIndex];
|
||||
Str:=Strings[CurIndex];
|
||||
Delete(Curindex);
|
||||
InsertObject(NewIndex,Str,Obj);
|
||||
InsertObject(NewIndex,Str,Obj);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.SaveToFile(const FileName: string);
|
||||
Procedure TStrings.SaveToFile(const FileName: string);
|
||||
|
||||
Var TheStream : TFileStream;
|
||||
|
||||
@ -538,7 +537,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStrings.SaveToStream(Stream: TStream);
|
||||
Procedure TStrings.SaveToStream(Stream: TStream);
|
||||
|
||||
VAr S : String;
|
||||
|
||||
@ -565,13 +564,13 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TStrings.SetText(TheText: PChar);
|
||||
Procedure TStrings.SetText(TheText: PChar);
|
||||
|
||||
Var S : String;
|
||||
|
||||
|
||||
begin
|
||||
Clear;
|
||||
While GetNextLine (TheText,S) do
|
||||
While GetNextLine (TheText,S) do
|
||||
Add(S);
|
||||
end;
|
||||
|
||||
@ -604,11 +603,11 @@ Var Extra : Longint;
|
||||
begin
|
||||
If FCapacity>64 then
|
||||
Extra:=FCapacity Div 4
|
||||
Else If FCapacity>8 Then
|
||||
Else If FCapacity>8 Then
|
||||
Extra:=16
|
||||
Else
|
||||
Else
|
||||
Extra:=4;
|
||||
SetCapacity(FCapacity+Extra);
|
||||
SetCapacity(FCapacity+Extra);
|
||||
end;
|
||||
|
||||
|
||||
@ -626,7 +625,7 @@ begin
|
||||
Repeat
|
||||
While AnsiCompareText(Flist^[I].Fstring,Pivot)<0 do Inc(I);
|
||||
While AnsiCompareText(Flist^[J].Fstring,Pivot)>0 do Dec(J);
|
||||
If I<=J then
|
||||
If I<=J then
|
||||
begin
|
||||
ExchangeItems(I,J); // No check, indices are correct.
|
||||
Inc(I);
|
||||
@ -668,7 +667,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.Changed;
|
||||
Procedure TStringList.Changed;
|
||||
|
||||
begin
|
||||
If (FUpdateCount=0) Then
|
||||
@ -678,7 +677,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.Changing;
|
||||
Procedure TStringList.Changing;
|
||||
|
||||
begin
|
||||
If FUpdateCount=0 then
|
||||
@ -688,7 +687,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStringList.Get(Index: Integer): string;
|
||||
Function TStringList.Get(Index: Integer): string;
|
||||
|
||||
begin
|
||||
If (Index<0) or (INdex>=Fcount) then
|
||||
@ -698,7 +697,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStringList.GetCapacity: Integer;
|
||||
Function TStringList.GetCapacity: Integer;
|
||||
|
||||
begin
|
||||
Result:=FCapacity;
|
||||
@ -706,7 +705,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStringList.GetCount: Integer;
|
||||
Function TStringList.GetCount: Integer;
|
||||
|
||||
begin
|
||||
Result:=FCount;
|
||||
@ -714,7 +713,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Function TStringList.GetObject(Index: Integer): TObject;
|
||||
Function TStringList.GetObject(Index: Integer): TObject;
|
||||
|
||||
begin
|
||||
If (Index<0) or (INdex>=Fcount) then
|
||||
@ -724,10 +723,10 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.Put(Index: Integer; const S: string);
|
||||
Procedure TStringList.Put(Index: Integer; const S: string);
|
||||
|
||||
begin
|
||||
If Sorted then
|
||||
If Sorted then
|
||||
Error(SSortedListError,0);
|
||||
If (Index<0) or (INdex>=Fcount) then
|
||||
Error (SListIndexError,Index);
|
||||
@ -738,26 +737,26 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.PutObject(Index: Integer; AObject: TObject);
|
||||
Procedure TStringList.PutObject(Index: Integer; AObject: TObject);
|
||||
|
||||
begin
|
||||
If (Index<0) or (INdex>=Fcount) then
|
||||
Error (SListIndexError,Index);
|
||||
Changing;
|
||||
Flist^[Index].FObject:=AObject;
|
||||
Flist^[Index].FObject:=AObject;
|
||||
Changed;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.SetCapacity(NewCapacity: Integer);
|
||||
Procedure TStringList.SetCapacity(NewCapacity: Integer);
|
||||
|
||||
Var NewList : Pointer;
|
||||
MSize : Longint;
|
||||
|
||||
|
||||
begin
|
||||
If (NewCapacity<0) then
|
||||
Error (SListCapacityError,NewCapacity);
|
||||
If (NewCapacity<0) then
|
||||
Error (SListCapacityError,NewCapacity);
|
||||
If NewCapacity>FCapacity then
|
||||
begin
|
||||
GetMem (NewList,NewCapacity*SizeOf(TStringItem));
|
||||
@ -783,7 +782,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.SetUpdateState(Updating: Boolean);
|
||||
Procedure TStringList.SetUpdateState(Updating: Boolean);
|
||||
|
||||
begin
|
||||
If Updating then
|
||||
@ -794,7 +793,7 @@ end;
|
||||
|
||||
|
||||
|
||||
destructor TStringList.Destroy;
|
||||
destructor TStringList.Destroy;
|
||||
|
||||
Var I : Longint;
|
||||
|
||||
@ -802,23 +801,23 @@ begin
|
||||
FOnChange:=Nil;
|
||||
FOnChanging:=Nil;
|
||||
// This will force a dereference. Can be done better...
|
||||
For I:=0 to FCount-1 do
|
||||
For I:=0 to FCount-1 do
|
||||
FList^[I].FString:='';
|
||||
FCount:=0;
|
||||
SetCapacity(0);
|
||||
Inherited destroy;
|
||||
SetCapacity(0);
|
||||
Inherited destroy;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function TStringList.Add(const S: string): Integer;
|
||||
Function TStringList.Add(const S: string): Integer;
|
||||
|
||||
begin
|
||||
If Not Sorted then
|
||||
Result:=FCount
|
||||
else
|
||||
If Find (S,Result) then
|
||||
Case DUplicates of
|
||||
If Find (S,Result) then
|
||||
Case DUplicates of
|
||||
DupIgnore : Exit;
|
||||
DupError : Error(SDuplicateString,0)
|
||||
end;
|
||||
@ -827,7 +826,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.Clear;
|
||||
Procedure TStringList.Clear;
|
||||
|
||||
Var I : longint;
|
||||
|
||||
@ -840,7 +839,7 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.Delete(Index: Integer);
|
||||
Procedure TStringList.Delete(Index: Integer);
|
||||
|
||||
begin
|
||||
If (Index<0) or (Index>=FCount) then
|
||||
@ -855,19 +854,19 @@ end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.Exchange(Index1, Index2: Integer);
|
||||
Procedure TStringList.Exchange(Index1, Index2: Integer);
|
||||
|
||||
begin
|
||||
If (Index1<0) or (Index1>=FCount) then
|
||||
If (Index1<0) or (Index1>=FCount) then
|
||||
Error(SListIndexError,Index1);
|
||||
If (Index2<0) or (Index2>=FCount) then
|
||||
If (Index2<0) or (Index2>=FCount) then
|
||||
Error(SListIndexError,Index1);
|
||||
Changing;
|
||||
ExchangeItems(Index1,Index2);
|
||||
changed;
|
||||
end;
|
||||
|
||||
Function TStringList.Find(const S: string; var Index: Integer): Boolean;
|
||||
Function TStringList.Find(const S: string; var Index: Integer): Boolean;
|
||||
|
||||
{ Searches for the first string <= S, returns True if exact match,
|
||||
sets index to the index f the found string. }
|
||||
@ -883,7 +882,7 @@ begin
|
||||
begin
|
||||
I:=(L+R) div 2;
|
||||
Temp:=AnsiCompareText(FList^ [I].FString,S);
|
||||
If Temp<0 then
|
||||
If Temp<0 then
|
||||
L:=I+1
|
||||
else
|
||||
begin
|
||||
@ -895,38 +894,38 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Index:=L;
|
||||
Index:=L;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Function TStringList.IndexOf(const S: string): Integer;
|
||||
Function TStringList.IndexOf(const S: string): Integer;
|
||||
|
||||
begin
|
||||
If Not Sorted then
|
||||
If Not Sorted then
|
||||
Result:=Inherited indexOf(S)
|
||||
else
|
||||
// faster using binary search...
|
||||
If Not Find (S,Result) then
|
||||
If Not Find (S,Result) then
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure TStringList.Insert(Index: Integer; const S: string);
|
||||
Procedure TStringList.Insert(Index: Integer; const S: string);
|
||||
|
||||
begin
|
||||
If Sorted then
|
||||
Error (SSortedListError,0)
|
||||
else
|
||||
else
|
||||
If (Index<0) or (Index>FCount) then
|
||||
Error (SListIndexError,Index)
|
||||
else
|
||||
else
|
||||
InsertItem (Index,S);
|
||||
end;
|
||||
|
||||
|
||||
Procedure TStringList.Sort;
|
||||
Procedure TStringList.Sort;
|
||||
|
||||
begin
|
||||
If Not Sorted and (FCount>1) then
|
||||
@ -939,45 +938,7 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.14 1999-02-06 08:21:00 michael
|
||||
+ Finally fixed loadfromstream
|
||||
|
||||
Revision 1.13 1999/02/04 21:41:12 michael
|
||||
+ Fixed loadfromstream bug
|
||||
|
||||
Revision 1.12 1999/02/04 17:19:14 michael
|
||||
+ fixed getvalue
|
||||
|
||||
Revision 1.11 1999/02/02 23:49:23 florian
|
||||
* new lines for non linux system fixed (tstrings class)
|
||||
|
||||
Revision 1.10 1999/02/02 12:54:06 florian
|
||||
* tstrings.gettextstr fixed, setlength got a wrong length (0 instead L)
|
||||
|
||||
Revision 1.9 1999/01/28 23:55:43 florian
|
||||
* made it compilable
|
||||
|
||||
Revision 1.8 1998/11/13 09:40:16 michael
|
||||
+ Restored old version
|
||||
|
||||
Revision 1.6 1998/11/09 10:07:24 michael
|
||||
+ Bugfix in setcapacity, sizes were wrong
|
||||
|
||||
Revision 1.5 1998/10/30 14:52:52 michael
|
||||
+ Added format in interface
|
||||
+ Some errors in parser fixed, it uses exceptions now
|
||||
+ Strings now has no more syntax errors.
|
||||
|
||||
Revision 1.4 1998/10/24 13:45:37 michael
|
||||
+ Implemented stringlist. Untested, since classes broken.
|
||||
|
||||
Revision 1.3 1998/05/07 14:16:51 michael
|
||||
+ Finished TStrings implementation.
|
||||
|
||||
Revision 1.2 1998/05/06 12:58:53 michael
|
||||
+ Initial implementation
|
||||
|
||||
Revision 1.1 1998/05/04 14:30:12 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
Revision 1.15 1999-04-08 10:18:56 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ end;
|
||||
function TThread.GetPriority: TThreadPriority;
|
||||
|
||||
begin
|
||||
GetPriority:=tpNormal;
|
||||
end;
|
||||
|
||||
|
||||
@ -40,7 +41,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TThread.DoTerminate;
|
||||
procedure TThread.DoTerminate;
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -85,12 +86,13 @@ end;
|
||||
function TThread.WaitFor: Integer;
|
||||
|
||||
begin
|
||||
WaitFor:=0;
|
||||
end;
|
||||
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 1998-05-04 14:30:12 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
Revision 1.2 1999-04-08 10:18:57 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ end;
|
||||
function TWriter.GetPosition: Longint;
|
||||
|
||||
begin
|
||||
GetPosition:=0;
|
||||
end;
|
||||
|
||||
|
||||
@ -39,7 +40,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TWriter.WriteData(Instance: TComponent);
|
||||
Procedure TWriter.WriteData(Instance: TComponent);
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -81,7 +82,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
Destructor TWriter.Destroy;
|
||||
Destructor TWriter.Destroy;
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -89,7 +90,7 @@ end;
|
||||
|
||||
Procedure TWriter.DefineProperty(const Name: string;
|
||||
rd : TReaderProc; wd : TWriterProc;
|
||||
HasData: Boolean);
|
||||
HasData: Boolean);
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -97,13 +98,13 @@ end;
|
||||
|
||||
Procedure TWriter.DefineBinaryProperty(const Name: string;
|
||||
rd, wd: TStreamProc;
|
||||
HasData: Boolean);
|
||||
HasData: Boolean);
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
Procedure TWriter.FlushBuffer;
|
||||
Procedure TWriter.FlushBuffer;
|
||||
|
||||
begin
|
||||
end;
|
||||
@ -199,7 +200,7 @@ begin
|
||||
end;
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 1998-05-04 14:30:12 michael
|
||||
* Split file according to Class; implemented dummys for all methods, so unit compiles.
|
||||
Revision 1.2 1999-04-08 10:18:58 peter
|
||||
* makefile updates
|
||||
|
||||
}
|
||||
|
@ -1,105 +1,129 @@
|
||||
#######################################################################
|
||||
# Makefile for Free Pascal
|
||||
# (C) 1998 Michael van Canneyt
|
||||
#######################################################################
|
||||
#
|
||||
# Configurable section
|
||||
# $Id$
|
||||
# Copyright (c) 1999 by the Free Pascal Development Team
|
||||
#
|
||||
# Makefile for Free Component Library for Linux
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# What Compiler should we use ?
|
||||
# PP=/home/michael/fpk/compiler/ppc386
|
||||
PP=ppc386
|
||||
|
||||
# Where are the Free Pascal units ? (Optional)
|
||||
UNITDIR = /home/michael/fpk/rtl/linux
|
||||
#####################################################################
|
||||
# Defaults
|
||||
#####################################################################
|
||||
|
||||
# Default place of the makefile.fpc
|
||||
DEFAULTFPCDIR=../..
|
||||
|
||||
# Include files
|
||||
INC=../inc
|
||||
PROCINC=../$(CPU)
|
||||
|
||||
# Where to place the files
|
||||
TARGETDIR=.
|
||||
|
||||
# We need always -S2
|
||||
NEEDOPT=-S2
|
||||
|
||||
# As default make only the units
|
||||
DEFAULTUNITS=1
|
||||
|
||||
|
||||
# Processor you are using
|
||||
CPU=i386
|
||||
#CPU=m68k
|
||||
#####################################################################
|
||||
# Real targets
|
||||
#####################################################################
|
||||
|
||||
# Any options you wish to pass to the compiler
|
||||
OPT=
|
||||
UNITOBJECTS=classes
|
||||
EXEOBJECTS=
|
||||
|
||||
# Where to install the units ?
|
||||
UNITINSTALLDIR=/usr/lib/fpc/0.99.11/fcl
|
||||
|
||||
# Where to install the programs ?
|
||||
BININSTALLDIR=/usr/local/bin
|
||||
#####################################################################
|
||||
# Common targets
|
||||
#####################################################################
|
||||
|
||||
# Install program ?
|
||||
INSTALL=install -m 644
|
||||
.PHONY: all clean install info \
|
||||
staticlib sharedlib libsclean \
|
||||
staticinstall sharedinstall libinstall \
|
||||
|
||||
all: testfpcmake fpc_all
|
||||
|
||||
# Mkdir program ?
|
||||
MKDIR=install -m 755
|
||||
clean: testfpcmake fpc_clean
|
||||
|
||||
#######################################################################
|
||||
# End of configurable section. Do not edit below this line.
|
||||
#######################################################################
|
||||
install: testfpcmake fpc_install
|
||||
|
||||
.SUFFIXES: .pp .ppu .pas
|
||||
.PHONY: all install clean units progs
|
||||
info: testfpcmake fpc_info
|
||||
|
||||
INCDIR=../inc
|
||||
CPUDIR=../$(CPU)
|
||||
staticlib: testfpcmake fpc_staticlib
|
||||
|
||||
include $(INCDIR)/Makefile.inc
|
||||
sharedlib: testfpcmake fpc_sharedlib
|
||||
|
||||
# Set inc
|
||||
INCFILENAMES=$(addprefix $(INCDIR)/,$(INCNAMES))
|
||||
libsclean: testfpcmake fpc_libsclean
|
||||
|
||||
# If nothing special needs doing, then just fill in the names here.
|
||||
# The rest should be automatic.
|
||||
UNITNAMES=classes
|
||||
PROGNAMES=
|
||||
UNITOBJECTS=$(addsuffix .o, $(UNITNAMES))
|
||||
UNITFILES=$(addsuffix .ppu, $(UNITNAMES))
|
||||
PROGSOURCES=$(addsiffix .pp, $(PROGNAMES))
|
||||
PROGOBJECTS=$(addsuffix .o, $(PROGNAMES))
|
||||
staticinstall: testfpcmake fpc_staticinstall
|
||||
|
||||
# Adapt options. Add unit path if needed.
|
||||
override OPT:=$(OPT) -S2 -I$(INCDIR) -I$(CPUDIR)
|
||||
sharedinstall: testfpcmake fpc_sharedinstall
|
||||
|
||||
ifdef UNITDIR
|
||||
override OPT:=$(OPT) -Up$(UNITDIR)
|
||||
libinstall: testfpcmake fpc_libinstall
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Include default makefile
|
||||
#####################################################################
|
||||
|
||||
# test if FPCMAKE is still valid
|
||||
ifdef FPCMAKE
|
||||
ifeq ($(strip $(wildcard $(FPCMAKE))),)
|
||||
FPCDIR=
|
||||
FPCMAKE=
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCDIR
|
||||
ifdef DEFAULTFPCDIR
|
||||
FPCDIR=$(DEFAULTFPCDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCMAKE
|
||||
ifdef FPCDIR
|
||||
FPCMAKE=$(FPCDIR)/makefile.fpc
|
||||
else
|
||||
FPCMAKE=makefile.fpc
|
||||
endif
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
|
||||
# Default rule for units
|
||||
.pp.ppu:
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
# Default target.
|
||||
all: $(UNITFILES) $(PROGNAMES)
|
||||
#####################################################################
|
||||
# Dependencies
|
||||
#####################################################################
|
||||
|
||||
units: $(UNITFILES)
|
||||
vpath %$(PASEXT) $(INC)
|
||||
|
||||
progs: $(PROGNAMES)
|
||||
include $(INC)/Makefile.inc
|
||||
INCFILES=$(addprefix $(INC)/,$(INCNAMES))
|
||||
|
||||
# Default rule for programs
|
||||
$(PROGNAMES): %:%.pp
|
||||
$(PP) $(OPT) $<
|
||||
classes$(PPUEXT): $(INCFILES) classes$(PASEXT)
|
||||
|
||||
classes.ppu: classes.pp $(INCFILENAMES) $(PROCFILENAMES)
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
classes.pp:
|
||||
cp $(INCDIR)/classes.pp .
|
||||
|
||||
#
|
||||
# Generic install and clean targets
|
||||
# $Log$
|
||||
# Revision 1.7 1999-04-08 10:18:59 peter
|
||||
# * makefile updates
|
||||
#
|
||||
#
|
||||
|
||||
install: all
|
||||
$(MKDIR) $(UNITINSTALLDIR)
|
||||
ifdef UNITNAMES
|
||||
$(INSTALL) $(UNITNAMES) $(UNITINSTALLDIR)
|
||||
endif
|
||||
ifdef PROGNAMES
|
||||
$(INSTALL) $(PROGNAMES) $(BININSTALLDIR)
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f $(UNITOBJECTS) $(UNITFILES) $(PROGNAMES) $(PROGOBJECTS)
|
||||
|
||||
# End of makefile.
|
||||
|
@ -1,65 +0,0 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Component Library (FCL)
|
||||
Copyright (c) 1998 by Michael Van Canneyt and Florian Klaempfl
|
||||
|
||||
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
|
||||
strings,
|
||||
sysutils;
|
||||
|
||||
{$i classesh.inc}
|
||||
|
||||
implementation
|
||||
|
||||
{ OS - independent class implementations are in /inc directory. }
|
||||
{$i classes.inc}
|
||||
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.9 1999-02-02 21:32:02 michael
|
||||
- removed osfile.inc. All in sysutils now
|
||||
|
||||
Revision 1.8 1998/11/04 10:46:43 peter
|
||||
* exceptions work
|
||||
|
||||
Revision 1.7 1998/11/04 10:15:13 peter
|
||||
* fixes to compile
|
||||
|
||||
Revision 1.6 1998/10/02 09:17:57 michael
|
||||
Removed objpas from uses clause
|
||||
|
||||
Revision 1.5 1998/09/23 07:46:57 michael
|
||||
* patches by TSE
|
||||
|
||||
Revision 1.4 1998/06/10 21:53:09 michael
|
||||
+ Implemented Handle/FileStreams
|
||||
|
||||
Revision 1.3 1998/05/06 13:00:25 michael
|
||||
+ Added strings to uses clause, for TStrings class.
|
||||
|
||||
Revision 1.2 1998/05/04 14:31:51 michael
|
||||
+ Split classes file.
|
||||
|
||||
Revision 1.1 1998/05/04 12:16:01 florian
|
||||
+ Initial revisions after making a new directory structure
|
||||
|
||||
}
|
172
fcl/os2/Makefile
172
fcl/os2/Makefile
@ -1,99 +1,129 @@
|
||||
#######################################################################
|
||||
# Makefile for Free Pascal
|
||||
# (C) 1998 Michael van Canneyt
|
||||
#######################################################################
|
||||
#
|
||||
# Configurable section
|
||||
# $Id$
|
||||
# Copyright (c) 1999 by the Free Pascal Development Team
|
||||
#
|
||||
# Makefile for Free Component Library for OS/2
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# What Compiler should we use ?
|
||||
PP=ppc386
|
||||
|
||||
# Where are the Free Pascal units ? (Optional)
|
||||
#UNITDIR = c:/pp/units/os2
|
||||
#####################################################################
|
||||
# Defaults
|
||||
#####################################################################
|
||||
|
||||
# Processor you are using
|
||||
CPU=i386
|
||||
#CPU=m68k
|
||||
# Default place of the makefile.fpc
|
||||
DEFAULTFPCDIR=../..
|
||||
|
||||
# Any options you wish to pass to the compiler
|
||||
OPT=
|
||||
# Include files
|
||||
INC=../inc
|
||||
PROCINC=../$(CPU)
|
||||
|
||||
# Where to install the units ?
|
||||
UNITINSTALLDIR=c:/pp/units/fcl
|
||||
# Where to place the files
|
||||
TARGETDIR=.
|
||||
|
||||
# Where to install the programs ?
|
||||
BININSTALLDIR=/pp/bin
|
||||
# We need always -S2
|
||||
NEEDOPT=-S2
|
||||
|
||||
# Install program ?
|
||||
INSTALL=cp
|
||||
# As default make only the units
|
||||
DEFAULTUNITS=1
|
||||
|
||||
# Mkdir program ?
|
||||
MKDIR=mkdir
|
||||
|
||||
#######################################################################
|
||||
# End of configurable section. Do not edit below this line.
|
||||
#######################################################################
|
||||
#####################################################################
|
||||
# Real targets
|
||||
#####################################################################
|
||||
|
||||
.SUFFIXES: .pp .ppu .pas
|
||||
.PHONY: all install clean units progs
|
||||
UNITOBJECTS=classes
|
||||
EXEOBJECTS=
|
||||
|
||||
INCDIR=../inc
|
||||
CPUDIR=../$(CPU)
|
||||
|
||||
include $(INCDIR)/Makefile.inc
|
||||
#####################################################################
|
||||
# Common targets
|
||||
#####################################################################
|
||||
|
||||
# Set inc
|
||||
INCFILENAMES=$(addprefix $(INCDIR)/,$(INCNAMES))
|
||||
.PHONY: all clean install info \
|
||||
staticlib sharedlib libsclean \
|
||||
staticinstall sharedinstall libinstall \
|
||||
|
||||
all: testfpcmake fpc_all
|
||||
|
||||
# If nothing special needs doing, then just fill in the names here.
|
||||
# The rest should be automatic.
|
||||
UNITNAMES=classes
|
||||
#PROGNAMES=
|
||||
UNITOBJECTS=$(addsuffix .o, $(UNITNAMES))
|
||||
UNITFILES=$(addsuffix .ppu, $(UNITNAMES))
|
||||
PROGSOURCES=$(addsiffix .pp, $(PROGNAMES))
|
||||
PROGOBJECTS=$(addsuffix .o, $(PROGNAMES))
|
||||
clean: testfpcmake fpc_clean
|
||||
|
||||
# Adapt options. Add unit path if needed.
|
||||
override OPT:=$(OPT) -S2 -I$(INCDIR) -I$(CPUDIR)
|
||||
install: testfpcmake fpc_install
|
||||
|
||||
ifdef UNITDIR
|
||||
override OPT:=$(OPT) -Up$(UNITDIR)
|
||||
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
|
||||
#####################################################################
|
||||
|
||||
# test if FPCMAKE is still valid
|
||||
ifdef FPCMAKE
|
||||
ifeq ($(strip $(wildcard $(FPCMAKE))),)
|
||||
FPCDIR=
|
||||
FPCMAKE=
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCDIR
|
||||
ifdef DEFAULTFPCDIR
|
||||
FPCDIR=$(DEFAULTFPCDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCMAKE
|
||||
ifdef FPCDIR
|
||||
FPCMAKE=$(FPCDIR)/makefile.fpc
|
||||
else
|
||||
FPCMAKE=makefile.fpc
|
||||
endif
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
|
||||
# Default rule for units
|
||||
.pp.ppu:
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
# Default target.
|
||||
all: $(UNITFILES) $(PROGNAMES)
|
||||
#####################################################################
|
||||
# Dependencies
|
||||
#####################################################################
|
||||
|
||||
units: $(UNITFILES)
|
||||
vpath %$(PASEXT) $(INC)
|
||||
|
||||
progs: $(PROGNAMES)
|
||||
include $(INC)/Makefile.inc
|
||||
INCFILES=$(addprefix $(INC)/,$(INCNAMES))
|
||||
|
||||
# Default rule for programs
|
||||
$(PROGNAMES): %:%.pp
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
classes.ppu: classes.pp $(INCFILENAMES) $(PROCFILENAMES)
|
||||
classes$(PPUEXT): $(INCFILES) classes$(PASEXT)
|
||||
|
||||
#
|
||||
# Generic install and clean targets
|
||||
# $Log$
|
||||
# Revision 1.4 1999-04-08 10:19:01 peter
|
||||
# * makefile updates
|
||||
#
|
||||
#
|
||||
|
||||
install: all
|
||||
$(MKDIR) $(UNITINSTALLDIR)
|
||||
ifdef UNITNAMES
|
||||
$(INSTALL) $(UNITNAMES) $(UNITINSTALLDIR)
|
||||
endif
|
||||
ifdef PROGNAMES
|
||||
$(INSTALL) $(PROGNAMES) $(BININSTALLDIR)
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f $(UNITOBJECTS) $(UNITFILES) $(PROGNAMES) $(PROGOBJECTS)
|
||||
|
||||
# End of makefile.
|
||||
|
@ -1,45 +0,0 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Component Library (FCL)
|
||||
Copyright (c) 1998 by Michael Van Canneyt and Florian Klaempfl
|
||||
|
||||
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.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{ exceptions aren't implemented yet in the compiler }
|
||||
{$define NoExceptions}
|
||||
|
||||
{ determine the type of the resource/form file }
|
||||
{$define Win16Res}
|
||||
unit Classes;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
objpas,dos,strings;
|
||||
|
||||
{$i classesh.inc}
|
||||
|
||||
implementation
|
||||
|
||||
{$i classes.inc}
|
||||
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.3 1998-05-06 13:00:25 michael
|
||||
+ Added strings to uses clause, for TStrings class.
|
||||
|
||||
Revision 1.2 1998/05/04 14:31:51 michael
|
||||
+ Split classes file.
|
||||
|
||||
Revision 1.1 1998/05/04 12:16:01 florian
|
||||
+ Initial revisions after making a new directory structure
|
||||
|
||||
}
|
@ -1,92 +0,0 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Component Library (FCL)
|
||||
Copyright (c) 1998 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.
|
||||
|
||||
**********************************************************************}
|
||||
{
|
||||
|
||||
This file implements the system-dependent calls needed for the
|
||||
classes unit.
|
||||
|
||||
}
|
||||
|
||||
Function OSCreateFile (Const Filename : string; Mode : Longint) : longint;
|
||||
{
|
||||
Creates a file with name FileName, using mode MODE
|
||||
--> Filename : String giving the path to the file.
|
||||
Mode : Mode can be
|
||||
fmCreate : Create file;
|
||||
fmOpenRead : open for reading;
|
||||
fmOpenWrite : open for writing;
|
||||
<-- File Handle, or -1 on error.
|
||||
}
|
||||
begin
|
||||
end;
|
||||
|
||||
Function OSReadHandle(Handle : Longint;Var Buffer; Count : Longint): Longint;
|
||||
{
|
||||
Read from a handle
|
||||
--> Handle : file,pipe,etc Handle to read from.
|
||||
Buffer : Location where to put the read bytes.
|
||||
Count : Number of bytes that should be read
|
||||
<-- Number of bytes actually read, or -1 on error.
|
||||
}
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
Function OSWriteHandle(Handle : Longint;var Buffer; Count : longint) : Longint;
|
||||
{
|
||||
Write to a handle
|
||||
--> Handle : file,pipe,etc Handle to write to.
|
||||
Buffer : Location where to get the bytes.
|
||||
Count : Number of bytes that should be written.
|
||||
<-- Number of bytes actually written, or -1 on error.
|
||||
}
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
Function OSSetHandleSize (Handle,Size : Longint) : longint;
|
||||
{
|
||||
Set size of handle (for files only)
|
||||
--> Handle : Handle to set size for.
|
||||
Size : Size to be set.
|
||||
<-- 0 on success, or -1 on error.
|
||||
}
|
||||
begin
|
||||
end;
|
||||
|
||||
Function OSSeekHandle (FHandle,OffSet,Origin : longint) : longint;
|
||||
{
|
||||
Seek Handle position starting from Origin
|
||||
--> Handle : Handle of file to do seek on.
|
||||
Offset : Position to seek.
|
||||
Origin : Where to start seek:
|
||||
soFromBeginning
|
||||
soFromCurrent
|
||||
soFromEnd
|
||||
<-- 0 on succes, -1 on error.
|
||||
}
|
||||
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
Function OSCloseHandle (Handle : longint) : longint;
|
||||
{
|
||||
Close file associated with HAndle.
|
||||
--> Handle : Handle of file to do seek on.
|
||||
<-- 0 on succes, -1 on error.
|
||||
}
|
||||
|
||||
begin
|
||||
end;
|
@ -1,78 +1,118 @@
|
||||
#######################################################################
|
||||
# Makefile for Free Pascal
|
||||
# (C) 1998 Michael van Canneyt
|
||||
#######################################################################
|
||||
#
|
||||
# Configurable section
|
||||
# $Id$
|
||||
# Copyright (c) 1999 by the Free Pascal Development Team
|
||||
#
|
||||
# Makefile for Free Component Library for Linux
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# What Compiler should we use ?
|
||||
PP=../../compiler/ppc386
|
||||
|
||||
# Where are the Free Pascal units ? (Optional)
|
||||
UNITDIR = ../linux\;../../rtl/linux
|
||||
#####################################################################
|
||||
# Defaults
|
||||
#####################################################################
|
||||
|
||||
# Default place of the makefile.fpc
|
||||
DEFAULTFPCDIR=../..
|
||||
|
||||
# Where need we to place the executables/ppu/objects
|
||||
TARGETDIR=.
|
||||
|
||||
# Needed units
|
||||
NEEDUNITDIR=../$(OS_TARGET)
|
||||
|
||||
# We need always -S2
|
||||
NEEDOPT=-S2
|
||||
|
||||
|
||||
# Any options you wish to pass to the compiler
|
||||
OPT=
|
||||
#####################################################################
|
||||
# Real targets
|
||||
#####################################################################
|
||||
|
||||
# Where to install the units ?
|
||||
UNITINSTALLDIR=/usr/lib/fpc/0.99.5/linuxunits
|
||||
UNITOBJECTS=
|
||||
EXEOBJECTS=stringl dparser fstream mstream list
|
||||
|
||||
# Where to install the programs ?
|
||||
BININSTALLDIR=/usr/local/bin
|
||||
|
||||
#######################################################################
|
||||
# End of configurable section. Do not edit below this line.
|
||||
#######################################################################
|
||||
#####################################################################
|
||||
# Common targets
|
||||
#####################################################################
|
||||
|
||||
.SUFFIXES: .pp .ppu .pas
|
||||
.PHONY: all install clean units progs
|
||||
.PHONY: all clean install info \
|
||||
staticlib sharedlib libsclean \
|
||||
staticinstall sharedinstall libinstall \
|
||||
|
||||
all: testfpcmake fpc_all
|
||||
|
||||
# If nothing special needs doing, then just fill in the names here.
|
||||
# The rest should be automatic.
|
||||
#UNITNAMES=
|
||||
PROGNAMES=fstream mstream list dparser stringl
|
||||
UNITOBJECTS=$(addsuffix .o, $(UNITNAMES))
|
||||
UNITFILES=$(addsuffix .ppu, $(UNITNAMES))
|
||||
PROGSOURCES=$(addsiffix .pp, $(PROGNAMES))
|
||||
PROGOBJECTS=$(addsuffix .o, $(PROGNAMES))
|
||||
clean: testfpcmake fpc_clean
|
||||
|
||||
# Adapt options. Add unit path if needed.
|
||||
ifdef UNITDIR
|
||||
override OPT:=$(OPT) -S2 -Up$(UNITDIR)
|
||||
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
|
||||
#####################################################################
|
||||
|
||||
# test if FPCMAKE is still valid
|
||||
ifdef FPCMAKE
|
||||
ifeq ($(strip $(wildcard $(FPCMAKE))),)
|
||||
FPCDIR=
|
||||
FPCMAKE=
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCDIR
|
||||
ifdef DEFAULTFPCDIR
|
||||
FPCDIR=$(DEFAULTFPCDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCMAKE
|
||||
ifdef FPCDIR
|
||||
FPCMAKE=$(FPCDIR)/makefile.fpc
|
||||
else
|
||||
FPCMAKE=makefile.fpc
|
||||
endif
|
||||
endif
|
||||
|
||||
override FPCMAKE:=$(strip $(wildcard $(FPCMAKE)))
|
||||
ifeq ($(FPCMAKE),)
|
||||
testfpcmake:
|
||||
@echo makefile.fpc not found!
|
||||
@echo Check the FPCMAKE and FPCDIR environment variables.
|
||||
@exit 1
|
||||
else
|
||||
include $(FPCMAKE)
|
||||
testfpcmake:
|
||||
endif
|
||||
|
||||
|
||||
# Default rule for units
|
||||
.pp.ppu:
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
# Default target.
|
||||
all: $(UNITFILES) $(PROGNAMES)
|
||||
|
||||
units: $(UNITFILES)
|
||||
|
||||
progs: $(PROGNAMES)
|
||||
|
||||
# Default rule for programs
|
||||
$(PROGNAMES): %:%.pp
|
||||
$(PP) $(OPT) $<
|
||||
#####################################################################
|
||||
# Dependencies
|
||||
#####################################################################
|
||||
|
||||
#
|
||||
# Generic install and clean targets
|
||||
# $Log$
|
||||
# Revision 1.4 1999-04-08 10:19:04 peter
|
||||
# * makefile updates
|
||||
#
|
||||
#
|
||||
|
||||
install: all
|
||||
install -m 755 $(UNITINSTALLDIR)
|
||||
ifdef UNITNAMES
|
||||
install -m 666 $(UNITNAMES) $(UNITINSTALLDIR)
|
||||
endif
|
||||
ifdef PROGNAMES
|
||||
install -m 755 $(PROGNAMES) $(BININSTALLDIR)
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f $(UNITOBJECTS) $(UNITFILES) $(PROGNAMES) $(PROGOBJECTS)
|
||||
|
||||
# End of makefile.
|
||||
|
@ -1,103 +1,129 @@
|
||||
#######################################################################
|
||||
# Makefile for Free Pascal
|
||||
# (C) 1998 Michael van Canneyt
|
||||
#######################################################################
|
||||
#
|
||||
# Configurable section
|
||||
# $Id$
|
||||
# Copyright (c) 1999 by the Free Pascal Development Team
|
||||
#
|
||||
# Makefile for Free Component Library for Win32
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# What Compiler should we use ?
|
||||
PP=ppc386
|
||||
|
||||
# Where are the Free Pascal units ? (Optional)
|
||||
#UNITDIR = c:/pp/units/win32
|
||||
#####################################################################
|
||||
# Defaults
|
||||
#####################################################################
|
||||
|
||||
# Processor you are using
|
||||
CPU=i386
|
||||
#CPU=m68k
|
||||
# Default place of the makefile.fpc
|
||||
DEFAULTFPCDIR=../..
|
||||
|
||||
# Any options you wish to pass to the compiler
|
||||
OPT=
|
||||
# Include files
|
||||
INC=../inc
|
||||
PROCINC=../$(CPU)
|
||||
|
||||
# Where to install the units ?
|
||||
UNITINSTALLDIR=c:/pp/units/fcl
|
||||
# Where to place the files
|
||||
TARGETDIR=.
|
||||
|
||||
# Where to install the programs ?
|
||||
BININSTALLDIR=/pp/bin
|
||||
# We need always -S2
|
||||
NEEDOPT=-S2
|
||||
|
||||
# Install program ?
|
||||
INSTALL=cp
|
||||
# As default make only the units
|
||||
DEFAULTUNITS=1
|
||||
|
||||
# Mkdir program ?
|
||||
MKDIR=mkdir
|
||||
|
||||
#######################################################################
|
||||
# End of configurable section. Do not edit below this line.
|
||||
#######################################################################
|
||||
#####################################################################
|
||||
# Real targets
|
||||
#####################################################################
|
||||
|
||||
.SUFFIXES: .pp .ppu .pas
|
||||
.PHONY: all install clean units progs
|
||||
UNITOBJECTS=classes
|
||||
EXEOBJECTS=
|
||||
|
||||
INCDIR=../inc
|
||||
CPUDIR=../$(CPU)
|
||||
|
||||
include $(INCDIR)/Makefile.inc
|
||||
#####################################################################
|
||||
# Common targets
|
||||
#####################################################################
|
||||
|
||||
# Set inc
|
||||
INCFILENAMES=$(addprefix $(INCDIR)/,$(INCNAMES))
|
||||
.PHONY: all clean install info \
|
||||
staticlib sharedlib libsclean \
|
||||
staticinstall sharedinstall libinstall \
|
||||
|
||||
all: testfpcmake fpc_all
|
||||
|
||||
# If nothing special needs doing, then just fill in the names here.
|
||||
# The rest should be automatic.
|
||||
UNITNAMES=classes
|
||||
#PROGNAMES=
|
||||
UNITOBJECTS=$(addsuffix .o, $(UNITNAMES))
|
||||
UNITFILES=$(addsuffix .ppu, $(UNITNAMES))
|
||||
PROGSOURCES=$(addsiffix .pp, $(PROGNAMES))
|
||||
PROGOBJECTS=$(addsuffix .o, $(PROGNAMES))
|
||||
clean: testfpcmake fpc_clean
|
||||
|
||||
# Adapt options. Add unit path if needed.
|
||||
override OPT:=$(OPT) -S2 -I$(INCDIR) -I$(CPUDIR)
|
||||
install: testfpcmake fpc_install
|
||||
|
||||
ifdef UNITDIR
|
||||
override OPT:=$(OPT) -Up$(UNITDIR)
|
||||
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
|
||||
#####################################################################
|
||||
|
||||
# test if FPCMAKE is still valid
|
||||
ifdef FPCMAKE
|
||||
ifeq ($(strip $(wildcard $(FPCMAKE))),)
|
||||
FPCDIR=
|
||||
FPCMAKE=
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCDIR
|
||||
ifdef DEFAULTFPCDIR
|
||||
FPCDIR=$(DEFAULTFPCDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef FPCMAKE
|
||||
ifdef FPCDIR
|
||||
FPCMAKE=$(FPCDIR)/makefile.fpc
|
||||
else
|
||||
FPCMAKE=makefile.fpc
|
||||
endif
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
|
||||
# Default rule for units
|
||||
.pp.ppu:
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
# Default target.
|
||||
all: $(UNITFILES) $(PROGNAMES)
|
||||
#####################################################################
|
||||
# Dependencies
|
||||
#####################################################################
|
||||
|
||||
units: $(UNITFILES)
|
||||
vpath %$(PASEXT) $(INC)
|
||||
|
||||
progs: $(PROGNAMES)
|
||||
include $(INC)/Makefile.inc
|
||||
INCFILES=$(addprefix $(INC)/,$(INCNAMES))
|
||||
|
||||
# Default rule for programs
|
||||
$(PROGNAMES): %:%.pp
|
||||
$(PP) $(OPT) $<
|
||||
|
||||
classes.ppu: classes.pp $(INCFILENAMES) $(PROCFILENAMES)
|
||||
|
||||
|
||||
classes.pp:
|
||||
cp $(INCDIR)/classes.pp .
|
||||
classes$(PPUEXT): $(INCFILES) classes$(PASEXT)
|
||||
|
||||
#
|
||||
# Generic install and clean targets
|
||||
# $Log$
|
||||
# Revision 1.5 1999-04-08 10:19:05 peter
|
||||
# * makefile updates
|
||||
#
|
||||
#
|
||||
|
||||
install: all
|
||||
$(MKDIR) $(UNITINSTALLDIR)
|
||||
ifdef UNITNAMES
|
||||
$(INSTALL) $(UNITNAMES) $(UNITINSTALLDIR)
|
||||
endif
|
||||
ifdef PROGNAMES
|
||||
$(INSTALL) $(PROGNAMES) $(BININSTALLDIR)
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f $(UNITOBJECTS) $(UNITFILES) $(PROGNAMES) $(PROGOBJECTS)
|
||||
|
||||
# End of makefile.
|
||||
|
Loading…
Reference in New Issue
Block a user