IDE: Move func param PackageOptions to private var and property in TLazarusBuilder.

git-svn-id: trunk@44041 -
This commit is contained in:
juha 2014-02-13 15:53:24 +00:00
parent 3f45e5c0a6
commit a10c93619c
3 changed files with 33 additions and 34 deletions

View File

@ -155,12 +155,12 @@ type
TLazarusBuilder = class TLazarusBuilder = class
private private
fExtraOptions: string; fExtraOptions: string;
fPackageOptions: string;
fUpdateRevInc: boolean; fUpdateRevInc: boolean;
fOutputDirRedirected: boolean; fOutputDirRedirected: boolean;
fTargetFilename: string; fTargetFilename: string;
function CreateIDEMakeOptions(Profile: TBuildLazarusProfile; function CreateIDEMakeOptions(Profile: TBuildLazarusProfile;
Macros: TTransferMacroList; const PackageOptions: string; Macros: TTransferMacroList; Flags: TBuildLazarusFlags): TModalResult;
Flags: TBuildLazarusFlags): TModalResult;
function IsWriteProtected(Profile: TBuildLazarusProfile): Boolean; function IsWriteProtected(Profile: TBuildLazarusProfile): Boolean;
public public
function ShowConfigureBuildLazarusDlg(AProfiles: TBuildLazarusProfiles): TModalResult; function ShowConfigureBuildLazarusDlg(AProfiles: TBuildLazarusProfiles): TModalResult;
@ -168,12 +168,13 @@ type
function MakeLazarus(Profile: TBuildLazarusProfile; function MakeLazarus(Profile: TBuildLazarusProfile;
{$IFNDEF EnableNewExtTools}ExternalTools: TBaseExternalToolList;{$ENDIF} {$IFNDEF EnableNewExtTools}ExternalTools: TBaseExternalToolList;{$ENDIF}
Macros: TTransferMacroList; Macros: TTransferMacroList;
const PackageOptions, CompilerPath, MakePath: string; const CompilerPath, MakePath: string;
Flags: TBuildLazarusFlags; var ProfileChanged: boolean): TModalResult; Flags: TBuildLazarusFlags; var ProfileChanged: boolean): TModalResult;
function SaveIDEMakeOptions(Profile: TBuildLazarusProfile; function SaveIDEMakeOptions(Profile: TBuildLazarusProfile;
Macros: TTransferMacroList; Macros: TTransferMacroList; Flags: TBuildLazarusFlags): TModalResult;
const PackageOptions: string; Flags: TBuildLazarusFlags): TModalResult; public
property PackageOptions: string read fPackageOptions write fPackageOptions;
end; end;
function GetMakeIDEConfigFilename: string; function GetMakeIDEConfigFilename: string;
@ -224,7 +225,7 @@ end;
function TLazarusBuilder.MakeLazarus(Profile: TBuildLazarusProfile; function TLazarusBuilder.MakeLazarus(Profile: TBuildLazarusProfile;
{$IFNDEF EnableNewExtTools}ExternalTools: TBaseExternalToolList;{$ENDIF} {$IFNDEF EnableNewExtTools}ExternalTools: TBaseExternalToolList;{$ENDIF}
Macros: TTransferMacroList; Macros: TTransferMacroList;
const PackageOptions, CompilerPath, MakePath: string; const CompilerPath, MakePath: string;
Flags: TBuildLazarusFlags; var ProfileChanged: boolean): TModalResult; Flags: TBuildLazarusFlags; var ProfileChanged: boolean): TModalResult;
procedure ApplyCleanOnce; procedure ApplyCleanOnce;
@ -463,7 +464,7 @@ begin
Cmd:='cleanide ide'; Cmd:='cleanide ide';
// append extra Profile // append extra Profile
fExtraOptions:=''; fExtraOptions:='';
Result:=CreateIDEMakeOptions(Profile,Macros,PackageOptions,Flags); Result:=CreateIDEMakeOptions(Profile,Macros,Flags);
if Result<>mrOk then exit; if Result<>mrOk then exit;
if (not fOutputDirRedirected) and (not CheckDirectoryWritable(WorkingDirectory)) then if (not fOutputDirRedirected) and (not CheckDirectoryWritable(WorkingDirectory)) then
@ -498,8 +499,7 @@ begin
end; end;
function TLazarusBuilder.CreateIDEMakeOptions(Profile: TBuildLazarusProfile; function TLazarusBuilder.CreateIDEMakeOptions(Profile: TBuildLazarusProfile;
Macros: TTransferMacroList; const PackageOptions: string; Macros: TTransferMacroList; Flags: TBuildLazarusFlags): TModalResult;
Flags: TBuildLazarusFlags): TModalResult;
procedure BackupExe(var ExeFilename: string); procedure BackupExe(var ExeFilename: string);
var var
@ -792,9 +792,9 @@ begin
end; end;
// add package Profile for IDE // add package Profile for IDE
//DebugLn(['CreateBuildLazarusOptions blfUseMakeIDECfg=',blfUseMakeIDECfg in FLags,' ExtraOptions="',fExtraOptions,'" ',PackageOptions]); //DebugLn(['CreateBuildLazarusOptions blfUseMakeIDECfg=',blfUseMakeIDECfg in FLags,' ExtraOptions="',fExtraOptions,'" ',fPackageOptions]);
if not (blfUseMakeIDECfg in Flags) then if not (blfUseMakeIDECfg in Flags) then
AppendExtraOption(PackageOptions,false); AppendExtraOption(fPackageOptions,false);
//DebugLn(['CreateBuildLazarusOptions ',MMDef.Name,' ',fExtraOptions]); //DebugLn(['CreateBuildLazarusOptions ',MMDef.Name,' ',fExtraOptions]);
end; end;
@ -803,16 +803,16 @@ function TLazarusBuilder.IsWriteProtected(Profile: TBuildLazarusProfile): Boolea
var var
ModRes: TModalResult; ModRes: TModalResult;
begin begin
ModRes := CreateIDEMakeOptions(Profile, GlobalMacroList, '', []); fPackageOptions:='';
ModRes:=CreateIDEMakeOptions(Profile, GlobalMacroList, []);
if ModRes in [mrOk,mrIgnore] then if ModRes in [mrOk,mrIgnore] then
Result := fOutputDirRedirected Result:=fOutputDirRedirected
else else
Result := True; Result:=True;
end; end;
function TLazarusBuilder.SaveIDEMakeOptions(Profile: TBuildLazarusProfile; function TLazarusBuilder.SaveIDEMakeOptions(Profile: TBuildLazarusProfile;
Macros: TTransferMacroList; Macros: TTransferMacroList; Flags: TBuildLazarusFlags): TModalResult;
const PackageOptions: string; Flags: TBuildLazarusFlags): TModalResult;
function BreakOptions(const OptionString: string): string; function BreakOptions(const OptionString: string): string;
var var
@ -868,7 +868,7 @@ var
OptionsAsText: String; OptionsAsText: String;
begin begin
fExtraOptions:=''; fExtraOptions:='';
Result:=CreateIDEMakeOptions(Profile, Macros, PackageOptions, Flags); Result:=CreateIDEMakeOptions(Profile, Macros, Flags);
if Result<>mrOk then exit; if Result<>mrOk then exit;
Filename:=GetMakeIDEConfigFilename; Filename:=GetMakeIDEConfigFilename;
try try

