summaryrefslogtreecommitdiff
path: root/utils/fpcres
diff options
context:
space:
mode:
authorsvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-08-12 19:07:18 +0000
committersvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-08-12 19:07:18 +0000
commita3faf868ca6ba2531cd8e03945092b3dffaaf1e1 (patch)
tree97e4b2a94b9c11c67da9af5e64563c1538dba39d /utils/fpcres
parent9f1bf26b5309cccbbc28e8da221a7492f0b21ca3 (diff)
downloadfpc-a3faf868ca6ba2531cd8e03945092b3dffaaf1e1.tar.gz
* do not automatically register the RC reader, because it captures any file, instead handle that in fpcres itself if the output format calls for it
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@46395 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'utils/fpcres')
-rw-r--r--utils/fpcres/fpcres.pas1
-rw-r--r--utils/fpcres/sourcehandler.pas17
2 files changed, 13 insertions, 5 deletions
diff --git a/utils/fpcres/fpcres.pas b/utils/fpcres/fpcres.pas
index 06f8dfe63c..d822729e49 100644
--- a/utils/fpcres/fpcres.pas
+++ b/utils/fpcres/fpcres.pas
@@ -218,6 +218,7 @@ begin
sourcefiles.FileList.AddStrings(params.InputFiles);
sourcefiles.RCDefines.AddStrings(params.RCDefines);
sourcefiles.RCIncludeDirs.AddStrings(params.RCIncludeDirs);
+ sourcefiles.RCMode:=CurrentTarget.objformat=ofRes;
try
sourcefiles.Load(resources);
except
diff --git a/utils/fpcres/sourcehandler.pas b/utils/fpcres/sourcehandler.pas
index cd488f6f28..568391b187 100644
--- a/utils/fpcres/sourcehandler.pas
+++ b/utils/fpcres/sourcehandler.pas
@@ -39,6 +39,7 @@ type
fRCIncludeDirs: TStringList;
fRCDefines: TStringList;
fStreamList : TFPList;
+ fRCMode: Boolean;
public
constructor Create;
destructor Destroy; override;
@@ -46,6 +47,7 @@ type
property FileList : TStringList read fFileList;
property RCIncludeDirs: TStringList read fRCIncludeDirs;
property RCDefines: TStringList read fRCDefines;
+ property RCMode: Boolean read fRCMode write fRCMode;
end;
implementation
@@ -61,6 +63,7 @@ begin
fStreamList:=TFPList.Create;
fRCDefines:= TStringList.Create;
fRCIncludeDirs:= TStringList.Create;
+ fRCMode:=False;
end;
destructor TSourceFiles.Destroy;
@@ -92,11 +95,15 @@ begin
raise ECantOpenFileException.Create(fFileList[i]);
end;
fStreamList.Add(aStream);
- try
- aReader:=TResources.FindReader(aStream);
- except
- raise EUnknownInputFormatException.Create(fFileList[i]);
- end;
+ { the RC reader reads anything, so handle that separately }
+ if fRCMode then
+ aReader:=TRCResourceReader.Create
+ else
+ try
+ aReader:=TResources.FindReader(aStream);
+ except
+ raise EUnknownInputFormatException.Create(fFileList[i]);
+ end;
Messages.DoVerbose(Format('Chosen reader: %s',[aReader.Description]));
try
Messages.DoVerbose('Reading resource information...');