+ added option -i<path> for input path

git-svn-id: trunk@2226 -
This commit is contained in:
florian 2006-01-08 15:52:30 +00:00
parent db580afbff
commit f5e89801da

View File

@ -36,7 +36,7 @@ const
Title = 'PPU-Mover'; Title = 'PPU-Mover';
Copyright = 'Copyright (c) 1998-2005 by the Free Pascal Development Team'; Copyright = 'Copyright (c) 1998-2005 by the Free Pascal Development Team';
ShortOpts = 'o:e:d:qhsvbw'; ShortOpts = 'o:e:d:i:qhsvbw';
BufSize = 4096; BufSize = 4096;
PPUExt = 'ppu'; PPUExt = 'ppu';
ObjExt = 'o'; ObjExt = 'o';
@ -67,6 +67,7 @@ Var
ArBin,LDBin,StripBin, ArBin,LDBin,StripBin,
OutputFile, OutputFile,
OutputFileForLink, { the name of the output file needed when linking } OutputFileForLink, { the name of the output file needed when linking }
InputPath,
DestPath, DestPath,
PPLExt, PPLExt,
LibExt : string; LibExt : string;
@ -422,13 +423,13 @@ var
{$endif} {$endif}
begin begin
{$ifdef unix} {$ifdef unix}
DoFile:=DoPPU(FileName,ForceExtension(FileName,PPLExt)); DoFile:=DoPPU(InputPath+FileName,InputPath+ForceExtension(FileName,PPLExt));
{$else} {$else}
DoFile:=false; DoFile:=false;
findfirst(filename,$20,dir); findfirst(filename,$20,dir);
while doserror=0 do while doserror=0 do
begin begin
if not DoPPU(Dir.Name,ForceExtension(Dir.Name,PPLExt)) then if not DoPPU(InputPath+Dir.Name,InputPath+ForceExtension(Dir.Name,PPLExt)) then
exit; exit;
findnext(dir); findnext(dir);
end; end;
@ -440,11 +441,10 @@ end;
Procedure DoLink; Procedure DoLink;
{ {
Link the object files together to form a (shared) library, the only Link the object files together to form a (shared) library
problem here is the 255 char limit of Names
} }
Var Var
Names : String; Names : ansistring;
f : file; f : file;
Err : boolean; Err : boolean;
P : PLinkOEnt; P : PLinkOEnt;
@ -456,9 +456,9 @@ begin
While p<>nil do While p<>nil do
begin begin
if Names<>'' then if Names<>'' then
Names:=Names+' '+P^.name Names:=Names+' '+InputPath+P^.name
else else
Names:=p^.Name; Names:=InputPath+p^.Name;
p:=p^.next; p:=p^.next;
end; end;
if Names='' then if Names='' then
@ -530,6 +530,11 @@ begin
'S' : MakeStatic:=True; 'S' : MakeStatic:=True;
'o' : OutputFile:=OptArg; 'o' : OutputFile:=OptArg;
'd' : DestPath:=OptArg; 'd' : DestPath:=OptArg;
'i' : begin
InputPath:=OptArg;
if InputPath[length(InputPath)]<>DirectorySeparator then
InputPath:=InputPath+DirectorySeparator;
end;
'e' : PPLext:=OptArg; 'e' : PPLext:=OptArg;
'q' : Quiet:=True; 'q' : Quiet:=True;
'w' : begin 'w' : begin