instantfpc: environment variable INSTANTFPCOPTIONS

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1910 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
mgaertner 2011-09-06 21:14:13 +00:00
parent de9f4162da
commit 2c65794274
2 changed files with 18 additions and 11 deletions

View File

@ -25,7 +25,7 @@ uses
Classes, SysUtils, InstantFPTools;
const
Version = '1.0';
Version = '1.1';
Procedure Usage;
@ -49,12 +49,15 @@ begin
writeln(' If compilation was successful the program is executed.');
writeln(' If the compiler options contains -B the program is always');
writeln(' compiled.');
writeln(' If the environment option INSTANTFPCOPTIONS is set it is');
writeln(' passed to the compiler as first parameters.');
writeln;
writeln('instantfpc --get-cache');
writeln(' Prints cache directory to stdout.');
writeln;
writeln('instantfpc --set-cache=<path to cache>');
writeln(' Set the cache to be used.');
writeln(' Set the cache to be used. Otherwise using environment variable');
writeln(' INSTANTFPCCACHE.');
writeln;
writeln('instantfpc --compiler=<path to compiler>');
writeln(' Normally fpc is searched in PATH and used as compiler.');

View File

@ -13,6 +13,10 @@ unit InstantFPTools;
{$define HASEXEEXT}
{$endif go32v2}
{$IFNDEF VER2_4}
{$DEFINE UseExeSearch}
{$ENDIF}
interface
uses
@ -138,14 +142,14 @@ begin
end;
function GetCompiler: string;
var
CompFile: String;
{$IFNDEF UseExeSearch}
Path: String;
p: Integer;
StartPos: LongInt;
Dir: String;
CompFile: String;
{$ENDIF}
begin
Result:=CmdCompiler;
if (Result<>'') then
@ -164,9 +168,11 @@ begin
{$ELSE}
CompFile:='fpc';
{$ENDIF}
{$IFDEF UseExeSearch}
Result:=ExeSearch(CompFile);
{$ELSE}
Path:=GetEnvironmentVariable('PATH');
{$IFDEF VER2_4}
if PATH<>'' then begin
if Path<>'' then begin
p:=1;
while p<=length(Path) do begin
StartPos:=p;
@ -179,8 +185,6 @@ begin
inc(p);
end;
end;
{$ELSE}
Result:=ExeSearch(CompFile);
{$ENDIF}
if (Result='') then
@ -213,7 +217,7 @@ begin
Proc.Execute;
ss:=TStringStream.Create('');
repeat
Count:=Proc.Output.Read(Buf,4096);
Count:=Proc.Output.Read(Buf{%H-},4096);
if Count>0 then
ss.write(buf,count);
until Count=0;
@ -234,7 +238,7 @@ var
p: String;
i : integer;
begin
Result:='';
Result:=GetEnvironmentVariable('INSTANTFPCOPTIONS');
I:=1;
While (I<=ParamCount) and (Copy(ParamStr(i),1,1)='-') do
begin