Browse Source

* synchronized with trunk

git-svn-id: branches/wasm@46476 -
nickysn 5 years ago
parent
commit
84f5c15928

+ 10 - 2
compiler/i8086/n8086cnv.pas

@@ -70,14 +70,22 @@ implementation
           begin
           begin
             if resultdef.typ<>procvardef then
             if resultdef.typ<>procvardef then
               internalerror(2018040401);
               internalerror(2018040401);
-            exclude(tprocvardef(resultdef).procoptions,po_far);
+            if po_far in tprocvardef(resultdef).procoptions then
+              begin
+                resultdef:=cprocvardef.getreusableprocaddr(tabstractprocdef(left.resultdef),pc_offset);
+                exclude(tprocvardef(resultdef).procoptions,po_far);
+              end;
           end
           end
         else if (tcnf_proc_2_procvar_2_voidpointer in convnodeflags) and
         else if (tcnf_proc_2_procvar_2_voidpointer in convnodeflags) and
                 (current_settings.x86memorymodel in x86_far_code_models) then
                 (current_settings.x86memorymodel in x86_far_code_models) then
           begin
           begin
             if resultdef.typ<>procvardef then
             if resultdef.typ<>procvardef then
               internalerror(2018040402);
               internalerror(2018040402);
-            include(tprocvardef(resultdef).procoptions,po_far);
+            if not (po_far in tprocvardef(resultdef).procoptions) then
+              begin
+                resultdef:=cprocvardef.getreusableprocaddr(tabstractprocdef(left.resultdef),pc_far_address);
+                include(tprocvardef(resultdef).procoptions,po_far);
+              end;
           end;
           end;
       end;
       end;
 
 

+ 4 - 0
compiler/nadd.pas

@@ -2263,10 +2263,14 @@ implementation
              else
              else
                begin
                begin
                  { When there is a signed type or there is a minus operation
                  { When there is a signed type or there is a minus operation
+                   or in TP mode for 16-bit CPUs
                    we convert to signed int. Otherwise (both are unsigned) we keep
                    we convert to signed int. Otherwise (both are unsigned) we keep
                    the result also unsigned. This is compatible with Delphi (PFV) }
                    the result also unsigned. This is compatible with Delphi (PFV) }
                  if is_signed(ld) or
                  if is_signed(ld) or
                     is_signed(rd) or
                     is_signed(rd) or
+{$if defined(cpu16bitalu)}
+                    (m_tp7 in current_settings.modeswitches) or
+{$endif}
                     (nodetype=subn) then
                     (nodetype=subn) then
                    begin
                    begin
                      inserttypeconv(right,sinttype);
                      inserttypeconv(right,sinttype);

+ 6 - 0
compiler/symdef.pas

