mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 19:05:54 +02:00
+ search_unit arg to only search for sources
This commit is contained in:
parent
9d9f60c4d6
commit
436274abfc
@ -167,7 +167,7 @@ unit files;
|
||||
procedure reset;
|
||||
procedure setfilename(const fn:string;allowoutput:boolean);
|
||||
function openppu:boolean;
|
||||
function search_unit(const n : string):boolean;
|
||||
function search_unit(const n : string;onlysource:boolean):boolean;
|
||||
end;
|
||||
|
||||
pused_unit = ^tused_unit;
|
||||
@ -742,7 +742,7 @@ unit files;
|
||||
end;
|
||||
|
||||
|
||||
function tmodule.search_unit(const n : string):boolean;
|
||||
function tmodule.search_unit(const n : string;onlysource:boolean):boolean;
|
||||
var
|
||||
ext : string[8];
|
||||
singlepathstring,
|
||||
@ -769,25 +769,28 @@ unit files;
|
||||
i:=length(unitpath)+1;
|
||||
singlepathstring:=FixPath(copy(unitpath,start,i-start),false);
|
||||
delete(unitpath,start,i-start+1);
|
||||
{ Check for PPL file }
|
||||
if not Found then
|
||||
if not onlysource then
|
||||
begin
|
||||
Found:=UnitExists(target_info.unitlibext);
|
||||
if Found then
|
||||
Begin
|
||||
SetFileName(SinglePathString+FileName,false);
|
||||
Found:=OpenPPU;
|
||||
End;
|
||||
end;
|
||||
{ Check for PPU file }
|
||||
if not Found then
|
||||
begin
|
||||
Found:=UnitExists(target_info.unitext);
|
||||
if Found then
|
||||
Begin
|
||||
SetFileName(SinglePathString+FileName,false);
|
||||
Found:=OpenPPU;
|
||||
End;
|
||||
{ Check for PPL file }
|
||||
if not Found then
|
||||
begin
|
||||
Found:=UnitExists(target_info.unitlibext);
|
||||
if Found then
|
||||
Begin
|
||||
SetFileName(SinglePathString+FileName,false);
|
||||
Found:=OpenPPU;
|
||||
End;
|
||||
end;
|
||||
{ Check for PPU file }
|
||||
if not Found then
|
||||
begin
|
||||
Found:=UnitExists(target_info.unitext);
|
||||
if Found then
|
||||
Begin
|
||||
SetFileName(SinglePathString+FileName,false);
|
||||
Found:=OpenPPU;
|
||||
End;
|
||||
end;
|
||||
end;
|
||||
{ Check for Sources }
|
||||
if not Found then
|
||||
@ -941,8 +944,8 @@ unit files;
|
||||
{ search the PPU file if it is an unit }
|
||||
if is_unit then
|
||||
begin
|
||||
if (not search_unit(modulename^)) and (length(modulename^)>8) then
|
||||
search_unit(copy(modulename^,1,8));
|
||||
if (not search_unit(modulename^,false)) and (length(modulename^)>8) then
|
||||
search_unit(copy(modulename^,1,8),false);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1024,7 +1027,10 @@ unit files;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.69 1998-10-29 11:35:44 florian
|
||||
Revision 1.70 1998-11-03 11:33:14 peter
|
||||
+ search_unit arg to only search for sources
|
||||
|
||||
Revision 1.69 1998/10/29 11:35:44 florian
|
||||
* some dll support for win32
|
||||
* fixed assembler writing for PalmOS
|
||||
|
||||
|
@ -325,9 +325,9 @@ unit pmodules;
|
||||
end;
|
||||
{ recompile the unit or give a fatal error if sources not available }
|
||||
if not(current_module^.sources_avail) then
|
||||
if (not current_module^.search_unit(current_module^.modulename^))
|
||||
if (not current_module^.search_unit(current_module^.modulename^,true))
|
||||
and (length(current_module^.modulename^)>8) then
|
||||
current_module^.search_unit(copy(current_module^.modulename^,1,8));
|
||||
current_module^.search_unit(copy(current_module^.modulename^,1,8),true);
|
||||
if not(current_module^.sources_avail) then
|
||||
Message1(unit_f_cant_compile_unit,current_module^.modulename^)
|
||||
else
|
||||
@ -411,10 +411,8 @@ unit pmodules;
|
||||
hp^.reset;
|
||||
hp^.scanner:=scanner;
|
||||
{ try to reopen ppu }
|
||||
hp^.search_unit(s);
|
||||
hp^.search_unit(s,false);
|
||||
{ try to load the unit a second time first }
|
||||
{ if not current_module^.in_implementation then
|
||||
hp^.do_compile:=true; }
|
||||
current_module:=hp;
|
||||
current_module^.in_second_compile:=true;
|
||||
Message1(unit_u_second_load_unit,current_module^.modulename^);
|
||||
@ -1112,7 +1110,10 @@ unit pmodules;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.78 1998-10-30 12:23:41 peter
|
||||
Revision 1.79 1998-11-03 11:33:11 peter
|
||||
+ search_unit arg to only search for sources
|
||||
|
||||
Revision 1.78 1998/10/30 12:23:41 peter
|
||||
* fix for lognunitname and longunit.pas
|
||||
|
||||
Revision 1.77 1998/10/29 11:35:52 florian
|
||||
|
Loading…
Reference in New Issue
Block a user