* more file handling from shortstring to tcmdstr

git-svn-id: trunk@6595 -
This commit is contained in:
Jonas Maebe 2007-02-21 21:54:54 +00:00
parent 06961fe250
commit 90ea73a90b
21 changed files with 135 additions and 135 deletions

View File

@ -51,18 +51,18 @@ interface
private private
FDirectoryEntries : TFPHashList; FDirectoryEntries : TFPHashList;
public public
constructor Create(AList:TFPHashObjectList;const AName:string); constructor Create(AList:TFPHashObjectList;const AName:TCmdStr);
destructor destroy;override; destructor destroy;override;
procedure Reload; procedure Reload;
function FileExists(const AName:string):boolean; function FileExists(const AName:TCmdStr):boolean;
function DirectoryExists(const AName:string):boolean; function DirectoryExists(const AName:TCmdStr):boolean;
property DirectoryEntries:TFPHashList read FDirectoryEntries; property DirectoryEntries:TFPHashList read FDirectoryEntries;
end; end;
TCachedSearchRec = record TCachedSearchRec = record
Name : string; Name : TCmdStr;
Attr : byte; Attr : byte;
Pattern : string; Pattern : TCmdStr;
CachedDir : TCachedDirectory; CachedDir : TCachedDirectory;
EntryIndex : longint; EntryIndex : longint;
end; end;
@ -70,13 +70,13 @@ interface
TDirectoryCache = class TDirectoryCache = class
private private
FDirectories : TFPHashObjectList; FDirectories : TFPHashObjectList;
function GetDirectory(const ADir:string):TCachedDirectory; function GetDirectory(const ADir:TCmdStr):TCachedDirectory;
public public
constructor Create; constructor Create;
destructor destroy;override; destructor destroy;override;
function FileExists(const AName:string):boolean; function FileExists(const AName:TCmdStr):boolean;
function DirectoryExists(const AName:string):boolean; function DirectoryExists(const AName:TCmdStr):boolean;
function FindFirst(const APattern:string;var Res:TCachedSearchRec):boolean; function FindFirst(const APattern:TCmdStr;var Res:TCachedSearchRec):boolean;
function FindNext(var Res:TCachedSearchRec):boolean; function FindNext(var Res:TCachedSearchRec):boolean;
function FindClose(var Res:TCachedSearchRec):boolean; function FindClose(var Res:TCachedSearchRec):boolean;
end; end;
@ -88,26 +88,26 @@ interface
function FindFile(const f : TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean; function FindFile(const f : TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean;
end; end;
function bstoslash(const s : string) : string; function bstoslash(const s : TCmdStr) : TCmdStr;
{Gives the absolute path to the current directory} {Gives the absolute path to the current directory}
function GetCurrentDir:string; function GetCurrentDir:TCmdStr;
{Gives the relative path to the current directory, {Gives the relative path to the current directory,
with a trailing dir separator. E. g. on unix ./ } with a trailing dir separator. E. g. on unix ./ }
function CurDirRelPath(systeminfo: tsysteminfo): string; function CurDirRelPath(systeminfo: tsysteminfo): TCmdStr;
function path_absolute(const s : string) : boolean; function path_absolute(const s : TCmdStr) : boolean;
Function PathExists (const F : String;allowcache:boolean) : Boolean; Function PathExists (const F : TCmdStr;allowcache:boolean) : Boolean;
Function FileExists (const F : String;allowcache:boolean) : Boolean; Function FileExists (const F : TCmdStr;allowcache:boolean) : Boolean;
function FileExistsNonCase(const path,fn:TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean; function FileExistsNonCase(const path,fn:TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean;
Function RemoveDir(d:string):boolean; Function RemoveDir(d:TCmdStr):boolean;
Function FixPath(s:string;allowdot:boolean):string; Function FixPath(s:TCmdStr;allowdot:boolean):TCmdStr;
function FixFileName(const s:string):string; function FixFileName(const s:TCmdStr):TCmdStr;
function TargetFixPath(s:string;allowdot:boolean):string; function TargetFixPath(s:TCmdStr;allowdot:boolean):TCmdStr;
function TargetFixFileName(const s:string):string; function TargetFixFileName(const s:TCmdStr):TCmdStr;
procedure SplitBinCmd(const s:string;var bstr: String;var cstr:TCmdStr); procedure SplitBinCmd(const s:TCmdStr;var bstr: TCmdStr;var cstr:TCmdStr);
function FindFile(const f : TCmdStr;path : TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean; function FindFile(const f : TCmdStr;path : TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean;
function FindFilePchar(const f : TCmdStr;path : pchar;allowcache:boolean;var foundfile:TCmdStr):boolean; function FindFilePchar(const f : TCmdStr;path : pchar;allowcache:boolean;var foundfile:TCmdStr):boolean;
function FindExe(const bin:TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean; function FindExe(const bin:TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean;
function GetShortName(const n:string):string; function GetShortName(const n:TCmdStr):TCmdStr;
procedure InitFileUtils; procedure InitFileUtils;
procedure DoneFileUtils; procedure DoneFileUtils;
@ -127,7 +127,7 @@ implementation
TCachedDirectory TCachedDirectory
****************************************************************************} ****************************************************************************}
constructor TCachedDirectory.create(AList:TFPHashObjectList;const AName:string); constructor TCachedDirectory.create(AList:TFPHashObjectList;const AName:TCmdStr);
begin begin
inherited create(AList,AName); inherited create(AList,AName);
FDirectoryEntries:=TFPHashList.Create; FDirectoryEntries:=TFPHashList.Create;
@ -164,7 +164,7 @@ implementation
end; end;
function TCachedDirectory.FileExists(const AName:string):boolean; function TCachedDirectory.FileExists(const AName:TCmdStr):boolean;
var var
Attr : Longint; Attr : Longint;
begin begin
@ -179,7 +179,7 @@ implementation
end; end;
function TCachedDirectory.DirectoryExists(const AName:string):boolean; function TCachedDirectory.DirectoryExists(const AName:TCmdStr):boolean;
var var
Attr : Longint; Attr : Longint;
begin begin
@ -212,10 +212,10 @@ implementation
end; end;
function TDirectoryCache.GetDirectory(const ADir:string):TCachedDirectory; function TDirectoryCache.GetDirectory(const ADir:TCmdStr):TCachedDirectory;
var var
CachedDir : TCachedDirectory; CachedDir : TCachedDirectory;
DirName : string; DirName : TCmdStr;
begin begin
if ADir='' then if ADir='' then
DirName:='.' DirName:='.'
@ -231,7 +231,7 @@ implementation
end; end;
function TDirectoryCache.FileExists(const AName:string):boolean; function TDirectoryCache.FileExists(const AName:TCmdStr):boolean;
var var
CachedDir : TCachedDirectory; CachedDir : TCachedDirectory;
begin begin
@ -242,7 +242,7 @@ implementation
end; end;
function TDirectoryCache.DirectoryExists(const AName:string):boolean; function TDirectoryCache.DirectoryExists(const AName:TCmdStr):boolean;
var var
CachedDir : TCachedDirectory; CachedDir : TCachedDirectory;
begin begin
@ -253,7 +253,7 @@ implementation
end; end;
function TDirectoryCache.FindFirst(const APattern:string;var Res:TCachedSearchRec):boolean; function TDirectoryCache.FindFirst(const APattern:TCmdStr;var Res:TCachedSearchRec):boolean;
begin begin
Res.Pattern:=ExtractFileName(APattern); Res.Pattern:=ExtractFileName(APattern);
Res.CachedDir:=GetDirectory(ExtractFilePath(APattern)); Res.CachedDir:=GetDirectory(ExtractFilePath(APattern));
@ -290,26 +290,26 @@ implementation
Utils Utils
****************************************************************************} ****************************************************************************}
function bstoslash(const s : string) : string; function bstoslash(const s : TCmdStr) : TCmdStr;
{ {
return string s with all \ changed into / return TCmdStr s with all \ changed into /
} }
var var
i : longint; i : longint;
begin begin
setlength(bstoslash,length(s));
for i:=1to length(s) do for i:=1to length(s) do
if s[i]='\' then if s[i]='\' then
bstoslash[i]:='/' bstoslash[i]:='/'
else else
bstoslash[i]:=s[i]; bstoslash[i]:=s[i];
bstoslash[0]:=s[0];
end; end;
{Gives the absolute path to the current directory} {Gives the absolute path to the current directory}
var var
CachedCurrentDir : string; CachedCurrentDir : TCmdStr;
function GetCurrentDir:string; function GetCurrentDir:TCmdStr;
begin begin
if CachedCurrentDir='' then if CachedCurrentDir='' then
begin begin
@ -321,7 +321,7 @@ implementation
{Gives the relative path to the current directory, {Gives the relative path to the current directory,
with a trailing dir separator. E. g. on unix ./ } with a trailing dir separator. E. g. on unix ./ }
function CurDirRelPath(systeminfo: tsysteminfo): string; function CurDirRelPath(systeminfo: tsysteminfo): TCmdStr;
begin begin
if systeminfo.system <> system_powerpc_macos then if systeminfo.system <> system_powerpc_macos then
@ -331,7 +331,7 @@ implementation
end; end;
function path_absolute(const s : string) : boolean; function path_absolute(const s : TCmdStr) : boolean;
{ {
is path s an absolute path? is path s an absolute path?
} }
@ -352,7 +352,7 @@ implementation
{$endif unix} {$endif unix}
end; end;
Function FileExists ( Const F : String;allowcache:boolean) : Boolean; Function FileExists ( Const F : TCmdStr;allowcache:boolean) : Boolean;
begin begin
{$ifdef usedircache} {$ifdef usedircache}
if allowcache then if allowcache then
@ -372,7 +372,7 @@ implementation
function FileExistsNonCase(const path,fn:TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean; function FileExistsNonCase(const path,fn:TCmdStr;allowcache:boolean;var foundfile:TCmdStr):boolean;
var var
fn2 : string; fn2 : TCmdStr;
begin begin
result:=false; result:=false;
if tf_files_case_sensitive in source_info.flags then if tf_files_case_sensitive in source_info.flags then
@ -439,10 +439,10 @@ implementation
end; end;
Function PathExists (const F : String;allowcache:boolean) : Boolean; Function PathExists (const F : TCmdStr;allowcache:boolean) : Boolean;
Var Var
i: longint; i: longint;
hs : string; hs : TCmdStr;
begin begin
if F = '' then if F = '' then
begin begin
@ -463,7 +463,7 @@ implementation
end; end;
Function RemoveDir(d:string):boolean; Function RemoveDir(d:TCmdStr):boolean;
begin begin
if d[length(d)]=source_info.DirSep then if d[length(d)]=source_info.DirSep then
Delete(d,length(d),1); Delete(d,length(d),1);
@ -474,7 +474,7 @@ implementation
end; end;
Function FixPath(s:string;allowdot:boolean):string; Function FixPath(s:TCmdStr;allowdot:boolean):TCmdStr;
var var
i : longint; i : longint;
begin begin
@ -500,9 +500,9 @@ implementation
{Actually the version in macutils.pp could be used, {Actually the version in macutils.pp could be used,
but that would not work for crosscompiling, so this is a slightly modified but that would not work for crosscompiling, so this is a slightly modified
version of it.} version of it.}
function TranslatePathToMac (const path: string; mpw: Boolean): string; function TranslatePathToMac (const path: TCmdStr; mpw: Boolean): TCmdStr;
function GetVolumeIdentifier: string; function GetVolumeIdentifier: TCmdStr;
begin begin
GetVolumeIdentifier := '{Boot}' GetVolumeIdentifier := '{Boot}'
@ -623,7 +623,7 @@ implementation
end; end;
function FixFileName(const s:string):string; function FixFileName(const s:TCmdStr):TCmdStr;
var var
i : longint; i : longint;
begin begin
@ -633,6 +633,7 @@ implementation
if (tf_files_case_aware in source_info.flags) or if (tf_files_case_aware in source_info.flags) or
(tf_files_case_sensitive in source_info.flags) then (tf_files_case_sensitive in source_info.flags) then
begin begin
setlength(FixFileName,length(s));
for i:=1 to length(s) do for i:=1 to length(s) do
begin begin
case s[i] of case s[i] of
@ -642,10 +643,10 @@ implementation
FixFileName[i]:=s[i]; FixFileName[i]:=s[i];
end; end;
end; end;
FixFileName[0]:=s[0];
end end
else else
begin begin
setlength(FixFileName,length(s));
for i:=1 to length(s) do for i:=1 to length(s) do
begin begin
case s[i] of case s[i] of
@ -657,12 +658,11 @@ implementation
FixFileName[i]:=s[i]; FixFileName[i]:=s[i];
end; end;
end; end;
FixFileName[0]:=s[0];
end; end;
end; end;
Function TargetFixPath(s:string;allowdot:boolean):string; Function TargetFixPath(s:TCmdStr;allowdot:boolean):TCmdStr;
var var
i : longint; i : longint;
begin begin
@ -686,7 +686,7 @@ implementation
end; end;
function TargetFixFileName(const s:string):string; function TargetFixFileName(const s:TCmdStr):TCmdStr;
var var
i : longint; i : longint;
begin begin
@ -696,6 +696,7 @@ implementation
if (tf_files_case_aware in target_info.flags) or if (tf_files_case_aware in target_info.flags) or
(tf_files_case_sensitive in target_info.flags) then (tf_files_case_sensitive in target_info.flags) then
begin begin
setlength(TargetFixFileName,length(s));
for i:=1 to length(s) do for i:=1 to length(s) do
begin begin
case s[i] of case s[i] of
@ -705,10 +706,10 @@ implementation
TargetFixFileName[i]:=s[i]; TargetFixFileName[i]:=s[i];
end; end;
end; end;
TargetFixFileName[0]:=s[0];
end end
else else
begin begin
setlength(TargetFixFileName,length(s));
for i:=1 to length(s) do for i:=1 to length(s) do
begin begin
case s[i] of case s[i] of
@ -720,12 +721,11 @@ implementation
TargetFixFileName[i]:=s[i]; TargetFixFileName[i]:=s[i];
end; end;
end; end;
TargetFixFileName[0]:=s[0];
end; end;
end; end;
procedure SplitBinCmd(const s:string;var bstr:String;var cstr:TCmdStr); procedure SplitBinCmd(const s:TCmdStr;var bstr:TCmdStr;var cstr:TCmdStr);
var var
i : longint; i : longint;
begin begin
@ -897,7 +897,7 @@ implementation
procedure TSearchPathList.AddList(list:TSearchPathList;addfirst:boolean); procedure TSearchPathList.AddList(list:TSearchPathList;addfirst:boolean);
var var
s : string; s : TCmdStr;
hl : TSearchPathList; hl : TSearchPathList;
hp,hp2 : TCmdStrListItem; hp,hp2 : TCmdStrListItem;
begin begin
@ -1002,7 +1002,7 @@ implementation
startpc:=pc; startpc:=pc;
while (pc^<>sepch) and (pc^<>';') and (pc^<>#0) do while (pc^<>sepch) and (pc^<>';') and (pc^<>#0) do
inc(pc); inc(pc);
SetLength(singlepathstring, pc-startpc); SetLength(singlepathstring, pc-startpc);
move(startpc^,singlepathstring[1],pc-startpc); move(startpc^,singlepathstring[1],pc-startpc);
singlepathstring:=FixPath(ExpandFileName(singlepathstring),false); singlepathstring:=FixPath(ExpandFileName(singlepathstring),false);
result:=FileExistsNonCase(singlepathstring,f,allowcache,FoundFile); result:=FileExistsNonCase(singlepathstring,f,allowcache,FoundFile);
@ -1037,15 +1037,15 @@ implementation
end; end;
function GetShortName(const n:string):string; function GetShortName(const n:TCmdStr):TCmdStr;
{$ifdef win32} {$ifdef win32}
var var
hs,hs2 : string; hs,hs2 : TCmdStr;
i : longint; i : longint;
{$endif} {$endif}
{$if defined(go32v2) or defined(watcom)} {$if defined(go32v2) or defined(watcom)}
var var
hs : string; hs : TCmdStr;
{$endif} {$endif}
begin begin
GetShortName:=n; GetShortName:=n;

View File

@ -55,12 +55,12 @@ interface
Constructor Create;virtual; Constructor Create;virtual;
Destructor Destroy;override; Destructor Destroy;override;
procedure AddModuleFiles(hp:tmodule); procedure AddModuleFiles(hp:tmodule);
Procedure AddObject(const S,unitpath : String;isunit:boolean); Procedure AddObject(const S,unitpath : TCmdStr;isunit:boolean);
Procedure AddStaticLibrary(const S : String); Procedure AddStaticLibrary(const S : TCmdStr);
Procedure AddSharedLibrary(S : String); Procedure AddSharedLibrary(S : TCmdStr);
Procedure AddStaticCLibrary(const S : String); Procedure AddStaticCLibrary(const S : TCmdStr);
Procedure AddSharedCLibrary(S : String); Procedure AddSharedCLibrary(S : TCmdStr);
procedure AddImportSymbol(const libname,symname:string;OrdNr: longint;isvar:boolean);virtual; procedure AddImportSymbol(const libname,symname:TCmdStr;OrdNr: longint;isvar:boolean);virtual;
Procedure InitSysInitUnitName;virtual; Procedure InitSysInitUnitName;virtual;
Function MakeExecutable:boolean;virtual; Function MakeExecutable:boolean;virtual;
Function MakeSharedLibrary:boolean;virtual; Function MakeSharedLibrary:boolean;virtual;
@ -75,7 +75,7 @@ interface
Info : TLinkerInfo; Info : TLinkerInfo;
Constructor Create;override; Constructor Create;override;
Destructor Destroy;override; Destructor Destroy;override;
Function FindUtil(const s:string):String; Function FindUtil(const s:TCmdStr):TCmdStr;
Function DoExec(const command:TCmdStr; para:TCmdStr;showinfo,useshell:boolean):boolean; Function DoExec(const command:TCmdStr; para:TCmdStr;showinfo,useshell:boolean):boolean;
procedure SetDefaultInfo;virtual; procedure SetDefaultInfo;virtual;
Function MakeStaticLibrary:boolean;override; Function MakeStaticLibrary:boolean;override;
@ -88,13 +88,13 @@ interface
{ Libraries } { Libraries }
FStaticLibraryList : TFPHashObjectList; FStaticLibraryList : TFPHashObjectList;
FImportLibraryList : TFPHashObjectList; FImportLibraryList : TFPHashObjectList;
procedure Load_ReadObject(const para:string); procedure Load_ReadObject(const para:TCmdStr);
procedure Load_ReadStaticLibrary(const para:string); procedure Load_ReadStaticLibrary(const para:TCmdStr);
procedure ParseScript_Load; procedure ParseScript_Load;
procedure ParseScript_Order; procedure ParseScript_Order;
procedure ParseScript_CalcPos; procedure ParseScript_CalcPos;
procedure PrintLinkerScript; procedure PrintLinkerScript;
function RunLinkScript(const outputname:string):boolean; function RunLinkScript(const outputname:TCmdStr):boolean;
protected protected
property CObjInput:TObjInputClass read FCObjInput write FCObjInput; property CObjInput:TObjInputClass read FCObjInput write FCObjInput;
property CExeOutput:TExeOutputClass read FCExeOutput write FCExeOutput; property CExeOutput:TExeOutputClass read FCExeOutput write FCExeOutput;
@ -108,15 +108,15 @@ interface
Destructor Destroy;override; Destructor Destroy;override;
Function MakeExecutable:boolean;override; Function MakeExecutable:boolean;override;
Function MakeSharedLibrary:boolean;override; Function MakeSharedLibrary:boolean;override;
procedure AddImportSymbol(const libname,symname:string;OrdNr: longint;isvar:boolean);override; procedure AddImportSymbol(const libname,symname:TCmdStr;OrdNr: longint;isvar:boolean);override;
end; end;
var var
Linker : TLinker; Linker : TLinker;
function FindObjectFile(s : string;const unitpath:string;isunit:boolean) : string; function FindObjectFile(s : TCmdStr;const unitpath:TCmdStr;isunit:boolean) : TCmdStr;
function FindLibraryFile(s:string;const prefix,ext:string;var foundfile : TCmdStr) : boolean; function FindLibraryFile(s:TCmdStr;const prefix,ext:TCmdStr;var foundfile : TCmdStr) : boolean;
function FindDLL(const s:string;var founddll:TCmdStr):boolean; function FindDLL(const s:TCmdStr;var founddll:TCmdStr):boolean;
procedure InitLinker; procedure InitLinker;
procedure DoneLinker; procedure DoneLinker;
@ -138,7 +138,7 @@ Implementation
*****************************************************************************} *****************************************************************************}
{ searches an object file } { searches an object file }
function FindObjectFile(s:string;const unitpath:string;isunit:boolean) : string; function FindObjectFile(s:TCmdStr;const unitpath:TCmdStr;isunit:boolean) : TCmdStr;
var var
found : boolean; found : boolean;
foundfile : TCmdStr; foundfile : TCmdStr;
@ -206,9 +206,9 @@ Implementation
{ searches a (windows) DLL file } { searches a (windows) DLL file }
function FindDLL(const s:string;var founddll:TCmdStr):boolean; function FindDLL(const s:TCmdStr;var founddll:TCmdStr):boolean;
var var
sysdir : string; sysdir : TCmdStr;
Found : boolean; Found : boolean;
begin begin
Found:=false; Found:=false;
@ -234,10 +234,10 @@ Implementation
{ searches an library file } { searches an library file }
function FindLibraryFile(s:string;const prefix,ext:string;var foundfile : TCmdStr) : boolean; function FindLibraryFile(s:TCmdStr;const prefix,ext:TCmdStr;var foundfile : TCmdStr) : boolean;
var var
found : boolean; found : boolean;
paths : string; paths : TCmdStr;
begin begin
findlibraryfile:=false; findlibraryfile:=false;
foundfile:=s; foundfile:=s;
@ -400,18 +400,18 @@ Implementation
end; end;
procedure TLinker.AddImportSymbol(const libname,symname:string;OrdNr: longint;isvar:boolean); procedure TLinker.AddImportSymbol(const libname,symname:TCmdStr;OrdNr: longint;isvar:boolean);
begin begin
end; end;
Procedure TLinker.AddObject(const S,unitpath : String;isunit:boolean); Procedure TLinker.AddObject(const S,unitpath : TCmdStr;isunit:boolean);
begin begin
ObjectFiles.Concat(FindObjectFile(s,unitpath,isunit)); ObjectFiles.Concat(FindObjectFile(s,unitpath,isunit));
end; end;
Procedure TLinker.AddSharedLibrary(S:String); Procedure TLinker.AddSharedLibrary(S:TCmdStr);
begin begin
if s='' then if s='' then
exit; exit;
@ -426,7 +426,7 @@ Implementation
end; end;
Procedure TLinker.AddStaticLibrary(const S:String); Procedure TLinker.AddStaticLibrary(const S:TCmdStr);
var var
ns : TCmdStr; ns : TCmdStr;
found : boolean; found : boolean;
@ -440,7 +440,7 @@ Implementation
end; end;
Procedure TLinker.AddSharedCLibrary(S:String); Procedure TLinker.AddSharedCLibrary(S:TCmdStr);
begin begin
if s='' then if s='' then
exit; exit;
@ -455,7 +455,7 @@ Implementation
end; end;
Procedure TLinker.AddStaticCLibrary(const S:String); Procedure TLinker.AddStaticCLibrary(const S:TCmdStr);
var var
ns : TCmdStr; ns : TCmdStr;
found : boolean; found : boolean;
@ -469,7 +469,7 @@ Implementation
end; end;
procedure AddImportSymbol(const libname,symname:string;OrdNr: longint;isvar:boolean); procedure AddImportSymbol(const libname,symname:TCmdStr;OrdNr: longint;isvar:boolean);
begin begin
end; end;
@ -581,11 +581,11 @@ Implementation
end; end;
Function TExternalLinker.FindUtil(const s:string):string; Function TExternalLinker.FindUtil(const s:TCmdStr):TCmdStr;
var var
Found : boolean; Found : boolean;
FoundBin : TCmdStr; FoundBin : TCmdStr;
UtilExe : string; UtilExe : TCmdStr;
begin begin
if cs_link_on_target in current_settings.globalswitches then if cs_link_on_target in current_settings.globalswitches then
begin begin
@ -656,7 +656,7 @@ Implementation
Function TExternalLinker.MakeStaticLibrary:boolean; Function TExternalLinker.MakeStaticLibrary:boolean;
function GetNextFiles(const maxCmdLength : AInt; var item : TCmdStrListItem) : ansistring; function GetNextFiles(const maxCmdLength : AInt; var item : TCmdStrListItem) : TCmdStr;
begin begin
result := ''; result := '';
while (assigned(item) and ((length(result) + length(item.str) + 1) < maxCmdLength)) do begin while (assigned(item) and ((length(result) + length(item.str) + 1) < maxCmdLength)) do begin
@ -666,12 +666,12 @@ Implementation
end; end;
var var
binstr, scriptfile : string; binstr, scriptfile : TCmdStr;
success : boolean;
cmdstr, nextcmd, smartpath : TCmdStr; cmdstr, nextcmd, smartpath : TCmdStr;
current : TCmdStrListItem; current : TCmdStrListItem;
script: Text; script: Text;
scripted_ar : boolean; scripted_ar : boolean;
success : boolean;
begin begin
MakeStaticLibrary:=false; MakeStaticLibrary:=false;
{ remove the library, to be sure that it is rewritten } { remove the library, to be sure that it is rewritten }
@ -782,7 +782,7 @@ Implementation
end; end;
procedure TInternalLinker.AddImportSymbol(const libname,symname:string;OrdNr: longint;isvar:boolean); procedure TInternalLinker.AddImportSymbol(const libname,symname:TCmdStr;OrdNr: longint;isvar:boolean);
var var
ImportLibrary : TImportLibrary; ImportLibrary : TImportLibrary;
ImportSymbol : TFPHashObject; ImportSymbol : TFPHashObject;
@ -796,12 +796,12 @@ Implementation
end; end;
procedure TInternalLinker.Load_ReadObject(const para:string); procedure TInternalLinker.Load_ReadObject(const para:TCmdStr);
var var
objdata : TObjData; objdata : TObjData;
objinput : TObjinput; objinput : TObjinput;
objreader : TObjectReader; objreader : TObjectReader;
fn : string; fn : TCmdStr;
begin begin
fn:=FindObjectFile(para,'',false); fn:=FindObjectFile(para,'',false);
Comment(V_Tried,'Reading object '+fn); Comment(V_Tried,'Reading object '+fn);
@ -819,7 +819,7 @@ Implementation
end; end;
procedure TInternalLinker.Load_ReadStaticLibrary(const para:string); procedure TInternalLinker.Load_ReadStaticLibrary(const para:TCmdStr);
var var
objreader : TObjectReader; objreader : TObjectReader;
begin begin
@ -837,7 +837,7 @@ Implementation
var var
s, s,
para, para,
keyword : string; keyword : String;
hp : TCmdStrListItem; hp : TCmdStrListItem;
begin begin
exeoutput.Load_Start; exeoutput.Load_Start;
@ -870,7 +870,7 @@ Implementation
var var
s, s,
para, para,
keyword : string; keyword : String;
hp : TCmdStrListItem; hp : TCmdStrListItem;
begin begin
exeoutput.Order_Start; exeoutput.Order_Start;
@ -902,7 +902,7 @@ Implementation
var var
s, s,
para, para,
keyword : string; keyword : String;
hp : TCmdStrListItem; hp : TCmdStrListItem;
begin begin
exeoutput.CalcPos_Start; exeoutput.CalcPos_Start;
@ -944,7 +944,7 @@ Implementation
end; end;
function TInternalLinker.RunLinkScript(const outputname:string):boolean; function TInternalLinker.RunLinkScript(const outputname:TCmdStr):boolean;
label label
myexit; myexit;
var var

View File

@ -32,20 +32,20 @@ uses
type type
TScript=class TScript=class
fn : string[100]; fn : TCmdStr;
data : TCmdStrList; data : TCmdStrList;
executable : boolean; executable : boolean;
constructor Create(const s:string); constructor Create(const s:TCmdStr);
constructor CreateExec(const s:string); constructor CreateExec(const s:TCmdStr);
destructor Destroy;override; destructor Destroy;override;
procedure AddStart(const s:string); procedure AddStart(const s:TCmdStr);
procedure Add(const s:string); procedure Add(const s:TCmdStr);
Function Empty:boolean; Function Empty:boolean;
procedure WriteToDisk;virtual; procedure WriteToDisk;virtual;
end; end;
TAsmScript = class (TScript) TAsmScript = class (TScript)
Constructor Create(Const ScriptName : String); virtual; Constructor Create(Const ScriptName : TCmdStr); virtual;
Procedure AddAsmCommand (Const Command, Options,FileName : TCmdStr);virtual;abstract; Procedure AddAsmCommand (Const Command, Options,FileName : TCmdStr);virtual;abstract;
Procedure AddLinkCommand (Const Command, Options, FileName : TCmdStr);virtual;abstract; Procedure AddLinkCommand (Const Command, Options, FileName : TCmdStr);virtual;abstract;
Procedure AddDeleteCommand (Const FileName : TCmdStr);virtual;abstract; Procedure AddDeleteCommand (Const FileName : TCmdStr);virtual;abstract;
@ -62,7 +62,7 @@ type
end; end;
TAsmScriptAmiga = class (TAsmScript) TAsmScriptAmiga = class (TAsmScript)
Constructor Create (Const ScriptName : String); override; Constructor Create (Const ScriptName : TCmdStr); override;
Procedure AddAsmCommand (Const Command, Options,FileName : TCmdStr);override; Procedure AddAsmCommand (Const Command, Options,FileName : TCmdStr);override;
Procedure AddLinkCommand (Const Command, Options, FileName : TCmdStr);override; Procedure AddLinkCommand (Const Command, Options, FileName : TCmdStr);override;
Procedure AddDeleteCommand (Const FileName : TCmdStr);override; Procedure AddDeleteCommand (Const FileName : TCmdStr);override;
@ -71,7 +71,7 @@ type
end; end;
TAsmScriptUnix = class (TAsmScript) TAsmScriptUnix = class (TAsmScript)
Constructor Create (Const ScriptName : String);override; Constructor Create (Const ScriptName : TCmdStr);override;
Procedure AddAsmCommand (Const Command, Options,FileName : TCmdStr);override; Procedure AddAsmCommand (Const Command, Options,FileName : TCmdStr);override;
Procedure AddLinkCommand (Const Command, Options, FileName : TCmdStr);override; Procedure AddLinkCommand (Const Command, Options, FileName : TCmdStr);override;
Procedure AddDeleteCommand (Const FileName : TCmdStr);override; Procedure AddDeleteCommand (Const FileName : TCmdStr);override;
@ -90,10 +90,10 @@ type
TLinkRes = Class (TScript) TLinkRes = Class (TScript)
section: string[30]; section: string[30];
procedure Add(const s:ansistring); procedure Add(const s:TCmdStr);
procedure AddFileName(const s:ansistring); procedure AddFileName(const s:TCmdStr);
procedure EndSection(const s:ansistring); procedure EndSection(const s:TCmdStr);
procedure StartSection(const s:ansistring); procedure StartSection(const s:TCmdStr);
end; end;
var var
@ -176,7 +176,7 @@ procedure TScript.WriteToDisk;
var var
t : file; t : file;
i : longint; i : longint;
s : ansistring; s : TCmdStr;
le: string[2]; le: string[2];
begin begin

View File

@ -198,7 +198,7 @@ end;
function TLinkerAmiga.MakeAmigaPPCExe: boolean; function TLinkerAmiga.MakeAmigaPPCExe: boolean;
var var
BinStr : string; BinStr,
CmdStr : TCmdStr; CmdStr : TCmdStr;
StripStr: string[40]; StripStr: string[40];
begin begin

View File

@ -357,8 +357,8 @@ end;
function TLinkerBeOS.MakeExecutable:boolean; function TLinkerBeOS.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TcmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
DynLinkStr : string[60]; DynLinkStr : string[60];
StaticStr, StaticStr,
@ -408,7 +408,7 @@ end;
Function TLinkerBeOS.MakeSharedLibrary:boolean; Function TLinkerBeOS.MakeSharedLibrary:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
DynLinkStr : string[60]; DynLinkStr : string[60];

View File

@ -499,7 +499,7 @@ end;
function TLinkerBSD.MakeExecutable:boolean; function TLinkerBSD.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
DynLinkStr : string[60]; DynLinkStr : string[60];
@ -574,7 +574,7 @@ var
InitStr, InitStr,
FiniStr, FiniStr,
SoNameStr : string[80]; SoNameStr : string[80];
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
begin begin

View File

@ -218,7 +218,7 @@ end;
function TlinkerEmbedded.MakeExecutable:boolean; function TlinkerEmbedded.MakeExecutable:boolean;
var var
binstr : string; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
StaticStr, StaticStr,

View File

@ -449,7 +449,7 @@ end;
function TLinkerEMX.MakeExecutable:boolean; function TLinkerEMX.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
i : longint; i : longint;

View File

@ -550,7 +550,7 @@ end;
function TLinkerGba.MakeExecutable:boolean; function TLinkerGba.MakeExecutable:boolean;
var var
binstr : string; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
StaticStr, StaticStr,

View File

@ -235,7 +235,7 @@ end;
function TExternalLinkerGo32v2.MakeExecutable:boolean; function TExternalLinkerGo32v2.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
StripStr : string[40]; StripStr : string[40];

View File

@ -754,7 +754,7 @@ end;
function TLinkerLinux.MakeExecutable:boolean; function TLinkerLinux.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
DynLinkStr : string[60]; DynLinkStr : string[60];
@ -824,7 +824,7 @@ var
InitStr, InitStr,
FiniStr, FiniStr,
SoNameStr : string[80]; SoNameStr : string[80];
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
begin begin

View File

@ -183,7 +183,7 @@ end;
function TLinkerMPW.MakeExecutable:boolean; function TLinkerMPW.MakeExecutable:boolean;
var var
binstr : string; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
DynLinkStr : string[60]; DynLinkStr : string[60];

View File

@ -201,7 +201,7 @@ end;
function TLinkerMorphOS.MakeExecutable:boolean; function TLinkerMorphOS.MakeExecutable:boolean;
var var
binstr : string; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
StripStr: string[40]; StripStr: string[40];

View File

@ -694,7 +694,7 @@ end;
function TLinkerNDS.MakeExecutable:boolean; function TLinkerNDS.MakeExecutable:boolean;
var var
binstr : string; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
StaticStr, StaticStr,

View File

@ -527,8 +527,8 @@ Const
function TLinkerNetwlibc.MakeNetwareLoadableModule (isLib : boolean):boolean; function TLinkerNetwlibc.MakeNetwareLoadableModule (isLib : boolean):boolean;
var var
binstr : String; binstr,
cmdstr : TcmdStr; cmdstr : TCmdStr;
xdcname : string; xdcname : string;
success : boolean; success : boolean;
StripStr : string[2]; StripStr : string[2];

View File

@ -497,7 +497,7 @@ end;
function TLinkerNetware.MakeExecutable:boolean; function TLinkerNetware.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
StripStr : string[2]; StripStr : string[2];

View File

@ -448,7 +448,7 @@ end;
function TLinkeros2.MakeExecutable:boolean; function TLinkeros2.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
i : longint; i : longint;

View File

@ -158,7 +158,7 @@ end;
function TLinkerPalmOS.MakeExecutable:boolean; function TLinkerPalmOS.MakeExecutable:boolean;
var var
binstr : TPathStr; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
StripStr : string[40]; StripStr : string[40];

View File

@ -371,7 +371,7 @@ end;
function TLinkersolaris.MakeExecutable:boolean; function TLinkersolaris.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
DynLinkStr : string[60]; DynLinkStr : string[60];
@ -417,7 +417,7 @@ end;
Function TLinkersolaris.MakeSharedLibrary:boolean; Function TLinkersolaris.MakeSharedLibrary:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
begin begin

View File

@ -133,7 +133,7 @@ end;
function TLinkerWatcom.MakeExecutable:boolean; function TLinkerWatcom.MakeExecutable:boolean;
var var
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
StripStr : string[40]; StripStr : string[40];

View File

@ -1278,7 +1278,7 @@ implementation
function TExternalLinkerWin.MakeExecutable:boolean; function TExternalLinkerWin.MakeExecutable:boolean;
var var
MapStr, MapStr,
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
cmds,i : longint; cmds,i : longint;
@ -1382,7 +1382,7 @@ implementation
Function TExternalLinkerWin.MakeSharedLibrary:boolean; Function TExternalLinkerWin.MakeSharedLibrary:boolean;
var var
MapStr, MapStr,
binstr : String; binstr,
cmdstr : TCmdStr; cmdstr : TCmdStr;
success : boolean; success : boolean;
cmds, cmds,