@@ -643,6 +643,12 @@ interface
          pno_mangledname, pno_noparams);
          pno_mangledname, pno_noparams);
        tprocnameoptions = set of tprocnameoption;
        tprocnameoptions = set of tprocnameoption;
        tproccopytyp = (pc_normal,
        tproccopytyp = (pc_normal,
+{$ifdef i8086}
+                       { the address in a far format }
+                       pc_far_address,
+                       { the offset part of the far address }
+                       pc_offset,
+{$endif i8086}
                        { creates a procvardef describing only the code pointer
                        { creates a procvardef describing only the code pointer
                          of a method/netsted function/... }
                          of a method/netsted function/... }
                        pc_address_only,
                        pc_address_only,

+ 5 - 5
compiler/tokens.pas

@@ -64,15 +64,15 @@ type
     _OP_DEC,
     _OP_DEC,
     { special chars }
     { special chars }
     _CARET,
     _CARET,
-    _LECKKLAMMER,
-    _RECKKLAMMER,
+    _LECKKLAMMER, { '[' }
+    _RECKKLAMMER, { ']' }
     _POINT,
     _POINT,
     _COMMA,
     _COMMA,
-    _LKLAMMER,
-    _RKLAMMER,
+    _LKLAMMER, { '(' }
+    _RKLAMMER, { ')' }
     _COLON,
     _COLON,
     _SEMICOLON,
     _SEMICOLON,
-    _KLAMMERAFFE,
+    _KLAMMERAFFE, { '@' }
     _POINTPOINT,
     _POINTPOINT,
     _POINTPOINTPOINT,
     _POINTPOINTPOINT,
     _PIPE,
     _PIPE,

+ 1 - 1
compiler/utils/ppuutils/ppudump.pp

@@ -2246,7 +2246,7 @@ const
          { target specific }
          { target specific }
         'Executable Stack', {cs_executable_stack}
         'Executable Stack', {cs_executable_stack}
          { i8086 specific }
          { i8086 specific }
-        'Hude code', {cs_huge_code}
+        'Huge code', {cs_huge_code}
         'Win16 smart callbacks', {cs_win16_smartcallbacks}
         'Win16 smart callbacks', {cs_win16_smartcallbacks}
          { Record usage of checkpointer experimental feature }
          { Record usage of checkpointer experimental feature }
         'CheckPointer used', {cs_checkpointer_called}
         'CheckPointer used', {cs_checkpointer_called}

+ 47 - 47
packages/fcl-db/src/sql/fpsqlparser.pas

@@ -501,11 +501,11 @@ begin
       F:=TSQLSelectField(CreateElement(TSQLSelectField,AParent));
       F:=TSQLSelectField(CreateElement(TSQLSelectField,AParent));
       AList.Add(F);
       AList.Add(F);
       F.Expression:=Expression;
       F.Expression:=Expression;
-      If CurrentToken in [tsqlAs,Tsqlidentifier] then
+      If CurrentToken in [tsqlAs,Tsqlidentifier,tsqlString] then
         begin
         begin
         If currentToken=tsqlAs then
         If currentToken=tsqlAs then
           GetNextToken;
           GetNextToken;
-        Expect(tsqlIdentifier);
+        Expect([tsqlIdentifier,tsqlString]);
         F.AliasName:=CreateIdentifier(F,CurrentTokenString);
         F.AliasName:=CreateIdentifier(F,CurrentTokenString);
         GetNextToken;
         GetNextToken;
         end;
         end;
@@ -2885,65 +2885,65 @@ begin
       //   To-Do: remove some of them if necessary
       //   To-Do: remove some of them if necessary
       if CurrentToken in [tsqlIdentifier, FirstKeyword..LastKeyWord] then
       if CurrentToken in [tsqlIdentifier, FirstKeyword..LastKeyWord] then
         begin
         begin
+        C:=TSQLIdentifierExpression;
         N:=CurrentTokenString;
         N:=CurrentTokenString;
-        If (GetNextToken<>tsqlBraceOpen) then
+        If (eoCheckConstraint in EO) and not (eoTableConstraint in EO) then
+          Error(SErrUnexpectedToken,[CurrentTokenString]);
+        // Plain identifier
+        IdentifierPath:=TSQLIdentifierPath.Create;
+        IdentifierPath.Add(CreateIdentifier(nil,N));
+        GetNextToken;
+        while (CurrentToken=tsqlDot) do
           begin
           begin
-          If (eoCheckConstraint in EO) and not (eoTableConstraint in EO) then
-            Error(SErrUnexpectedToken,[CurrentTokenString]);
-          // Plain identifier
-          IdentifierPath:=TSQLIdentifierPath.Create;
-          IdentifierPath.Add(CreateIdentifier(Result,N));
-          while (CurrentToken=tsqlDot) do
+          GetNextToken;
+          if CurrentToken=tsqlMUL then
             begin
             begin
+            C:=TSQLAsteriskExpression;
             GetNextToken;
             GetNextToken;
-            if CurrentToken=tsqlMUL then
-              begin
-              Result:=TSQLAsteriskExpression(CreateElement(TSQLAsteriskExpression,APArent));
-              GetNextToken;
-              break;
-              end
-            else
-              begin
-              Expect(tsqlIdentifier);
-              N:=CurrentTokenString;
-              IdentifierPath.Add(CreateIdentifier(Result,N));
-              GetNextToken;
-              end;
-            end;
-          if not Assigned(Result) then
-            Result:=TSQLIdentifierExpression(CreateElement(TSQLIdentifierExpression,APArent));
-          TSQLIdentifierPathExpression(Result).IdentifierPath:=IdentifierPath;
-          // Array access ?
-          If (CurrentToken=tsqlSquareBraceOpen) and (Result is TSQLIdentifierExpression) then
-            // Either something like array[5] or,
-            // in procedures etc array[i:] where i is a variable
+            break;
+            end
+          else
             begin
             begin
-            case GetNextToken of
-              tsqlIntegerNumber: TSQLIdentifierExpression(Result).ElementIndex:=StrToInt(CurrentTokenString);
-              tsqlColon:
-                begin
-                GetNextToken;
-                Expect(tsqlIdentifier);
-                // We can't set element index here, but it IS an array...
-                //todo: verify if there are repercussions/what these would be
-                TSQLIdentifierExpression(Result).ElementIndex:=maxint;
-                end;
-            else
-               Error(SErrIntegerExpected);
-            end;
+            Expect(tsqlIdentifier);
+            N:=CurrentTokenString;
+            IdentifierPath.Add(CreateIdentifier(nil,N));
             GetNextToken;
             GetNextToken;
-            Consume(tsqlSquareBraceClose);
             end;
             end;
-          end
-        else
+          end;
+        If (CurrentToken=tsqlBraceOpen) and (C=TSQLIdentifierExpression) then
           begin
           begin
           L:=ParseValueList(AParent,EO);
           L:=ParseValueList(AParent,EO);
           GetNextToken; // Consume );
           GetNextToken; // Consume );
           // Function call
           // Function call
           Result:=TSQLFunctionCallExpression(CreateElement(TSQLFunctionCallExpression,AParent));
           Result:=TSQLFunctionCallExpression(CreateElement(TSQLFunctionCallExpression,AParent));
-          TSQLFunctionCallExpression(Result).IDentifier:=N;
           TSQLFunctionCallExpression(Result).Arguments:=L;
           TSQLFunctionCallExpression(Result).Arguments:=L;
+          end
+        Else
+        // Array access ?
+        If (CurrentToken=tsqlSquareBraceOpen) and (C=TSQLIdentifierExpression) then
+          // Either something like array[5] or,
+          // in procedures etc array[i:] where i is a variable
+          begin
+          Result:=TSQLIdentifierExpression(CreateElement(TSQLIdentifierExpression,APArent));
+          case GetNextToken of
+            tsqlIntegerNumber: TSQLIdentifierExpression(Result).ElementIndex:=StrToInt(CurrentTokenString);
+            tsqlColon:
+              begin
+              GetNextToken;
+              Expect(tsqlIdentifier);
+              // We can't set element index here, but it IS an array...
+              //todo: verify if there are repercussions/what these would be
+              TSQLIdentifierExpression(Result).ElementIndex:=maxint;
+              end;
+          else
+             Error(SErrIntegerExpected);
+          end;
+          GetNextToken;
+          Consume(tsqlSquareBraceClose);
           end;
           end;
+        if not Assigned(Result) then
+          Result:=TSQLExpression(CreateElement(C,AParent));
+        TSQLIdentifierPathExpression(Result).IdentifierPath:=IdentifierPath;
         end
         end
       else
       else
         UnexpectedToken;
         UnexpectedToken;

+ 41 - 5
packages/fcl-db/src/sql/fpsqltree.pp

@@ -382,14 +382,15 @@ Type
 
 
   { TSQLFunctionCallExpression }
   { TSQLFunctionCallExpression }
 
 
-  TSQLFunctionCallExpression = Class(TSQLExpression)
+  TSQLFunctionCallExpression = Class(TSQLIdentifierPathExpression)
   private
   private
     FArguments:TSQLElementList;
     FArguments:TSQLElementList;
-    FIdentifier: TSQLStringType;
+    function GetIdentifier: TSQLStringType;
+    procedure SetIdentifier(const AIdentifier: TSQLStringType);
   Public
   Public
     Destructor Destroy; override;
     Destructor Destroy; override;
     Function GetAsSQL(Options : TSQLFormatOptions; AIndent : Integer = 0): TSQLStringType; override;
     Function GetAsSQL(Options : TSQLFormatOptions; AIndent : Integer = 0): TSQLStringType; override;
-    Property Identifier : TSQLStringType Read FIdentifier Write FIdentifier;
+    Property Identifier : TSQLStringType Read GetIdentifier Write SetIdentifier;
     Property Arguments : TSQLElementList Read FArguments Write Farguments;
     Property Arguments : TSQLElementList Read FArguments Write Farguments;
   end;
   end;
 
 
@@ -2685,10 +2686,12 @@ function TSQLFunctionCallExpression.GetAsSQL(Options: TSQLFormatOptions;
 
 
 Var
 Var
   I : Integer;
   I : Integer;
-  Sep : String;
+  Sep,Name: String;
+  N : TSQLIdentifierName;
 
 
 begin
 begin
   Result:='';
   Result:='';
+
   Sep:=SQLListSeparator(Options);
   Sep:=SQLListSeparator(Options);
   If Assigned(FArguments) and (FArguments.Count>0) then
   If Assigned(FArguments) and (FArguments.Count>0) then
     For I:=0 to FArguments.Count-1 do
     For I:=0 to FArguments.Count-1 do
@@ -2697,7 +2700,40 @@ begin
         Result:=Result+Sep;
         Result:=Result+Sep;
       Result:=Result+Farguments[i].GetAsSQL(Options,AIndent);
       Result:=Result+Farguments[i].GetAsSQL(Options,AIndent);
       end;
       end;
-  Result:=SQLKeyWord(Identifier,Options)+'('+Result+')';
+
+  Name:='';
+  for Pointer(N) in FIdentifierPath do
+    begin
+    if Name<>'' then
+      Name:=Name+'.';
+    Name:=Name+SQLKeyWord(N.Name,Options);
+    end;
+
+  Result:=Name+'('+Result+')';
+end;
+
+function TSQLFunctionCallExpression.GetIdentifier: TSQLStringType;
+var
+  Name: TSQLIdentifierName;
+begin
+  Name := TSQLIdentifierName(FIdentifierPath.Last);
+  if Assigned(Name) then
+    Result:=Name.Name
+  else
+    Result:='';
+end;
+
+procedure TSQLFunctionCallExpression.SetIdentifier(const AIdentifier: TSQLStringType);
+var
+  NewName: TSQLIdentifierName;
+begin
+  if Assigned(FIdentifierPath) then
+    FIdentifierPath.Clear
+  else
+    FIdentifierPath:=TSQLIdentifierPath.Create;
+  NewName:=TSQLIdentifierName.Create(Parent);
+  NewName.Name:=AIdentifier;
+  FIdentifierPath.Add(NewName);
 end;
 end;
 
 
 { TSQLTernaryExpression }
 { TSQLTernaryExpression }

+ 51 - 3
packages/fcl-db/tests/tcparser.pas

@@ -388,7 +388,7 @@ type
   TTestSelectParser = Class(TTestSQLParser)
   TTestSelectParser = Class(TTestSQLParser)
   Private
   Private
     FSelect : TSQLSelectStatement;
     FSelect : TSQLSelectStatement;
-    function TestSelect(Const ASource : String) : TSQLSelectStatement;
+    function TestSelect(Const ASource : String; AOptions : TParserOptions = []; AScannerOptions : TSQLScannerOptions = []) : TSQLSelectStatement;
     procedure TestSelectError(Const ASource : String);
     procedure TestSelectError(Const ASource : String);
     procedure DoExtractSimple(Expected : TSQLExtractElement);
     procedure DoExtractSimple(Expected : TSQLExtractElement);
     property Select : TSQLSelectStatement Read FSelect;
     property Select : TSQLSelectStatement Read FSelect;
@@ -419,6 +419,7 @@ type
     procedure TestSelectTwoFieldsThreeBracketTablesJoin;
     procedure TestSelectTwoFieldsThreeBracketTablesJoin;
     procedure TestSelectTableWithSchema;
     procedure TestSelectTableWithSchema;
     procedure TestSelectFieldWithSchema;
     procedure TestSelectFieldWithSchema;
+    procedure TestSelectFieldAsStringLiteral;
     procedure TestSelectFirst;
     procedure TestSelectFirst;
     procedure TestSelectFirstSkip;
     procedure TestSelectFirstSkip;
     procedure TestSelectTop;
     procedure TestSelectTop;
@@ -451,6 +452,7 @@ type
     procedure TestUpperConst;
     procedure TestUpperConst;
     procedure TestUpperError;
     procedure TestUpperError;
     procedure TestLeft;
     procedure TestLeft;
+    procedure TestFunctionWithPath;
     procedure TestGenID;
     procedure TestGenID;
     procedure TestGenIDError1;
     procedure TestGenIDError1;
     procedure TestGenIDError2;
     procedure TestGenIDError2;
@@ -3821,9 +3823,11 @@ end;
 
 
 { TTestSelectParser }
 { TTestSelectParser }
 
 
-function TTestSelectParser.TestSelect(const ASource : String): TSQLSelectStatement;
+function TTestSelectParser.TestSelect(const ASource: String; AOptions: TParserOptions;
+  AScannerOptions: TSQLScannerOptions): TSQLSelectStatement;
 begin
 begin
-  CreateParser(ASource);
+  CreateParser(ASource,AOptions);
+  Parser.Scanner.Options:=AScannerOptions;
   FToFree:=Parser.Parse;
   FToFree:=Parser.Parse;
   Result:=TSQLSelectStatement(CheckClass(FToFree,TSQLSelectStatement));
   Result:=TSQLSelectStatement(CheckClass(FToFree,TSQLSelectStatement));
   FSelect:=Result;
   FSelect:=Result;
@@ -3836,6 +3840,23 @@ begin
   AssertException(ESQLParser,@TestParseError);
   AssertException(ESQLParser,@TestParseError);
 end;
 end;
 
 
+procedure TTestSelectParser.TestSelectFieldAsStringLiteral;
+
+Var
+  F : TSQLSelectField;
+  L : TSQLStringLiteral;
+
+begin
+  TestSelect('SELECT ''B'' ''C'''); // 'B' as 'C'
+  AssertEquals('One field',1,Select.Fields.Count);
+  F:=TSQLSelectField(CheckClass(Select.Fields[0],TSQLSelectField));
+  AssertNotNull('Have field expresssion,',F.Expression);
+  L:=TSQLStringLiteral(AssertLiteralExpr('Field is a literal',F.Expression,TSQLStringLiteral));
+  AssertEquals('Field literal is B','B',L.Value);
+  AssertEquals('Field alias is C','C',F.AliasName.Name);
+  AssertEquals('No table',0,Select.Tables.Count);
+end;
+
 procedure TTestSelectParser.TestSelectFieldWithSchema;
 procedure TTestSelectParser.TestSelectFieldWithSchema;
 
 
 Var
 Var
@@ -4551,6 +4572,33 @@ begin
     DoExtractSimple(E);
     DoExtractSimple(E);
 end;
 end;
 
 
+procedure TTestSelectParser.TestFunctionWithPath;
+
+Var
+  E : TSQLFunctionCallExpression;
+  L : TSQLLiteralExpression;
+  S : TSQLStringLiteral;
+  I : TSQLIntegerLiteral;
+
+begin
+  TestSelect('SELECT [dbo].[myFunc] (''abc'', 1) FROM A', [], [soSquareBracketsIdentifier]);
+  AssertEquals('One field',1,Select.Fields.Count);
+  AssertEquals('One table',1,Select.Tables.Count);
+  AssertTable(Select.Tables[0],'A');
+  CheckClass(Select.Fields[0],TSQLSelectField);
+  E:=TSQLFunctionCallExpression(CheckClass(TSQLSelectField(Select.Fields[0]).Expression,TSQLFunctionCallExpression));
+  AssertEquals('Function two identifiers',2,E.IdentifierPath.Count);
+  AssertEquals('dbo function first identifier','dbo',E.IdentifierPath[0].Name);
+  AssertEquals('myFunc function second identifier','myFunc',E.IdentifierPath[1].Name);
+  AssertEquals('Two function elements',2,E.Arguments.Count);
+  L:=TSQLLiteralExpression(CheckClass(E.Arguments[0],TSQLLiteralExpression));
+  S:=TSQLStringLiteral(CheckClass(L.Literal,TSQLStringLiteral));
+  AssertEquals('Correct string constant','abc',S.Value);
+  L:=TSQLLiteralExpression(CheckClass(E.Arguments[1],TSQLLiteralExpression));
+  I:=TSQLIntegerLiteral(CheckClass(L.Literal,TSQLIntegerLiteral));
+  AssertEquals('Correct integer constant',1,I.Value);
+end;
+
 procedure TTestSelectParser.TestOrderByOneField;
 procedure TTestSelectParser.TestOrderByOneField;
 
 
 begin
 begin

+ 7 - 5
rtl/freertos/system.pp

@@ -208,15 +208,17 @@ const calculated_cmdline:Pchar=nil;
 {*****************************************************************************
 {*****************************************************************************
                        Misc. System Dependent Functions
                        Misc. System Dependent Functions
 *****************************************************************************}
 *****************************************************************************}
-{$ifndef FPC_SYSTEM_HAS_STACKTOP}
 var
 var
  _stack_top: record end; external name '_stack_top';
  _stack_top: record end; external name '_stack_top';
 
 
+{ Interim fix for now, set to large address
+  TODO: provide more realistic value, possibly by inspecting stack pointer
+  when main or task is started
+}
 function StackTop: pointer;
 function StackTop: pointer;
-begin
-  StackTop:=@_stack_top;
-end;
-{$endif FPC_SYSTEM_HAS_STACKTOP}
+  begin
+    StackTop:=pointer($3fffffff);
+  end;
 
 
 
 
 procedure haltproc;cdecl;external name '_haltproc';
 procedure haltproc;cdecl;external name '_haltproc';

+ 103 - 103
rtl/symbian/Makefile

@@ -361,313 +361,313 @@ UNITPREFIX=rtl
 SYSTEMUNIT=system
 SYSTEMUNIT=system
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-win32)
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-os2)
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-beos)
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-netware)
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-emx)
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-wince)
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
 ifeq ($(FULL_TARGET),i386-nativent)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
 ifeq ($(FULL_TARGET),i386-iphonesim)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-android)
 ifeq ($(FULL_TARGET),i386-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-aros)
 ifeq ($(FULL_TARGET),i386-aros)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-macosclassic)
 ifeq ($(FULL_TARGET),m68k-macosclassic)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-macosclassic)
 ifeq ($(FULL_TARGET),powerpc-macosclassic)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
 ifeq ($(FULL_TARGET),powerpc-wii)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-aix)
 ifeq ($(FULL_TARGET),powerpc-aix)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-haiku)
 ifeq ($(FULL_TARGET),x86_64-haiku)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-netbsd)
 ifeq ($(FULL_TARGET),x86_64-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-solaris)
 ifeq ($(FULL_TARGET),x86_64-solaris)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-openbsd)
 ifeq ($(FULL_TARGET),x86_64-openbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-iphonesim)
 ifeq ($(FULL_TARGET),x86_64-iphonesim)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-android)
 ifeq ($(FULL_TARGET),x86_64-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-aros)
 ifeq ($(FULL_TARGET),x86_64-aros)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-dragonfly)
 ifeq ($(FULL_TARGET),x86_64-dragonfly)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-linux)
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-netbsd)
 ifeq ($(FULL_TARGET),arm-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-wince)
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-gba)
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-nds)
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-android)
 ifeq ($(FULL_TARGET),arm-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-aros)
 ifeq ($(FULL_TARGET),arm-aros)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-freertos)
 ifeq ($(FULL_TARGET),arm-freertos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),arm-ios)
 ifeq ($(FULL_TARGET),arm-ios)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-aix)
 ifeq ($(FULL_TARGET),powerpc64-aix)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),mips-linux)
 ifeq ($(FULL_TARGET),mips-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 ifeq ($(FULL_TARGET),mipsel-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),mipsel-embedded)
 ifeq ($(FULL_TARGET),mipsel-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),mipsel-android)
 ifeq ($(FULL_TARGET),mipsel-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),mips64el-linux)
 ifeq ($(FULL_TARGET),mips64el-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),jvm-java)
 ifeq ($(FULL_TARGET),jvm-java)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),jvm-android)
 ifeq ($(FULL_TARGET),jvm-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i8086-embedded)
 ifeq ($(FULL_TARGET),i8086-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i8086-msdos)
 ifeq ($(FULL_TARGET),i8086-msdos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i8086-win16)
 ifeq ($(FULL_TARGET),i8086-win16)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-linux)
 ifeq ($(FULL_TARGET),aarch64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-darwin)
 ifeq ($(FULL_TARGET),aarch64-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-win64)
 ifeq ($(FULL_TARGET),aarch64-win64)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-android)
 ifeq ($(FULL_TARGET),aarch64-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-ios)
 ifeq ($(FULL_TARGET),aarch64-ios)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),wasm-wasm)
 ifeq ($(FULL_TARGET),wasm-wasm)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),sparc64-linux)
 ifeq ($(FULL_TARGET),sparc64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),riscv32-linux)
 ifeq ($(FULL_TARGET),riscv32-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),riscv32-embedded)
 ifeq ($(FULL_TARGET),riscv32-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),riscv64-linux)
 ifeq ($(FULL_TARGET),riscv64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),riscv64-embedded)
 ifeq ($(FULL_TARGET),riscv64-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),xtensa-linux)
 ifeq ($(FULL_TARGET),xtensa-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),xtensa-embedded)
 ifeq ($(FULL_TARGET),xtensa-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),xtensa-freertos)
 ifeq ($(FULL_TARGET),xtensa-freertos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),z80-embedded)
 ifeq ($(FULL_TARGET),z80-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),z80-zxspectrum)
 ifeq ($(FULL_TARGET),z80-zxspectrum)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),z80-msxdos)
 ifeq ($(FULL_TARGET),z80-msxdos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),z80-amstradcpc)
 ifeq ($(FULL_TARGET),z80-amstradcpc)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_IMPLICITUNITS+=ctypes strings symbian
 override TARGET_IMPLICITUNITS+=ctypes strings symbian

