* Fixed possible AV in DistClean (uninitialized variable)

* Also perform a distclean if a package is not compiled for the current target

git-svn-id: trunk@18060 -
This commit is contained in:
joost 2011-08-02 14:41:47 +00:00
parent 1308a777ac
commit 59e51c0bc2

View File

@ -5085,8 +5085,8 @@ end;
procedure TBuildEngine.Clean(APackage: TPackage; AllTargets: boolean); procedure TBuildEngine.Clean(APackage: TPackage; AllTargets: boolean);
var var
ACPU: TCpu; // ACPU: TCpu;
AOS: TOS; // AOS: TOS;
DirectoryList : TStringList; DirectoryList : TStringList;
begin begin
Log(vlInfo,SInfoCleaningPackage,[APackage.Name]); Log(vlInfo,SInfoCleaningPackage,[APackage.Name]);
@ -5100,7 +5100,7 @@ begin
// being renamed and such. See also bug 19655 // being renamed and such. See also bug 19655
DirectoryList := TStringList.Create; DirectoryList := TStringList.Create;
try try
DirectoryList.Add(ExtractFileDir(APackage.GetUnitsOutputDir(ACPU,AOS))); DirectoryList.Add(ExtractFileDir(APackage.GetUnitsOutputDir(Defaults.CPU,Defaults.OS)));
CmdRemoveTrees(DirectoryList); CmdRemoveTrees(DirectoryList);
finally finally
DirectoryList.Free; DirectoryList.Free;
@ -5275,7 +5275,7 @@ begin
For I:=0 to Packages.Count-1 do For I:=0 to Packages.Count-1 do
begin begin
P:=Packages.PackageItems[i]; P:=Packages.PackageItems[i];
If PackageOK(P) then If AllTargets or PackageOK(P) then
Clean(P, AllTargets); Clean(P, AllTargets);
log(vlWarning, SWarnCleanPackagecomplete, [P.Name]); log(vlWarning, SWarnCleanPackagecomplete, [P.Name]);
end; end;