* some m68k and amiga related stuff fixed

This commit is contained in:
florian 2004-05-05 21:26:34 +00:00
parent a1d5451ed7
commit 91733f9237
5 changed files with 168 additions and 47 deletions

View File

@ -1,24 +1,15 @@
#
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21]
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/12]
#
default: all
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
BSDs = freebsd netbsd openbsd darwin
UNIXs = linux $(BSDs) sunos qnx
FORCE:
.PHONY: FORCE
override PATH:=$(subst \,/,$(PATH))
ifneq ($(findstring darwin,$(OSTYPE)),)
inUnix=1 #darwin
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
else
ifeq ($(findstring ;,$(PATH)),)
inUnix=1
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
else
SEARCHPATH:=$(subst ;, ,$(PATH))
endif
endif
SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
ifeq ($(PWD),)
@ -119,6 +110,7 @@ FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
endif
export FPC FPC_VERSION FPC_COMPILERINFO
unexport CHECKDEPEND ALLDEPENDENCIES
BSDTARGETS=freebsd netbsd openbsd darwin
ifndef CPU_TARGET
ifdef CPU_TARGET_DEFAULT
CPU_TARGET=$(CPU_TARGET_DEFAULT)
@ -157,7 +149,7 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
endif
endif
ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
ifneq ($(findstring $(OS_TARGET),$(BSDTARGETS)),)
BSDhier=1
endif
ifeq ($(OS_TARGET),linux)
@ -229,6 +221,11 @@ override FPCOPT+=-Ur
endif
endif
endif
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
SYSTEMUNIT=system
else
SYSTEMUNIT=syslinux
endif
OBJPASDIR=$(RTL)/objpas
GRAPHDIR=$(INC)/graph
override TARGET_UNITS+=system exec strings dos crt objects printer objpas heaptrc lineinfo getopts graph sysutils math typinfo
@ -245,12 +242,48 @@ ifdef REQUIRE_PACKAGESDIR
override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
endif
ifdef ZIPINSTALL
ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
UNIXHier=1
ifeq ($(OS_TARGET),linux)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_TARGET),freebsd)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_TARGET),netbsd)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_TARGET),openbsd)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_TARGET),darwin)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_TARGET),sunos)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_TARGET),qnx)
UNIXINSTALLDIR=1
endif
else
ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
UNIXHier=1
ifeq ($(OS_SOURCE),linux)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_SOURCE),freebsd)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_SOURCE),netbsd)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_SOURCE),openbsd)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_SOURCE),darwin)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_TARGET),sunos)
UNIXINSTALLDIR=1
endif
ifeq ($(OS_TARGET),qnx)
UNIXINSTALLDIR=1
endif
endif
ifndef INSTALL_PREFIX
@ -259,7 +292,7 @@ INSTALL_PREFIX=$(PREFIX)
endif
endif
ifndef INSTALL_PREFIX
ifdef UNIXHier
ifdef UNIXINSTALLDIR
INSTALL_PREFIX=/usr/local
else
ifdef INSTALL_FPCPACKAGE
@ -278,7 +311,7 @@ DIST_DESTDIR:=$(BASEDIR)
endif
export DIST_DESTDIR
ifndef INSTALL_BASEDIR
ifdef UNIXHier
ifdef UNIXINSTALLDIR
ifdef INSTALL_FPCPACKAGE
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
else
@ -289,7 +322,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
endif
endif
ifndef INSTALL_BINDIR
ifdef UNIXHier
ifdef UNIXINSTALLDIR
ifdef CROSSCOMPILE
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
else
@ -319,14 +352,14 @@ endif
endif
endif
ifndef INSTALL_LIBDIR
ifdef UNIXHier
ifdef UNIXINSTALLDIR
INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
else
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
endif
endif
ifndef INSTALL_SOURCEDIR
ifdef UNIXHier
ifdef UNIXINSTALLDIR
ifdef BSDhier
SRCPREFIXDIR=share/src
else
@ -358,7 +391,7 @@ endif
endif
endif
ifndef INSTALL_DOCDIR
ifdef UNIXHier
ifdef UNIXINSTALLDIR
ifdef BSDhier
DOCPREFIXDIR=share/doc
else
@ -382,7 +415,7 @@ endif
endif
endif
ifndef INSTALL_EXAMPLEDIR
ifdef UNIXHier
ifdef UNIXINSTALLDIR
ifdef INSTALL_FPCPACKAGE
ifdef BSDhier
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
@ -1198,9 +1231,6 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
endif
ifdef CLEANPPUFILES
override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
ifdef DEBUGSYMEXT
override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
endif
override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
endif
@ -1222,9 +1252,11 @@ ifdef CLEAN_FILES
endif
ifdef LIB_NAME
-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
endif
ifdef DEBUGSYMEXT
-$(DEL) *$(DEBUGSYMEXT)
endif
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
fpc_distclean: clean
ifdef COMPILER_UNITTARGETDIR
TARGETDIRCLEAN=fpc_clean
@ -1240,9 +1272,6 @@ endif
ifdef AOUTEXT
-$(DEL) *$(AOUTEXT)
endif
ifdef DEBUGSYMEXT
-$(DEL) *$(DEBUGSYMEXT)
endif
.PHONY: fpc_baseinfo
override INFORULES+=fpc_baseinfo
fpc_baseinfo:
@ -1375,8 +1404,8 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
prt0$(OEXT) : prt0$(LOADEREXT)
-$(AS) prt0$(LOADEREXT) -o prt0$(OEXT)
system$(PPUEXT) : sysamiga.pas $(SYSLINUXDEPS) $(SYSDEPS)
$(COMPILER) -ui386 -dm68k -Us -Sg sysamiga.pas $(REDIR)
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pas $(SYSLINUXDEPS) $(SYSDEPS)
$(COMPILER) -ui386 -dm68k -Us -Sg $(SYSTEMUNIT).pas $(REDIR)
strings$(PPUEXT) : ../template/strings.pp system$(PPUEXT)
$(COMPILER) ../template/strings.pp $(REDIR)
exec$(PPUEXT) : exec.pp exec.inc system$(PPUEXT)

