summaryrefslogtreecommitdiff
path: root/packages/fpmkunit
diff options
context:
space:
mode:
authorjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-05-18 20:07:32 +0000
committerjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-05-18 20:07:32 +0000
commitf8179ce185bd54794545f9d36e7ee6328ac8dc2f (patch)
tree48afc5d868e0e6616bd0deba1bddcb6562bca658 /packages/fpmkunit
parentbc321191b97f5b250a68183c9ff3ddac7b7782d0 (diff)
downloadfpc-f8179ce185bd54794545f9d36e7ee6328ac8dc2f.tar.gz
* Added -o/--options parameters to pass extra parameters to the compiler
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@15293 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fpmkunit')
-rw-r--r--packages/fpmkunit/src/fpmkunit.pp25
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp
index d693694d80..c8074f2c70 100644
--- a/packages/fpmkunit/src/fpmkunit.pp
+++ b/packages/fpmkunit/src/fpmkunit.pp
@@ -1065,6 +1065,7 @@ ResourceString
SHelpGlobalUnitDir = 'Use indicated directory as global unit dir.';
SHelpCompiler = 'Use indicated binary as compiler';
SHelpConfig = 'Use indicated config file when compiling.';
+ SHelpOptions = 'Pass extra options to the compiler.';
SHelpVerbose = 'Be verbose when working.';
@@ -2840,9 +2841,26 @@ procedure TCustomInstaller.AnalyzeOptions;
end;
end;
+ function SplitSpaces(var SplitString: string) : string;
+ var i : integer;
+ begin
+ i := pos(' ',SplitString);
+ if i > 0 then
+ begin
+ result := copy(SplitString,1,i-1);
+ delete(SplitString,1,i);
+ end
+ else
+ begin
+ result := SplitString;
+ SplitString:='';
+ end;
+ end;
+
Var
I : Integer;
DefaultsFileName : string;
+ OptString : string;
begin
I:=0;
FListMode:=False;
@@ -2886,6 +2904,12 @@ begin
Defaults.LocalUnitDir:=OptionArg(I)
else if CheckOption(I,'UG','globalunitdir') then
Defaults.GlobalUnitDir:=OptionArg(I)
+ else if CheckOption(I,'o','options') then
+ begin
+ OptString := OptionArg(I);
+ while OptString <> '' do
+ Defaults.Options.Add(SplitSpaces(OptString));
+ end
else if CheckOption(I,'r','compiler') then
Defaults.Compiler:=OptionArg(I)
else if CheckOption(I,'f','config') then
@@ -2945,6 +2969,7 @@ begin
LogArgOption('UG','globalunitdir',SHelpGlobalUnitdir);
LogArgOption('r','compiler',SHelpCompiler);
LogArgOption('f','config',SHelpConfig);
+ LogArgOption('o','options',SHelpOptions);
Log(vlInfo,'');
If (FMT<>'') then
halt(1)