* Added COMPILER_FPMAKE_UNITDIR to makefiles, with the path to the native

ppu's
 * When no native ppu's are found, search for them in the units_bs dir. So
   that it is possible to bootstrap fpmkunit

git-svn-id: trunk@17367 -
This commit is contained in:
joost 2011-04-25 14:34:12 +00:00
parent f0ce4ccb44
commit b926c6984e

View File

@ -521,13 +521,14 @@ implementation
procedure AddPackage(const pack,prefix:string); procedure AddPackage(const pack,prefix:string);
var var
packdirvar,unitdirvar : string; packdirvar,unitdirvar,unitfpmakedirvar : string;
fpcmadedirvar : string; fpcmadedirvar : string;
begin begin
FOutput.Add('ifdef '+Prefix+VarName(pack)); FOutput.Add('ifdef '+Prefix+VarName(pack));
{ create needed variables } { create needed variables }
packdirvar:='PACKAGEDIR_'+VarName(pack); packdirvar:='PACKAGEDIR_'+VarName(pack);
unitdirvar:='UNITDIR_'+VarName(pack); unitdirvar:='UNITDIR_'+VarName(pack);
unitfpmakedirvar:='UNITDIR_FPMAKE_'+VarName(pack);
{ Search packagedir by looking for Makefile.fpc } { Search packagedir by looking for Makefile.fpc }
FOutput.Add(packdirvar+':=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /'+pack+'/Makefile.fpc,$(PACKAGESDIR))))))'); FOutput.Add(packdirvar+':=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /'+pack+'/Makefile.fpc,$(PACKAGESDIR))))))');
FOutput.Add('ifneq ($('+packdirvar+'),)'); FOutput.Add('ifneq ($('+packdirvar+'),)');
@ -537,6 +538,19 @@ implementation
FOutput.Add('else'); FOutput.Add('else');
FOutput.Add(unitdirvar+'=$('+packdirvar+')'); FOutput.Add(unitdirvar+'=$('+packdirvar+')');
FOutput.Add('endif'); FOutput.Add('endif');
FOutput.Add('ifneq ($(wildcard $('+packdirvar+')/units/$(SOURCESUFFIX)),)');
FOutput.Add(unitfpmakedirvar+'=$('+packdirvar+')/units/$(SOURCESUFFIX)');
FOutput.Add('else');
FOutput.Add('ifneq ($(wildcard $('+packdirvar+')/units_bs/$(SOURCESUFFIX)),)');
FOutput.Add(unitfpmakedirvar+'=$('+packdirvar+')/units_bs/$(SOURCESUFFIX)');
FOutput.Add('else');
FOutput.Add(unitfpmakedirvar+'=$('+packdirvar+')');
FOutput.Add('endif');
FOutput.Add('endif');
FOutput.Add('ifdef CHECKDEPEND'); FOutput.Add('ifdef CHECKDEPEND');
{ rtl needs special handling for FPCMADE } { rtl needs special handling for FPCMADE }
if pack='rtl' then if pack='rtl' then
@ -561,6 +575,11 @@ implementation
FOutput.Add('ifdef '+unitdirvar); FOutput.Add('ifdef '+unitdirvar);
FOutput.Add('override COMPILER_UNITDIR+=$('+unitdirvar+')'); FOutput.Add('override COMPILER_UNITDIR+=$('+unitdirvar+')');
FOutput.Add('endif'); FOutput.Add('endif');
FOutput.Add('ifdef '+unitfpmakedirvar);
FOutput.Add('override COMPILER_FPMAKE_UNITDIR+=$('+unitfpmakedirvar+')');
FOutput.Add('endif');
{ endif for package } { endif for package }
FOutput.Add('endif'); FOutput.Add('endif');
end; end;