+ 1 - 1
rtl/symbian/Makefile.fpc

@@ -9,7 +9,7 @@ main=rtl
 # macpas and iso7185 units rely on sysutils unit, not yet handled here
 # macpas and iso7185 units rely on sysutils unit, not yet handled here
 # extpas unit relies on dos unit, not yet handled
 # extpas unit relies on dos unit, not yet handled
 units=system uuchar objpas sysconst sysutils math rtlconsts \
 units=system uuchar objpas sysconst sysutils math rtlconsts \
-      character fpwidestring unicodedata unicodenumtable \
+      character fpwidestring unicodedata unicodenumtable fgl \
       dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
       dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 implicitunits=ctypes strings symbian
 implicitunits=ctypes strings symbian
 
 

+ 0 - 10
rtl/xtensa/xtensa.inc

@@ -146,16 +146,6 @@ Function Sptr : pointer;assembler;
   end;
   end;
 
 
 
 
-{$define FPC_SYSTEM_HAS_STACKTOP}
-// Interim fix for now, set to large address
-// TODO: provide more realistic value, possibly by inspecting stack pointer
-// when main or task is started
-function StackTop: pointer;
-  begin
-    StackTop:=pointer($3fffffff);
-  end;
-
-
 function InterLockedDecrement (var Target: longint) : longint;
 function InterLockedDecrement (var Target: longint) : longint;
   var
   var
     temp_sreg : byte;
     temp_sreg : byte;

+ 2 - 0
tests/test/cpu16/taddint1.pp

@@ -5,6 +5,8 @@
   This test is Turbo Pascal 7 compatible.
   This test is Turbo Pascal 7 compatible.
 }
 }
 
 
+{$mode tp}
+
 { Turn range checking off, as this test causes overflows intentionally to
 { Turn range checking off, as this test causes overflows intentionally to
   test the size and signedness of the integer that's being used. }
   test the size and signedness of the integer that's being used. }
 {$R-}
 {$R-}