mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 05:59:27 +02:00
* Merging revisions r44281 from trunk:
------------------------------------------------------------------------ r44281 | michael | 2020-03-07 15:13:51 +0100 (Sat, 07 Mar 2020) | 1 line * Allow setting compiler options in the fppkg config file ------------------------------------------------------------------------ git-svn-id: branches/fixes_3_2@46576 -
This commit is contained in:
parent
e64257da96
commit
d0e3fb0eb2
@ -213,7 +213,7 @@ Var
|
|||||||
P : TFPPackage;
|
P : TFPPackage;
|
||||||
DepPackage: TFPPackage;
|
DepPackage: TFPPackage;
|
||||||
DepDirList: TStringList;
|
DepDirList: TStringList;
|
||||||
Reason: string;
|
S,Reason: string;
|
||||||
begin
|
begin
|
||||||
Result := True;
|
Result := True;
|
||||||
P:=DeterminePackage;
|
P:=DeterminePackage;
|
||||||
@ -309,6 +309,10 @@ begin
|
|||||||
AddOption('-vi');
|
AddOption('-vi');
|
||||||
AddOption('-O2');
|
AddOption('-O2');
|
||||||
AddOption('-XXs');
|
AddOption('-XXs');
|
||||||
|
if PackageManager.FPMakeCompilerOptions.HasOptions then
|
||||||
|
for S in PackageManager.FPMakeCompilerOptions.Options do
|
||||||
|
AddOption(S);
|
||||||
|
// AddOption(PackageManager.FPMakeCompilerOptions.Options.DelimitedText) ;
|
||||||
// Create fpmkunit.pp if needed
|
// Create fpmkunit.pp if needed
|
||||||
if NeedFPMKUnitSource then
|
if NeedFPMKUnitSource then
|
||||||
begin
|
begin
|
||||||
@ -356,6 +360,7 @@ Var
|
|||||||
if OOptions<>'' then
|
if OOptions<>'' then
|
||||||
OOptions:=OOptions+' ';
|
OOptions:=OOptions+' ';
|
||||||
OOptions:=OOptions+maybequoted(s);
|
OOptions:=OOptions+maybequoted(s);
|
||||||
|
Writeln('Options: >>>>',OOptions,'<<<<');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure CondAddOption(const Name,Value:string);
|
procedure CondAddOption(const Name,Value:string);
|
||||||
|
@ -17,7 +17,7 @@ unit pkgoptions;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
// pkgglobals must be AFTER fpmkunit
|
// pkgglobals must be AFTER fpmkunit
|
||||||
uses Classes, Sysutils, Inifiles, fpTemplate, fpmkunit, pkgglobals, fgl;
|
uses Classes, Sysutils, Inifiles, StrUtils, fpTemplate, fpmkunit, pkgglobals, fgl;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
UnitConfigFileName = 'fpunits.cfg';
|
UnitConfigFileName = 'fpunits.cfg';
|
||||||
@ -323,6 +323,7 @@ Const
|
|||||||
KeyCompilerOS = 'OS';
|
KeyCompilerOS = 'OS';
|
||||||
KeyCompilerCPU = 'CPU';
|
KeyCompilerCPU = 'CPU';
|
||||||
KeyCompilerVersion = 'Version';
|
KeyCompilerVersion = 'Version';
|
||||||
|
KeyCompilerOptions = 'CompilerOptions';
|
||||||
|
|
||||||
{ TFppkgIncludeFilesOptionSection }
|
{ TFppkgIncludeFilesOptionSection }
|
||||||
|
|
||||||
@ -1167,6 +1168,8 @@ end;
|
|||||||
procedure TCompilerOptions.LoadCompilerFromFile(const AFileName: String);
|
procedure TCompilerOptions.LoadCompilerFromFile(const AFileName: String);
|
||||||
Var
|
Var
|
||||||
Ini : TMemIniFile;
|
Ini : TMemIniFile;
|
||||||
|
S,sOptions : UTF8String;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Ini:=TMemIniFile.Create(AFileName);
|
Ini:=TMemIniFile.Create(AFileName);
|
||||||
try
|
try
|
||||||
@ -1192,6 +1195,10 @@ begin
|
|||||||
FCompiler:=ReadString(SDefaults,KeyCompiler,FCompiler);
|
FCompiler:=ReadString(SDefaults,KeyCompiler,FCompiler);
|
||||||
FCompilerOS:=StringToOS(ReadString(SDefaults,KeyCompilerOS,OSToString(CompilerOS)));
|
FCompilerOS:=StringToOS(ReadString(SDefaults,KeyCompilerOS,OSToString(CompilerOS)));
|
||||||
FCompilerCPU:=StringToCPU(ReadString(SDefaults,KeyCompilerCPU,CPUtoString(CompilerCPU)));
|
FCompilerCPU:=StringToCPU(ReadString(SDefaults,KeyCompilerCPU,CPUtoString(CompilerCPU)));
|
||||||
|
sOptions:=ReadString(SDefaults,KeyCompilerOptions,'');
|
||||||
|
if (sOptions<>'') then
|
||||||
|
for S in SplitCommandline(sOptions) do
|
||||||
|
self.Options.Add(S);
|
||||||
CompilerVersion:=ReadString(SDefaults,KeyCompilerVersion,FCompilerVersion);
|
CompilerVersion:=ReadString(SDefaults,KeyCompilerVersion,FCompilerVersion);
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
@ -1221,6 +1228,8 @@ begin
|
|||||||
WriteString(SDefaults,KeyCompilerOS,OSToString(CompilerOS));
|
WriteString(SDefaults,KeyCompilerOS,OSToString(CompilerOS));
|
||||||
WriteString(SDefaults,KeyCompilerCPU,CPUtoString(CompilerCPU));
|
WriteString(SDefaults,KeyCompilerCPU,CPUtoString(CompilerCPU));
|
||||||
WriteString(SDefaults,KeyCompilerVersion,FCompilerVersion);
|
WriteString(SDefaults,KeyCompilerVersion,FCompilerVersion);
|
||||||
|
if HasOptions then
|
||||||
|
WriteString(SDefaults,KeyCompilerOptions,Self.Options.Text);
|
||||||
FSaveInifileChanges:=False;
|
FSaveInifileChanges:=False;
|
||||||
end;
|
end;
|
||||||
Ini.UpdateFile;
|
Ini.UpdateFile;
|
||||||
|
Loading…
Reference in New Issue
Block a user