mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 10:29:24 +02:00
Amiga: Enable Dotted RTL for Amiga
This commit is contained in:
parent
e19103e9a9
commit
1714dbb563
@ -820,7 +820,7 @@ var p:pintrtlevent;
|
|||||||
begin
|
begin
|
||||||
p:=pintrtlevent(aevent);
|
p:=pintrtlevent(aevent);
|
||||||
ObtainSemaphore(@p^.Sem);
|
ObtainSemaphore(@p^.Sem);
|
||||||
while not p^.isset do
|
while not p^.isset do
|
||||||
begin
|
begin
|
||||||
ReleaseSemaphore(@p^.Sem);
|
ReleaseSemaphore(@p^.Sem);
|
||||||
DOSDelay(1);
|
DOSDelay(1);
|
||||||
|
@ -471,7 +471,7 @@ begin
|
|||||||
|
|
||||||
Rslt.Size := fib_Size;
|
Rslt.Size := fib_Size;
|
||||||
Rslt.Time := DateTimeToFileDate(AmigaFileDateToDateTime(fib_Date,validDate));
|
Rslt.Time := DateTimeToFileDate(AmigaFileDateToDateTime(fib_Date,validDate));
|
||||||
if not validDate then
|
if not validDate then
|
||||||
begin
|
begin
|
||||||
InternalFindClose(Rslt.FindHandle);
|
InternalFindClose(Rslt.FindHandle);
|
||||||
exit;
|
exit;
|
||||||
@ -538,7 +538,7 @@ var
|
|||||||
attr: word;
|
attr: word;
|
||||||
begin
|
begin
|
||||||
Assign(F,FileName);
|
Assign(F,FileName);
|
||||||
dos.GetFAttr(F,attr);
|
{$IFDEF FPC_DOTTEDUNITS}TP.{$ENDIF}dos.GetFAttr(F,attr);
|
||||||
if DosError <> 0 then
|
if DosError <> 0 then
|
||||||
FileGetAttr := -1
|
FileGetAttr := -1
|
||||||
else
|
else
|
||||||
@ -551,7 +551,7 @@ var
|
|||||||
F: file;
|
F: file;
|
||||||
begin
|
begin
|
||||||
Assign(F, FileName);
|
Assign(F, FileName);
|
||||||
Dos.SetFAttr(F, Attr and $ffff);
|
{$IFDEF FPC_DOTTEDUNITS}TP.{$ENDIF}Dos.SetFAttr(F, Attr and $ffff);
|
||||||
FileSetAttr := DosError;
|
FileSetAttr := DosError;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -759,9 +759,9 @@ var
|
|||||||
dayOfWeek: word;
|
dayOfWeek: word;
|
||||||
Sec100: Word;
|
Sec100: Word;
|
||||||
begin
|
begin
|
||||||
dos.GetTime(SystemTime.Hour, SystemTime.Minute, SystemTime.Second, Sec100);
|
{$IFDEF FPC_DOTTEDUNITS}TP.{$ENDIF}dos.GetTime(SystemTime.Hour, SystemTime.Minute, SystemTime.Second, Sec100);
|
||||||
SystemTime.Millisecond := Sec100 * 10;
|
SystemTime.Millisecond := Sec100 * 10;
|
||||||
dos.GetDate(SystemTime.Year, SystemTime.Month, SystemTime.Day, DayOfWeek);
|
{$IFDEF FPC_DOTTEDUNITS}TP.{$ENDIF}dos.GetDate(SystemTime.Year, SystemTime.Month, SystemTime.Day, DayOfWeek);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -856,21 +856,21 @@ begin
|
|||||||
if StrOfpaths = '' then StrOfPaths := GetPathString;
|
if StrOfpaths = '' then StrOfPaths := GetPathString;
|
||||||
Result:=StrOfPaths;
|
Result:=StrOfPaths;
|
||||||
end else
|
end else
|
||||||
Result:=Dos.Getenv(shortstring(EnvVar));
|
Result:={$IFDEF FPC_DOTTEDUNITS}TP.{$ENDIF}Dos.Getenv(shortstring(EnvVar));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function GetEnvironmentVariableCount : Integer;
|
Function GetEnvironmentVariableCount : Integer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
// Result:=FPCCountEnvVar(EnvP);
|
// Result:=FPCCountEnvVar(EnvP);
|
||||||
Result:=Dos.envCount;
|
Result:={$IFDEF FPC_DOTTEDUNITS}TP.{$ENDIF}Dos.envCount;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function GetEnvironmentString(Index : Integer) : {$ifdef FPC_RTL_UNICODE}UnicodeString{$else}AnsiString{$endif};
|
Function GetEnvironmentString(Index : Integer) : {$ifdef FPC_RTL_UNICODE}UnicodeString{$else}AnsiString{$endif};
|
||||||
|
|
||||||
begin
|
begin
|
||||||
// Result:=FPCGetEnvStrFromP(Envp,Index);
|
// Result:=FPCGetEnvStrFromP(Envp,Index);
|
||||||
Result:=Dos.EnvStr(Index);
|
Result:={$IFDEF FPC_DOTTEDUNITS}TP.{$ENDIF}Dos.EnvStr(Index);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function ExecuteProcess (const Path: RawByteString; const ComLine: RawByteString;Flags:TExecuteFlags=[]):
|
function ExecuteProcess (const Path: RawByteString; const ComLine: RawByteString;Flags:TExecuteFlags=[]):
|
||||||
|
@ -2868,7 +2868,10 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
|
|||||||
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
|
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
|
||||||
prt0$(OEXT) : $(CPU_TARGET)/prt0.as
|
prt0$(OEXT) : $(CPU_TARGET)/prt0.as
|
||||||
$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
|
$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
|
||||||
|
ifdef FPC_DOTTEDUNITS
|
||||||
|
BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS
|
||||||
|
endif
|
||||||
buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
|
buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
|
||||||
$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
|
$(COMPILER) -Fi$(OBJPASDIR) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) $(BUILDRTL_OPT) buildrtl
|
||||||
$(RESUNIT)$(PPUEXT) : $(INC)/$(RESUNIT).pp $(SYSTEMUNIT)$(PPUEXT)
|
$(RESUNIT)$(PPUEXT) : $(INC)/$(RESUNIT).pp $(SYSTEMUNIT)$(PPUEXT)
|
||||||
$(COMPILER) -Sg $(INC)/$(RESUNIT).pp
|
$(COMPILER) -Sg $(INC)/$(RESUNIT).pp
|
||||||
|
@ -94,12 +94,16 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
|
|||||||
prt0$(OEXT) : $(CPU_TARGET)/prt0.as
|
prt0$(OEXT) : $(CPU_TARGET)/prt0.as
|
||||||
$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
|
$(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
|
||||||
|
|
||||||
|
ifdef FPC_DOTTEDUNITS
|
||||||
|
BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS
|
||||||
|
endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# Base Units (System, strings, os-dependent-base-unit)
|
# Base Units (System, strings, os-dependent-base-unit)
|
||||||
#
|
#
|
||||||
|
|
||||||
buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
|
buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
|
||||||
$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
|
$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) $(BUILDRTL_OPT) buildrtl
|
||||||
|
|
||||||
$(RESUNIT)$(PPUEXT) : $(INC)/$(RESUNIT).pp $(SYSTEMUNIT)$(PPUEXT)
|
$(RESUNIT)$(PPUEXT) : $(INC)/$(RESUNIT).pp $(SYSTEMUNIT)$(PPUEXT)
|
||||||
$(COMPILER) -Sg $(INC)/$(RESUNIT).pp
|
$(COMPILER) -Sg $(INC)/$(RESUNIT).pp
|
||||||
|
@ -1,7 +1,22 @@
|
|||||||
unit buildrtl;
|
unit buildrtl;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
{$IFDEF FPC_DOTTEDUNITS}
|
||||||
|
uses
|
||||||
|
si_prc,
|
||||||
|
AmigaApi.AThreads, TP.DOS, System.SysUtils,
|
||||||
|
|
||||||
|
{$ifdef cpupowerpc}
|
||||||
|
exeinfo, lineinfo,
|
||||||
|
{$endif}
|
||||||
|
|
||||||
|
System.CTypes, System.Strings,
|
||||||
|
System.RtlConsts, System.SysConst, System.Math, System.Types,
|
||||||
|
System.TypInfo, System.SortBase, System.FGL, System.Classes,
|
||||||
|
System.CharSet, System.Character, System.GetOpts,
|
||||||
|
System.FPWideString,
|
||||||
|
System.SoftFPU, System.SoftFpuX80, System.SoftFpu128, System.UFloatX80, System.UFloat128;
|
||||||
|
{$ELSE FPC_DOTTEDUNITS}
|
||||||
uses
|
uses
|
||||||
si_prc,
|
si_prc,
|
||||||
athreads, dos, sysutils,
|
athreads, dos, sysutils,
|
||||||
@ -16,7 +31,7 @@ unit buildrtl;
|
|||||||
charset, character, getopts,
|
charset, character, getopts,
|
||||||
fpwidestring,
|
fpwidestring,
|
||||||
softfpu, sfpux80, ufloatx80, sfpu128, ufloat128;
|
softfpu, sfpux80, ufloatx80, sfpu128, ufloat128;
|
||||||
|
{$ENDIF FPC_DOTTEDUNITS}
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
Loading…
Reference in New Issue
Block a user