Upgrade to upstream release 3.0.4.

Generate Dwarf- instead of Stabs-debuginfo on i686 and ARMHF
Force armhf on arm-architectures
This commit is contained in:
Joost van der Sluis 2018-02-09 10:31:34 +01:00
parent 7cde104507
commit 9bf27bde50
6 changed files with 27 additions and 634 deletions

12
.gitignore vendored
View File

@ -1,12 +1,2 @@
fpcbuild-2.4.0.tar.gz
/fpcbuild-2.4.2rc1.tar.gz
/fpcbuild-2.4.2.tar.gz
/fpcbuild-2.6.0.tar.gz
/fpcbuild-2.6.2rc1.tar.gz
/fpcbuild-2.6.2.tar.gz
/fpc-2.6.2-bin-armv7hf.tar.gz
/fpcbuild-2.6.4.tar.gz
/fpcbuild-3.0.0.tar.gz
/fpc-3.0.0-bin-armv7hl.tar.gz
/fpc-3.0.0-bin-ppc64.tar.gz
/fpcbuild-3.0.2.tar.gz
/fpcbuild-3.0.4.tar.gz

View File

@ -1,225 +0,0 @@
Index: fpcsrc/utils/fpdoc/dw_html.pp
===================================================================
--- fpcsrc/utils/fpdoc/dw_html.pp (revision 32373)
+++ fpcsrc/utils/fpdoc/dw_html.pp (revision 32374)
@@ -2471,7 +2471,7 @@
try
B.BuildTree(AList);
// Classes
- WriteXMLFile(B.ClassTree,'tree.xml');
+ // WriteXMLFile(B.ClassTree,'tree.xml');
// Dummy TObject
E:=B.ClassTree.DocumentElement;
PushClassList;
Index: fpcsrc/utils/fpdoc/mkfpdoc.pp
===================================================================
--- fpcsrc/utils/fpdoc/mkfpdoc.pp (revision 32373)
+++ fpcsrc/utils/fpdoc/mkfpdoc.pp (revision 32374)
@@ -19,6 +19,8 @@
TFPDocCreator = Class(TComponent)
Private
+ FBaseDescrDir: String;
+ FBaseInputDir: String;
FCurPackage : TFPDocPackage;
FProcessedUnits : TStrings;
FOnLog: TPasParserLogHandler;
@@ -28,7 +30,11 @@
FVerbose: Boolean;
function GetOptions: TEngineOptions;
function GetPackages: TFPDocPackages;
+ procedure SetBaseDescrDir(AValue: String);
+ procedure SetBaseInputDir(AValue: String);
Protected
+ Function FixInputFile(Const AFileName : String) : String;
+ Function FixDescrFile(Const AFileName : String) : String;
Procedure DoBeforeEmitNote(Sender : TObject; Note : TDomElement; Var EmitNote : Boolean); virtual;
procedure HandleOnParseUnit(Sender: TObject; const AUnitName: String; out AInputFile, OSTarget, CPUTarget: String);
procedure SetVerbose(AValue: Boolean); virtual;
@@ -49,6 +55,9 @@
// Easy access
Property Options : TEngineOptions Read GetOptions;
Property Packages : TFPDocPackages Read GetPackages;
+ // When set, they will be prepended to non-absolute filenames.
+ Property BaseInputDir : String Read FBaseInputDir Write SetBaseInputDir;
+ Property BaseDescrDir : String Read FBaseDescrDir Write SetBaseDescrDir;
end;
implementation
@@ -72,13 +81,13 @@
end;
end;
-procedure TFPDocCreator.DoLog(const Msg: String);
+Procedure TFPDocCreator.DoLog(Const Msg: String);
begin
If Assigned(OnLog) then
OnLog(Self,Msg);
end;
-procedure TFPDocCreator.DoLog(const Fmt: String; Args: array of const);
+procedure TFPDocCreator.DoLog(Const Fmt: String; Args: Array of Const);
begin
DoLog(Format(Fmt,Args));
end;
@@ -103,7 +112,7 @@
SplitInputFIleOption(S,UN,Opts);
if CompareText(ChangeFileExt(ExtractFileName(Un),''),AUnitName)=0 then
begin
- AInputFile:=S;
+ AInputFile:=FixInputFile(UN)+' '+Opts;
OSTarget:=FProject.Options.OSTarget;
CPUTarget:=FProject.Options.CPUTarget;
FProcessedUnits.Add(UN);
@@ -123,13 +132,45 @@
Result:=FProject.Packages;
end;
-procedure TFPDocCreator.DoBeforeEmitNote(Sender: TObject; Note: TDomElement;
- var EmitNote: Boolean);
+Function TFPDocCreator.FixInputFile(Const AFileName: String): String;
begin
+ Result:=AFileName;
+ If Result='' then exit;
+ if (ExtractFileDrive(Result)='') and (Result[1]<>PathDelim) then
+ Result:=BaseInputDir+Result;
+end;
+
+Function TFPDocCreator.FixDescrFile(Const AFileName: String): String;
+begin
+ Result:=AFileName;
+ If Result='' then exit;
+ if (ExtractFileDrive(Result)='') and (Result[1]<>PathDelim) then
+ Result:=BaseDescrDir+Result;
+end;
+
+procedure TFPDocCreator.SetBaseDescrDir(AValue: String);
+begin
+ if FBaseDescrDir=AValue then Exit;
+ FBaseDescrDir:=AValue;
+ If FBaseDescrDir<>'' then
+ FBaseDescrDir:=IncludeTrailingPathDelimiter(FBaseDescrDir);
+end;
+
+procedure TFPDocCreator.SetBaseInputDir(AValue: String);
+begin
+ if FBaseInputDir=AValue then Exit;
+ FBaseInputDir:=AValue;
+ If FBaseInputDir<>'' then
+ FBaseInputDir:=IncludeTrailingPathDelimiter(FBaseInputDir);
+end;
+
+Procedure TFPDocCreator.DoBeforeEmitNote(Sender: TObject; Note: TDomElement;
+ Var EmitNote: Boolean);
+begin
EmitNote:=True;
end;
-constructor TFPDocCreator.Create(AOwner: TComponent);
+Constructor TFPDocCreator.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FProject:=TFPDocProject.Create(Self);
@@ -139,7 +180,7 @@
FProcessedUnits:=TStringList.Create;
end;
-destructor TFPDocCreator.Destroy;
+Destructor TFPDocCreator.Destroy;
begin
FreeAndNil(FProcessedUnits);
FreeAndNil(FProject);
@@ -180,7 +221,8 @@
Engine.WriteContentFile(APackage.ContentFile);
end;
-procedure TFPDocCreator.CreateDocumentation(APackage: TFPDocPackage; ParseOnly : Boolean);
+Procedure TFPDocCreator.CreateDocumentation(APackage: TFPDocPackage;
+ ParseOnly: Boolean);
var
i,j: Integer;
@@ -201,7 +243,7 @@
Engine.ReadContentFile(Arg, Cmd);
end;
for i := 0 to APackage.Descriptions.Count - 1 do
- Engine.AddDocFile(APackage.Descriptions[i],Options.donttrim);
+ Engine.AddDocFile(FixDescrFile(APackage.Descriptions[i]),Options.donttrim);
Engine.SetPackageName(APackage.Name);
Engine.Output:=APackage.Output;
Engine.OnLog:=Self.OnLog;
@@ -216,10 +258,11 @@
for i := 0 to APackage.Inputs.Count - 1 do
try
SplitInputFileOption(APackage.Inputs[i],Cmd,Arg);
+ Cmd:=FixInputFIle(Cmd);
if FProcessedUnits.IndexOf(Cmd)=-1 then
begin
FProcessedUnits.Add(Cmd);
- ParseSource(Engine, APackage.Inputs[i], Options.OSTarget, Options.CPUTarget);
+ ParseSource(Engine,Cmd+' '+Arg, Options.OSTarget, Options.CPUTarget);
end;
except
on e: EParserError do
@@ -239,7 +282,7 @@
end;
end;
-procedure TFPDocCreator.CreateProjectFile(Const AFileName: string);
+Procedure TFPDocCreator.CreateProjectFile(Const AFileName: string);
begin
With TXMLFPDocOptions.Create(Self) do
try
@@ -249,7 +292,7 @@
end;
end;
-procedure TFPDocCreator.LoadProjectFile(const AFileName: string);
+Procedure TFPDocCreator.LoadProjectFile(Const AFileName: string);
begin
With TXMLFPDocOptions.Create(self) do
try
Index: fpcsrc/utils/fpdoc/dglobals.pp
===================================================================
--- fpcsrc/utils/fpdoc/dglobals.pp (revision 32373)
+++ fpcsrc/utils/fpdoc/dglobals.pp (revision 32374)
@@ -142,6 +142,8 @@
SCopyright2 = '(c) 2005 - 2012 various FPC contributors';
SCmdLineHelp = 'Usage: %s [options]';
+ SUsageOption008 = '--base-descr-dir=DIR prefix all description files with this directory';
+ SUsageOption009 = '--base-input-dir=DIR prefix all input files with this directory';
SUsageOption010 = '--content Create content file for package cross-references';
SUsageOption020 = '--cputarget=value Set the target CPU for the scanner.';
SUsageOption030 = '--descr=file use file as description file, e.g.: ';
Index: fpcsrc/utils/fpdoc/fpdoc.pp
===================================================================
--- fpcsrc/utils/fpdoc/fpdoc.pp (revision 32373)
+++ fpcsrc/utils/fpdoc/fpdoc.pp (revision 32374)
@@ -73,6 +73,8 @@
begin
Writeln(Format(SCmdLineHelp,[ExtractFileName(Paramstr(0))]));
+ Writeln(SUsageOption008);
+ Writeln(SUsageOption009);
Writeln(SUsageOption010);
Writeln(SUsageOption020);
Writeln(SUsageOption030);
@@ -311,6 +313,8 @@
AddToFileList(SelectedPackage.Descriptions, Arg)
else if (Cmd = '--descr-dir') then
AddDirToFileList(SelectedPackage.Descriptions, Arg, '*.xml')
+ else if (Cmd = '--base-descr-dir') then
+ FCreator.BaseDescrDir:=Arg
else if (Cmd = '-f') or (Cmd = '--format') then
begin
Arg:=UpperCase(Arg);
@@ -323,6 +327,8 @@
FCreator.Options.Language := Arg
else if (Cmd = '-i') or (Cmd = '--input') then
AddToFileList(SelectedPackage.Inputs, Arg)
+ else if (Cmd = '--base-input-dir') then
+ FCreator.BaseInputDir:=Arg
else if (Cmd = '--input-dir') then
begin
AddDirToFileList(SelectedPackage.Inputs, Arg,'*.pp');

