|
@@ -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;
|