From 2c65794274bb9adf733b41a07c950006db0eaca1 Mon Sep 17 00:00:00 2001 From: mgaertner Date: Tue, 6 Sep 2011 21:14:13 +0000 Subject: [PATCH] instantfpc: environment variable INSTANTFPCOPTIONS git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1910 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- applications/instantfpc/instantfpc.pas | 7 +++++-- applications/instantfpc/instantfptools.pas | 22 +++++++++++++--------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/applications/instantfpc/instantfpc.pas b/applications/instantfpc/instantfpc.pas index 36c3ec401..384c55e20 100644 --- a/applications/instantfpc/instantfpc.pas +++ b/applications/instantfpc/instantfpc.pas @@ -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='); - writeln(' Set the cache to be used.'); + writeln(' Set the cache to be used. Otherwise using environment variable'); + writeln(' INSTANTFPCCACHE.'); writeln; writeln('instantfpc --compiler='); writeln(' Normally fpc is searched in PATH and used as compiler.'); diff --git a/applications/instantfpc/instantfptools.pas b/applications/instantfpc/instantfptools.pas index 397078487..a256cd90b 100644 --- a/applications/instantfpc/instantfptools.pas +++ b/applications/instantfpc/instantfptools.pas @@ -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