diff options
| author | joost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-05-12 09:32:26 +0000 |
|---|---|---|
| committer | joost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-05-12 09:32:26 +0000 |
| commit | e168ed36edb9d6c014da883ecc7e3c38c0363a39 (patch) | |
| tree | 87e836330fe810c14e699914c90e0c55f3528c97 /packages | |
| parent | 2fc6d4414508f9e06aa997e88c7e58f481c9f626 (diff) | |
| download | fpc-e168ed36edb9d6c014da883ecc7e3c38c0363a39.tar.gz | |
* Do not sort the order of the unit, include and object path
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@15260 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/fpmkunit/src/fpmkunit.pp | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp index fcebbc5d98..d693694d80 100644 --- a/packages/fpmkunit/src/fpmkunit.pp +++ b/packages/fpmkunit/src/fpmkunit.pp @@ -951,7 +951,13 @@ Procedure SplitCommand(Const Cmd : String; Var Exe,Options : String); Implementation -uses typinfo; +uses typinfo, rtlconsts; + +type + TUnsortedDuplicatesStringList = class(TStringList) + public + function Add(const S: string): Integer; override; + end; ResourceString SErrInvalidCPU = 'Invalid CPU name "%s"'; @@ -1553,6 +1559,22 @@ end; {**************************************************************************** + TUnsortedDuplicatesStringList +****************************************************************************} + +function TUnsortedDuplicatesStringList.Add(const S: string): Integer; + +begin + result := IndexOf(S); + If result > -1 then + Case DUplicates of + DupIgnore : Exit; + DupError : Error(SDuplicateString,0) + end; + inherited Add(S); +end; + +{**************************************************************************** TNamedItem ****************************************************************************} @@ -3610,7 +3632,8 @@ end; Function TBuildEngine.GetCompilerCommand(APackage : TPackage; ATarget : TTarget) : String; Var - L,Args : TStringList; + L : TUnsortedDuplicatesStringList; + Args : TStringList; i : Integer; begin if ATarget.TargetSourceFileName = '' then @@ -3638,8 +3661,7 @@ begin Args.Add('-FE'+APackage.GetBinOutputDir(Defaults.CPU,Defaults.OS)); Args.Add('-FU'+APackage.GetUnitsOutputDir(Defaults.CPU,Defaults.OS)); // Object Path - L:=TStringList.Create; - L.Sorted:=true; + L:=TUnsortedDuplicatesStringList.Create; L.Duplicates:=dupIgnore; AddConditionalStrings(L,APackage.ObjectPath,Defaults.CPU,Defaults.OS); AddConditionalStrings(L,ATarget.ObjectPath,Defaults.CPU,Defaults.OS); @@ -3647,8 +3669,7 @@ begin Args.Add('-Fo'+L[i]); FreeAndNil(L); // Unit Dirs - L:=TStringList.Create; - L.Sorted:=true; + L:=TUnsortedDuplicatesStringList.Create; L.Duplicates:=dupIgnore; AddDependencyUnitPaths(L,APackage); AddConditionalStrings(L,APackage.UnitPath,Defaults.CPU,Defaults.OS); @@ -3657,8 +3678,7 @@ begin Args.Add('-Fu'+L[i]); FreeAndNil(L); // Include Path - L:=TStringList.Create; - L.Sorted:=true; + L:=TUnsortedDuplicatesStringList.Create; L.Duplicates:=dupIgnore; AddDependencyIncludePaths(L,ATarget); AddConditionalStrings(L,APackage.IncludePath,Defaults.CPU,Defaults.OS); |