View File

@ -1,390 +0,0 @@
Index: fpcsrc/utils/fpdoc/dglobals.pp
===================================================================
--- fpcsrc/utils/fpdoc/dglobals.pp (revision 34748)
+++ fpcsrc/utils/fpdoc/dglobals.pp (revision 34749)
@@ -161,6 +161,7 @@
SUsageOption120 = ' At least one input option is required.';
SUsageOption130 = '--input-dir=Dir Add All *.pp and *.pas files in Dir to list of input files';
SUsageOption140 = '--lang=lng Select output language.';
+ SUsageOption145 = '--macro=name=value Define a macro to preprocess the project file with.';
SUsageOption150 = '--ostarget=value Set the target OS for the scanner.';
SUsageOption160 = '--output=name use name as the output name.';
SUsageOption170 = ' Each backend interprets this as needed.';
@@ -183,6 +184,7 @@
SUsageFormats = 'The following output formats are supported by this fpdoc:';
SUsageBackendHelp = 'Specify an output format, combined with --help to get more help for this backend.';
SUsageFormatSpecific = 'Output format "%s" supports the following options:';
+ SCmdLineErrInvalidMacro = 'Macro needs to be in the form name=value';
SCmdLineInvalidOption = 'Ignoring unknown option "%s"';
SCmdLineInvalidFormat = 'Invalid format "%s" specified';
Index: fpcsrc/utils/fpdoc/mkfpdoc.pp
===================================================================
--- fpcsrc/utils/fpdoc/mkfpdoc.pp (revision 34748)
+++ fpcsrc/utils/fpdoc/mkfpdoc.pp (revision 34749)
@@ -26,6 +26,7 @@
FOnLog: TPasParserLogHandler;
FPParserLogEvents: TPParserLogEvents;
FProject : TFPDocProject;
+ FProjectMacros: TStrings;
FScannerLogEvents: TPScannerLogEvents;
FVerbose: Boolean;
function GetOptions: TEngineOptions;
@@ -32,6 +33,7 @@
function GetPackages: TFPDocPackages;
procedure SetBaseDescrDir(AValue: String);
procedure SetBaseInputDir(AValue: String);
+ procedure SetProjectMacros(AValue: TStrings);
Protected
Function FixInputFile(Const AFileName : String) : String;
Function FixDescrFile(Const AFileName : String) : String;
@@ -58,6 +60,8 @@
// When set, they will be prepended to non-absolute filenames.
Property BaseInputDir : String Read FBaseInputDir Write SetBaseInputDir;
Property BaseDescrDir : String Read FBaseDescrDir Write SetBaseDescrDir;
+ // Macros used when loading the project file
+ Property ProjectMacros : TStrings Read FProjectMacros Write SetProjectMacros;
end;
implementation
@@ -81,13 +85,13 @@
end;
end;
-Procedure TFPDocCreator.DoLog(Const Msg: String);
+procedure TFPDocCreator.DoLog(const Msg: String);
begin
If Assigned(OnLog) then
OnLog(Self,Msg);
end;
-procedure TFPDocCreator.DoLog(Const Fmt: String; Args: Array of Const);
+procedure TFPDocCreator.DoLog(const Fmt: String; Args: array of const);
begin
DoLog(Format(Fmt,Args));
end;
@@ -132,7 +136,7 @@
Result:=FProject.Packages;
end;
-Function TFPDocCreator.FixInputFile(Const AFileName: String): String;
+function TFPDocCreator.FixInputFile(const AFileName: String): String;
begin
Result:=AFileName;
If Result='' then exit;
@@ -140,7 +144,7 @@
Result:=BaseInputDir+Result;
end;
-Function TFPDocCreator.FixDescrFile(Const AFileName: String): String;
+function TFPDocCreator.FixDescrFile(const AFileName: String): String;
begin
Result:=AFileName;
If Result='' then exit;
@@ -164,13 +168,19 @@
FBaseInputDir:=IncludeTrailingPathDelimiter(FBaseInputDir);
end;
-Procedure TFPDocCreator.DoBeforeEmitNote(Sender: TObject; Note: TDomElement;
- Var EmitNote: Boolean);
+procedure TFPDocCreator.SetProjectMacros(AValue: TStrings);
begin
+ if FProjectMacros=AValue then Exit;
+ FProjectMacros.Assign(AValue);
+end;
+
+procedure TFPDocCreator.DoBeforeEmitNote(Sender: TObject; Note: TDomElement;
+ var EmitNote: Boolean);
+begin
EmitNote:=True;
end;
-Constructor TFPDocCreator.Create(AOwner: TComponent);
+constructor TFPDocCreator.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FProject:=TFPDocProject.Create(Self);
@@ -178,12 +188,14 @@
FProject.Options.CPUTarget:=DefCPUTarget;
FProject.Options.OSTarget:=DefOSTarget;
FProcessedUnits:=TStringList.Create;
+ FProjectMacros:=TStringList.Create;
end;
-Destructor TFPDocCreator.Destroy;
+destructor TFPDocCreator.Destroy;
begin
FreeAndNil(FProcessedUnits);
FreeAndNil(FProject);
+ FreeAndNil(FProjectMacros);
inherited Destroy;
end;
@@ -221,7 +233,7 @@
Engine.WriteContentFile(APackage.ContentFile);
end;
-Procedure TFPDocCreator.CreateDocumentation(APackage: TFPDocPackage;
+procedure TFPDocCreator.CreateDocumentation(APackage: TFPDocPackage;
ParseOnly: Boolean);
var
@@ -282,7 +294,7 @@
end;
end;
-Procedure TFPDocCreator.CreateProjectFile(Const AFileName: string);
+procedure TFPDocCreator.CreateProjectFile(const AFileName: string);
begin
With TXMLFPDocOptions.Create(Self) do
try
@@ -292,11 +304,14 @@
end;
end;
-Procedure TFPDocCreator.LoadProjectFile(Const AFileName: string);
+procedure TFPDocCreator.LoadProjectFile(const AFileName: string);
begin
With TXMLFPDocOptions.Create(self) do
try
- LoadOptionsFromFile(FProject,AFileName);
+ if (ProjectMacros.Count>0) then
+ LoadOptionsFromFile(FProject,AFileName,ProjectMacros)
+ else
+ LoadOptionsFromFile(FProject,AFileName,Nil);
finally
Free;
end;
Index: fpcsrc/utils/fpdoc/fpdoc.pp
===================================================================
--- fpcsrc/utils/fpdoc/fpdoc.pp (revision 34748)
+++ fpcsrc/utils/fpdoc/fpdoc.pp (revision 34749)
@@ -90,6 +90,7 @@
Writeln(SUsageOption120);
Writeln(SUsageOption130);
Writeln(SUsageOption140);
+ Writeln(SUsageOption145);
Writeln(SUsageOption150);
Writeln(SUsageOption160);
Writeln(SUsageOption170);
@@ -181,11 +182,12 @@
Const
SOptProject = '--project=';
SOptPackage = '--package=';
-
+ SOptMacro = '--macro=';
+
Function ProjectOpt(Const s : string) : boolean;
begin
- Result:=(Copy(s,1,3)='-p=') or (Copy(s,1,Length(SOptProject))=SOptProject);
+ Result:=(Copy(s,1,3)='-p=') or (Copy(s,1,Length(SOptProject))=SOptProject) or (Copy(s,1,Length(SOptMacro))=SOptMacro);
end;
Function PackageOpt(Const s : string) : boolean;
@@ -286,7 +288,7 @@
var
i: Integer;
- Cmd, Arg: String;
+ ProjectFileName,Cmd, Arg: String;
begin
if (s = '-h') or (s = '--help') then
@@ -325,6 +327,12 @@
AddDirToFileList(SelectedPackage.Descriptions, Arg, '*.xml')
else if (Cmd = '--base-descr-dir') then
FCreator.BaseDescrDir:=Arg
+ else if (Cmd = '--macro') then
+ begin
+ If Pos('=',Arg)=0 then
+ WriteLn(StdErr, Format(SCmdLineErrInvalidMacro, [Arg]));
+ FCreator.ProjectMacros.Add(Arg);
+ end
else if (Cmd = '-f') or (Cmd = '--format') then
begin
Arg:=UpperCase(Arg);
@@ -384,23 +392,28 @@
Procedure TFPDocApplication.DoRun;
begin
-{$IFDEF Unix}
- gettext.TranslateResourceStrings('/usr/local/share/locale/%s/LC_MESSAGES/fpdoc.mo');
-{$ELSE}
- gettext.TranslateResourceStrings('intl/fpdoc.%s.mo');
-{$ENDIF}
- WriteLn(STitle);
- WriteLn(Format(SVersion, [DefFPCVersion, DefFPCDate]));
- WriteLn(SCopyright1);
- WriteLn(SCopyright2);
- WriteLn;
- ParseCommandLine;
- if (FWriteProjectFile<>'') then
- FCreator.CreateProjectFile(FWriteProjectFile)
- else
- FCreator.CreateDocumentation(FPackage,FDryRun);
- WriteLn(SDone);
- Terminate;
+ try
+ {$IFDEF Unix}
+ gettext.TranslateResourceStrings('/usr/local/share/locale/%s/LC_MESSAGES/fpdoc.mo');
+ {$ELSE}
+ gettext.TranslateResourceStrings('intl/fpdoc.%s.mo');
+ {$ENDIF}
+ WriteLn(STitle);
+ WriteLn(Format(SVersion, [DefFPCVersion, DefFPCDate]));
+ WriteLn(SCopyright1);
+ WriteLn(SCopyright2);
+ WriteLn;
+ ParseCommandLine;
+ if (FWriteProjectFile<>'') then
+ FCreator.CreateProjectFile(FWriteProjectFile)
+ else
+ FCreator.CreateDocumentation(FPackage,FDryRun);
+ WriteLn(SDone);
+ Terminate;
+ except
+ ExitCode:=1;
+ Raise;
+ end;
end;
constructor TFPDocApplication.Create(AOwner: TComponent);
Index: fpcsrc/utils/fpdoc/fpdocxmlopts.pas
===================================================================
--- fpcsrc/utils/fpdoc/fpdocxmlopts.pas (revision 34748)
+++ fpcsrc/utils/fpdoc/fpdocxmlopts.pas (revision 34749)
@@ -13,6 +13,7 @@
TXMLFPDocOptions = Class(TComponent)
private
Protected
+ Function PreProcessFile(const AFileName: String; Macros: TStrings): TStream; virtual;
Procedure Error(Const Msg : String);
Procedure Error(Const Fmt : String; Args : Array of Const);
Procedure LoadPackage(APackage : TFPDocPackage; E : TDOMElement); virtual;
@@ -24,7 +25,7 @@
procedure SaveInputFile(const AInputFile: String; XML: TXMLDocument; AParent: TDOMElement);virtual;
Procedure SavePackage(APackage : TFPDocPackage; XML : TXMLDocument; AParent : TDOMElement); virtual;
Public
- Procedure LoadOptionsFromFile(AProject : TFPDocProject; Const AFileName : String);
+ Procedure LoadOptionsFromFile(AProject : TFPDocProject; Const AFileName : String; Macros : TStrings = Nil);
Procedure LoadFromXML(AProject : TFPDocProject; XML : TXMLDocument); virtual;
Procedure SaveOptionsToFile(AProject : TFPDocProject; Const AFileName : String);
procedure SaveToXML(AProject : TFPDocProject; ADoc: TXMLDocument); virtual;
@@ -65,7 +66,7 @@
end;
-procedure TXMLFPDocOptions.Error(Const Msg: String);
+procedure TXMLFPDocOptions.Error(const Msg: String);
begin
Raise EXMLFPDoc.Create(Msg);
end;
@@ -248,7 +249,8 @@
end;
end;
-Procedure TXMLFPDocOptions.SaveEngineOptions(Options : TEngineOptions; XML : TXMLDocument; AParent : TDOMElement);
+procedure TXMLFPDocOptions.SaveEngineOptions(Options: TEngineOptions;
+ XML: TXMLDocument; AParent: TDOMElement);
procedure AddStr(const n, v: string);
var
@@ -288,7 +290,8 @@
end;
-Procedure TXMLFPDocOptions.SaveInputFile(Const AInputFile : String; XML : TXMLDocument; AParent: TDOMElement);
+procedure TXMLFPDocOptions.SaveInputFile(const AInputFile: String;
+ XML: TXMLDocument; AParent: TDOMElement);
Var
F,O : String;
@@ -299,7 +302,8 @@
AParent['options']:=O;
end;
-Procedure TXMLFPDocOptions.SaveDescription(Const ADescription : String; XML : TXMLDocument; AParent: TDOMElement);
+procedure TXMLFPDocOptions.SaveDescription(const ADescription: String;
+ XML: TXMLDocument; AParent: TDOMElement);
begin
AParent['file']:=ADescription;
@@ -317,7 +321,8 @@
AParent['prefix']:=Copy(AImportFile,i+1,Length(AImportFile));
end;
-Procedure TXMLFPDocOptions.SavePackage(APackage: TFPDocPackage; XML : TXMLDocument; AParent: TDOMElement);
+procedure TXMLFPDocOptions.SavePackage(APackage: TFPDocPackage;
+ XML: TXMLDocument; AParent: TDOMElement);
var
@@ -358,17 +363,55 @@
end;
+Function TXMLFPDocOptions.PreprocessFile(const AFileName: String; Macros : TStrings) : TStream;
-procedure TXMLFPDocOptions.LoadOptionsFromFile(AProject: TFPDocProject; const AFileName: String);
+Var
+ F : TFileStream;
+ P : TTemplateParser;
+ I : Integer;
+ N,V : String;
+begin
+ Result:=Nil;
+ P:=Nil;
+ F:=TFileStream.Create(AFileName,fmOpenRead or fmShareDenyWrite);
+ try
+ P:=TTemplateParser.Create;
+ P.AllowTagParams:=False;
+ P.StartDelimiter:='{{';
+ P.EndDelimiter:='}}';
+ For I:=0 to Macros.Count-1 do
+ begin
+ Macros.GetNameValue(I,N,V);
+ P.Values[N]:=V;
+ end;
+ Result:=TMemoryStream.Create;
+ P.ParseStream(F,Result);
+ Result.Position:=0;
+ finally
+ FreeAndNil(F);
+ FreeAndNil(P);
+ end;
+end;
+
+procedure TXMLFPDocOptions.LoadOptionsFromFile(AProject: TFPDocProject;
+ const AFileName: String; Macros: TStrings = Nil);
+
Var
XML : TXMLDocument;
+ S : TStream;
begin
- ReadXMLFile(XML,AFileName);
+ XML:=Nil;
+ if Macros=Nil then
+ S:=TFileStream.Create(AFileName,fmOpenRead or fmShareDenyWrite)
+ else
+ S:=PreProcessFile(AFileName,Macros);
try
+ ReadXMLFile(XML,S);
LoadFromXML(AProject,XML);
finally
+ FreeAndNil(S);
FreeAndNil(XML);
end;
end;
@@ -393,7 +436,8 @@
LoadEngineOptions(AProject.Options,N as TDOMElement);
end;
-Procedure TXMLFPDocOptions.SaveOptionsToFile(AProject: TFPDocProject; const AFileName: String);
+procedure TXMLFPDocOptions.SaveOptionsToFile(AProject: TFPDocProject;
+ const AFileName: String);
Var
XML : TXMLDocument;

12
fpc-3.0.4-r1448.patch Normal file
View File

@ -0,0 +1,12 @@
Index: fpcdocs/linux.xml
===================================================================
--- fpcdocs/linux.xml (revision 1447)
+++ fpcdocs/linux.xml (revision 1448)
@@ -225,7 +225,6 @@
<seealso>
<link id="#rtl.baseunix.FpFork"/>
</seealso>
-<example file="linuxex/ex71"/>
</element>
<!-- unresolved type reference Visibility: default -->

View File

@ -6,8 +6,8 @@
%endif
Name: fpc
Version: 3.0.2
Release: 3%{?dist}
Version: 3.0.4
Release: 1%{?dist}
Summary: Free Pascal Compiler
Group: Development/Languages
@ -29,8 +29,7 @@ Source0: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/source/fpcbuild
Source2: fpc.cft
Source3: fppkg.cfg
Source4: default.cft
Patch0: fpc-3.0.2-r32374.patch
Patch1: fpc-3.0.2-r34749.patch
Patch0: fpc-3.0.4-r1448.patch
Requires: gpm, ncurses, binutils
%if ! 0%{?bootstrap}
@ -68,7 +67,7 @@ The fpc-src package contains the sources of Free Pascal, for documentation or
automatical-code generation purposes.
%define smart _smart
%define fpcopt -k"--build-id"
%define fpcdebugopt -gl
%ifarch ppc
%define ppcname ppcppc
@ -83,9 +82,12 @@ automatical-code generation purposes.
%define fpcarchname powerpc64
%else
%ifarch %{arm}
%define fpcopt -dFPC_ARMHF -k"--build-id"
%define fpcdebugopt -glw
%define ppcname ppcarm
%define fpcarchname arm
%else
%define fpcdebugopt -glw
%define ppcname ppc386
%define fpcarchname i386
%endif
@ -100,7 +102,6 @@ automatical-code generation purposes.
%setup -n fpcbuild-%{version} -q
%endif
%patch0
%patch1
%build
# The source-files:
@ -115,7 +116,7 @@ STARTPP=`pwd`/fpc-3.0.0-bin-ppc64/bin/%{ppcname}-%{version}
%else
STARTPP=%{ppcname}
%endif
%define fpcopt -k"--build-id"
cd fpcsrc
NEWPP=`pwd`/compiler/%{ppcname}
DATA2INC=`pwd`/utils/data2inc
@ -211,6 +212,11 @@ rm -rf %{buildroot}/usr/lib/%{name}/lexyacc
%changelog
* Thu Feb 01 2018 Joost van der Sluis <joost@cnoc.nl> - 3.0.4-1
- Upgrade to upstream release 3.0.4.
- Generate Dwarf- instead of Stabs-debuginfo on i686 and ARMHF
- Force armhf on arm-architectures
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (fpcbuild-3.0.2.tar.gz) = dfa4865d8166b7903914ac101e48bae9761671a77e37cbfd54c2ee8eb6b2ba0e5f3ac4b55867a2ead79499dbae68cc785db531385c5b77d533945c644a2f6fe6
SHA512 (fpcbuild-3.0.4.tar.gz) = eedfeb4d25b3f4cb30ae9c8f30e0fec2405ef806fa565933cef7904d512f781730e3f023aea2f908c21250e3ced4f74fa780abad77b560728a88cedf591505b6