View File

@ -51,6 +51,13 @@ endif
endif
endif
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
SYSTEMUNIT=system
else
SYSTEMUNIT=syslinux
endif
# Paths
OBJPASDIR=$(RTL)/objpas
GRAPHDIR=$(INC)/graph
@ -86,8 +93,8 @@ prt0$(OEXT) : prt0$(LOADEREXT)
# Base Units (System, strings, os-dependent-base-unit)
#
system$(PPUEXT) : sysamiga.pas $(SYSLINUXDEPS) $(SYSDEPS)
$(COMPILER) -ui386 -dm68k -Us -Sg sysamiga.pas $(REDIR)
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pas $(SYSLINUXDEPS) $(SYSDEPS)
$(COMPILER) -ui386 -dm68k -Us -Sg $(SYSTEMUNIT).pas $(REDIR)
strings$(PPUEXT) : ../template/strings.pp system$(PPUEXT)
$(COMPILER) ../template/strings.pp $(REDIR)

View File

@ -89,7 +89,80 @@ const
(0,0,0,0,0,0,0,0);
{$I exec.inc}
TYPE
{ from exec.inc}
BPTR = Longint;
ULONG = Longint;
pNode = ^tNode;
tNode = packed Record
ln_Succ, { * Pointer to next (successor) * }
ln_Pred : pNode; { * Pointer to previous (predecessor) * }
ln_Type : Byte;
ln_Pri : Shortint; { * Priority, for sorting * }
ln_Name : PChar; { * ID string, null terminated * }
End; { * Note: Integer aligned * }
pMinNode = ^tMinNode;
tMinNode = packed Record
mln_Succ,
mln_Pred : pMinNode;
End;
pList = ^tList;
tList = packed record
lh_Head : pNode;
lh_Tail : pNode;
lh_TailPred : pNode;
lh_Type : Byte;
l_pad : Byte;
end;
{ minimum list -- no type checking possible }
pMinList = ^tMinList;
tMinList = packed record
mlh_Head : pMinNode;
mlh_Tail : pMinNode;
mlh_TailPred : pMinNode;
end;
pMsgPort = ^tMsgPort;
tMsgPort = packed record
mp_Node : tNode;
mp_Flags : Byte;
mp_SigBit : Byte; { signal bit number }
mp_SigTask : Pointer; { task to be signalled (TaskPtr) }
mp_MsgList : tList; { message linked list }
end;
pTask = ^tTask;
tTask = packed record
tc_Node : tNode;
tc_Flags : Byte;
tc_State : Byte;
tc_IDNestCnt : Shortint; { intr disabled nesting }
tc_TDNestCnt : Shortint; { task disabled nesting }
tc_SigAlloc : ULONG; { sigs allocated }
tc_SigWait : ULONG; { sigs we are waiting for }
tc_SigRecvd : ULONG; { sigs we have received }
tc_SigExcept : ULONG; { sigs we will take excepts for }
tc_TrapAlloc : Word; { traps allocated }
tc_TrapAble : Word; { traps enabled }
tc_ExceptData : Pointer; { points to except data }
tc_ExceptCode : Pointer; { points to except code }
tc_TrapData : Pointer; { points to trap data }
tc_TrapCode : Pointer; { points to trap code }
tc_SPReg : Pointer; { stack pointer }
tc_SPLower : Pointer; { stack lower bound }
tc_SPUpper : Pointer; { stack upper bound + 2 }
tc_Switch : Pointer; { task losing CPU }
tc_Launch : Pointer; { task getting CPU }
tc_MemEntry : tList; { allocated memory }
tc_UserData : Pointer; { per task data }
end;
{ end exec.inc}
TYPE
TDateStamp = packed record
@ -1833,7 +1906,10 @@ end.
{
$Log$
Revision 1.10 2004-01-20 23:05:31 hajny
Revision 1.11 2004-05-05 21:26:34 florian
* some m68k and amiga related stuff fixed
Revision 1.10 2004/01/20 23:05:31 hajny
* ExecuteProcess fixes, ProcessID and ThreadID added
Revision 1.9 2003/10/25 23:42:35 hajny
@ -1855,4 +1931,4 @@ end.
Revision 1.4 2002/09/07 16:01:16 peter
* old logs removed and tabs fixed
}
}