View File

@ -502,7 +502,6 @@ var
CurResult: TModalResult; CurResult: TModalResult;
BuildLazProfiles: TBuildLazarusProfiles; BuildLazProfiles: TBuildLazarusProfiles;
CurProf: TBuildLazarusProfile; CurProf: TBuildLazarusProfile;
PkgOptions: String;
InheritedOptionStrings: TInheritedCompOptsStrings; InheritedOptionStrings: TInheritedCompOptsStrings;
TargetDir: String; TargetDir: String;
i: Integer; i: Integer;
@ -582,9 +581,10 @@ begin
try try
ProfileChanged:=false; ProfileChanged:=false;
if BuildLazProfiles.Current.IdeBuildMode=bmCleanAllBuild then begin if BuildLazProfiles.Current.IdeBuildMode=bmCleanAllBuild then begin
Builder.PackageOptions:='';
CurResult:=Builder.MakeLazarus(BuildLazProfiles.Current, CurResult:=Builder.MakeLazarus(BuildLazProfiles.Current,
EnvironmentOptions.ExternalTools,GlobalMacroList, EnvironmentOptions.ExternalTools,GlobalMacroList,
'',EnvironmentOptions.GetParsedCompilerFilename, EnvironmentOptions.GetParsedCompilerFilename,
EnvironmentOptions.GetParsedMakeFilename, EnvironmentOptions.GetParsedMakeFilename,
Flags+[blfDontBuild],ProfileChanged); Flags+[blfDontBuild],ProfileChanged);
if CurResult<>mrOk then begin if CurResult<>mrOk then begin
@ -611,11 +611,11 @@ begin
end; end;
// create inherited compiler options // create inherited compiler options
PkgOptions:=PackageGraph.GetIDEInstallPackageOptions(InheritedOptionStrings{%H-}); Builder.PackageOptions:=PackageGraph.GetIDEInstallPackageOptions(InheritedOptionStrings{%H-});
// save // save
CurResult:=Builder.SaveIDEMakeOptions(BuildLazProfiles.Current,GlobalMacroList, CurResult:=Builder.SaveIDEMakeOptions(BuildLazProfiles.Current,GlobalMacroList,
PkgOptions,Flags+[blfBackupOldExe]); Flags+[blfBackupOldExe]);
if CurResult<>mrOk then begin if CurResult<>mrOk then begin
if ConsoleVerbosity>=-1 then if ConsoleVerbosity>=-1 then
DebugLn('TLazBuildApplication.BuildLazarusIDE: failed saving idemake.cfg'); DebugLn('TLazBuildApplication.BuildLazarusIDE: failed saving idemake.cfg');
@ -625,7 +625,7 @@ begin
// compile IDE // compile IDE
CurResult:=Builder.MakeLazarus(BuildLazProfiles.Current, CurResult:=Builder.MakeLazarus(BuildLazProfiles.Current,
EnvironmentOptions.ExternalTools,GlobalMacroList, EnvironmentOptions.ExternalTools,GlobalMacroList,
PkgOptions,EnvironmentOptions.GetParsedCompilerFilename, EnvironmentOptions.GetParsedCompilerFilename,
EnvironmentOptions.GetParsedMakeFilename, EnvironmentOptions.GetParsedMakeFilename,
Flags+[blfUseMakeIDECfg,blfOnlyIDE], Flags+[blfUseMakeIDECfg,blfOnlyIDE],
ProfileChanged); ProfileChanged);