View File

@ -62,7 +62,7 @@
Type
{$Ifdef HAS_INTERNAL_INTTYPES}
{ The compiler has all integer types defined internally. Here
we define only aliases }
we define only aliases }
DWord = LongWord;
Cardinal = LongWord;
Integer = SmallInt;
@ -111,8 +111,6 @@ Type
{$ifdef CPUM68K}
ValReal = Real;
{ Comp type does not exist on fpu }
Comp = int64;
{$define SUPPORT_SINGLE}
{$IFDEF Unix}
{ Linux FPU emulator will be used }
@ -123,6 +121,9 @@ Type
{ then support double type. }
{$define SUPPORT_DOUBLE}
{$ENDIF}
{ Comp type does not exist on fpu }
Comp = int64;
PComp = ^Comp;
{$endif CPUM68K}
{$ifdef CPUPOWERPC}
@ -239,7 +240,7 @@ Type
PInt64 = ^Int64;
PPtrInt = ^PtrInt;
PSizeInt = ^SizeInt;
PPointer = ^Pointer;
PPPointer = ^PPointer;
@ -729,7 +730,10 @@ const
{
$Log$
Revision 1.91 2004-05-01 23:55:18 peter
Revision 1.92 2004-05-05 21:26:34 florian
* some m68k and amiga related stuff fixed
Revision 1.91 2004/05/01 23:55:18 peter
* replace strlenint with sizeint
Revision 1.90 2004/05/01 20:52:50 peter

View File

@ -18,20 +18,25 @@
**********************************************************************}
Type
// CARL, CHANGE THESE TO THE NEEDED VALUES ! (MVC)
jmp_buf = packed record
ebx,esi,edi : Longint;
bp,sp,pc : Pointer;
end;
fp : longint; { frame pointer }
sp : longint; { stack pointer }
pc : longint; { program counter }
aregs : array[0..3] of dword; { address registers (a2,a3,a4,a5) }
end;
PJmp_buf = ^jmp_buf;
Function Setjmp (Var S : Jmp_buf) : longint;
Procedure longjmp (Var S : Jmp_buf; value : longint);
{
$Log$
Revision 1.4 2002-10-20 11:53:14 carl
Revision 1.5 2004-05-05 21:26:34 florian
* some m68k and amiga related stuff fixed
Revision 1.4 2002/10/20 11:53:14 carl
* make the jmp_buf record packed, just in case
Revision 1.3 2002/09/07 16:01:20 peter
* old logs removed and tabs fixed
}