View File

@ -7472,7 +7472,6 @@ end;
function TMainIDE.DoSaveBuildIDEConfigs(Flags: TBuildLazarusFlags): TModalResult; function TMainIDE.DoSaveBuildIDEConfigs(Flags: TBuildLazarusFlags): TModalResult;
var var
PkgOptions: string;
InheritedOptionStrings: TInheritedCompOptsStrings; InheritedOptionStrings: TInheritedCompOptsStrings;
FPCVersion, FPCRelease, FPCPatch: integer; FPCVersion, FPCRelease, FPCPatch: integer;
Builder: TLazarusBuilder; Builder: TLazarusBuilder;
@ -7481,11 +7480,6 @@ begin
Result:=PkgBoss.DoSaveAutoInstallConfig; Result:=PkgBoss.DoSaveAutoInstallConfig;
if Result<>mrOk then exit; if Result<>mrOk then exit;
// prepare static auto install packages
PkgOptions:='';
// create inherited compiler options
PkgOptions:=PackageGraph.GetIDEInstallPackageOptions(InheritedOptionStrings);
// check ambiguous units // check ambiguous units
CodeToolBoss.GetFPCVersionForDirectory( CodeToolBoss.GetFPCVersionForDirectory(
EnvironmentOptions.GetParsedLazarusDirectory, EnvironmentOptions.GetParsedLazarusDirectory,
@ -7495,8 +7489,13 @@ begin
// save extra options // save extra options
Builder:=TLazarusBuilder.Create; Builder:=TLazarusBuilder.Create;
try try
// prepare static auto install packages
//PkgOptions:='';
// create inherited compiler options
Builder.PackageOptions:=PackageGraph.GetIDEInstallPackageOptions(InheritedOptionStrings);
Result:=Builder.SaveIDEMakeOptions(MiscellaneousOptions.BuildLazProfiles.Current, Result:=Builder.SaveIDEMakeOptions(MiscellaneousOptions.BuildLazProfiles.Current,
GlobalMacroList,PkgOptions,Flags+[blfOnlyIDE]); GlobalMacroList,Flags+[blfOnlyIDE]);
finally finally
Builder.Free; Builder.Free;
end; end;
@ -7509,7 +7508,6 @@ end;
function TMainIDE.DoBuildLazarusSub(Flags: TBuildLazarusFlags): TModalResult; function TMainIDE.DoBuildLazarusSub(Flags: TBuildLazarusFlags): TModalResult;
var var
PkgOptions: string;
IDEBuildFlags: TBuildLazarusFlags; IDEBuildFlags: TBuildLazarusFlags;
InheritedOptionStrings: TInheritedCompOptsStrings; InheritedOptionStrings: TInheritedCompOptsStrings;
CompiledUnitExt: String; CompiledUnitExt: String;
@ -7547,10 +7545,11 @@ begin
PkgCompileFlags:=PkgCompileFlags+[pcfCompileDependenciesClean]; PkgCompileFlags:=PkgCompileFlags+[pcfCompileDependenciesClean];
if BuildLazProfiles.Current.IdeBuildMode=bmCleanAllBuild then begin if BuildLazProfiles.Current.IdeBuildMode=bmCleanAllBuild then begin
SourceEditorManager.ClearErrorLines; SourceEditorManager.ClearErrorLines;
fBuilder.PackageOptions:='';
Result:=fBuilder.MakeLazarus(BuildLazProfiles.Current, Result:=fBuilder.MakeLazarus(BuildLazProfiles.Current,
{$IFNDEF EnableNewExtTools}ExternalTools,{$ENDIF} {$IFNDEF EnableNewExtTools}ExternalTools,{$ENDIF}
GlobalMacroList, GlobalMacroList,
'',EnvironmentOptions.GetParsedCompilerFilename, EnvironmentOptions.GetParsedCompilerFilename,
EnvironmentOptions.GetParsedMakeFilename, [blfDontBuild], EnvironmentOptions.GetParsedMakeFilename, [blfDontBuild],
ProfileChanged); ProfileChanged);
if Result<>mrOk then begin if Result<>mrOk then begin
@ -7575,7 +7574,7 @@ begin
end; end;
// create inherited compiler options // create inherited compiler options
PkgOptions:=PackageGraph.GetIDEInstallPackageOptions(InheritedOptionStrings); fBuilder.PackageOptions:=PackageGraph.GetIDEInstallPackageOptions(InheritedOptionStrings);
// check ambiguous units // check ambiguous units
CodeToolBoss.GetFPCVersionForDirectory(EnvironmentOptions.GetParsedLazarusDirectory, CodeToolBoss.GetFPCVersionForDirectory(EnvironmentOptions.GetParsedLazarusDirectory,
@ -7593,7 +7592,7 @@ begin
// save extra options // save extra options
IDEBuildFlags:=Flags; IDEBuildFlags:=Flags;
Result:=fBuilder.SaveIDEMakeOptions(BuildLazProfiles.Current,GlobalMacroList,PkgOptions, Result:=fBuilder.SaveIDEMakeOptions(BuildLazProfiles.Current,GlobalMacroList,
IDEBuildFlags-[blfUseMakeIDECfg,blfDontClean]+[blfBackupOldExe]); IDEBuildFlags-[blfUseMakeIDECfg,blfDontClean]+[blfBackupOldExe]);
if Result<>mrOk then begin if Result<>mrOk then begin
DebugLn('TMainIDE.DoBuildLazarus: Save IDEMake options failed.'); DebugLn('TMainIDE.DoBuildLazarus: Save IDEMake options failed.');
@ -7606,7 +7605,7 @@ begin
Result:=fBuilder.MakeLazarus(BuildLazProfiles.Current, Result:=fBuilder.MakeLazarus(BuildLazProfiles.Current,
{$IFNDEF EnableNewExtTools}ExternalTools,{$ENDIF} {$IFNDEF EnableNewExtTools}ExternalTools,{$ENDIF}
GlobalMacroList, GlobalMacroList,
PkgOptions,EnvironmentOptions.GetParsedCompilerFilename, EnvironmentOptions.GetParsedCompilerFilename,
EnvironmentOptions.GetParsedMakeFilename,IDEBuildFlags, EnvironmentOptions.GetParsedMakeFilename,IDEBuildFlags,
ProfileChanged); ProfileChanged);
if Result<>mrOk then exit; if Result<>mrOk then exit;