Ver Fonte

* synchronised with fixes_3_0 till r32002 (3.0.0rc2)

git-svn-id: branches/fixes_3_0_ios@32011 -
Jonas Maebe há 10 anos atrás
pai
commit
b5f5563337
100 ficheiros alterados com 737 adições e 392 exclusões
  1. 12 2
      .gitattributes
  2. 4 1
      Makefile.fpc
  3. 12 1
      compiler/cresstr.pas
  4. 2 1
      compiler/globtype.pas
  5. 8 5
      compiler/htypechk.pas
  6. 7 3
      compiler/options.pas
  7. 1 1
      compiler/pexpr.pas
  8. 11 6
      compiler/psub.pas
  9. 28 6
      compiler/ptype.pas
  10. 3 0
      compiler/scandir.pas
  11. 49 7
      compiler/scanner.pas
  12. 5 4
      compiler/symdef.pas
  13. 1 1
      compiler/systems/i_bsd.pas
  14. 1 1
      compiler/systems/t_linux.pas
  15. 8 10
      compiler/utils/samplecfg
  16. 20 8
      compiler/widestr.pas
  17. 5 0
      compiler/x86_64/cpupara.pas
  18. 2 2
      compiler/x86_64/nx64flw.pas
  19. 2 1
      ide/Makefile
  20. 3 1
      ide/Makefile.fpc
  21. 20 12
      ide/fpini.pas
  22. 19 2
      ide/fpmake.pp
  23. 106 34
      ide/wini.pas
  24. 203 196
      installer/install.dat
  25. 5 5
      installer/install.pas
  26. 4 4
      packages/Makefile
  27. 5 4
      packages/Makefile.fpc
  28. 2 1
      packages/a52/Makefile
  29. 3 1
      packages/a52/Makefile.fpc
  30. 2 1
      packages/ami-extra/Makefile
  31. 3 1
      packages/ami-extra/Makefile.fpc
  32. 2 1
      packages/amunits/Makefile
  33. 3 1
      packages/amunits/Makefile.fpc
  34. 2 1
      packages/arosunits/Makefile
  35. 3 1
      packages/arosunits/Makefile.fpc
  36. 2 1
      packages/aspell/Makefile
  37. 3 1
      packages/aspell/Makefile.fpc
  38. 2 1
      packages/bfd/Makefile
  39. 3 1
      packages/bfd/Makefile.fpc
  40. 2 1
      packages/bzip2/Makefile
  41. 3 1
      packages/bzip2/Makefile.fpc
  42. 2 1
      packages/cairo/Makefile
  43. 3 1
      packages/cairo/Makefile.fpc
  44. 2 1
      packages/cdrom/Makefile
  45. 3 1
      packages/cdrom/Makefile.fpc
  46. 2 1
      packages/chm/Makefile
  47. 3 1
      packages/chm/Makefile.fpc
  48. 2 1
      packages/cocoaint/Makefile
  49. 3 1
      packages/cocoaint/Makefile.fpc
  50. 2 1
      packages/dblib/Makefile
  51. 3 1
      packages/dblib/Makefile.fpc
  52. 2 1
      packages/dbus/Makefile
  53. 3 1
      packages/dbus/Makefile.fpc
  54. 2 1
      packages/dts/Makefile
  55. 3 1
      packages/dts/Makefile.fpc
  56. 2 1
      packages/fastcgi/Makefile
  57. 3 1
      packages/fastcgi/Makefile.fpc
  58. 2 1
      packages/fcl-async/Makefile
  59. 3 1
      packages/fcl-async/Makefile.fpc
  60. 2 1
      packages/fcl-base/Makefile
  61. 3 1
      packages/fcl-base/Makefile.fpc
  62. 2 1
      packages/fcl-db/Makefile
  63. 3 1
      packages/fcl-db/Makefile.fpc
  64. 12 0
      packages/fcl-db/src/sqldb/mysql/mysql57conn.pas
  65. 2 3
      packages/fcl-db/src/sqldb/mysql/mysqlconn.inc
  66. 2 1
      packages/fcl-extra/Makefile
  67. 3 1
      packages/fcl-extra/Makefile.fpc
  68. 2 1
      packages/fcl-fpcunit/Makefile
  69. 3 1
      packages/fcl-fpcunit/Makefile.fpc
  70. 2 1
      packages/fcl-image/Makefile
  71. 3 1
      packages/fcl-image/Makefile.fpc
  72. 2 1
      packages/fcl-js/Makefile
  73. 3 1
      packages/fcl-js/Makefile.fpc
  74. 2 1
      packages/fcl-json/Makefile
  75. 3 1
      packages/fcl-json/Makefile.fpc
  76. 2 1
      packages/fcl-net/Makefile
  77. 3 1
      packages/fcl-net/Makefile.fpc
  78. 2 1
      packages/fcl-passrc/Makefile
  79. 3 1
      packages/fcl-passrc/Makefile.fpc
  80. 2 1
      packages/fcl-process/Makefile
  81. 3 1
      packages/fcl-process/Makefile.fpc
  82. 2 1
      packages/fcl-registry/Makefile
  83. 3 1
      packages/fcl-registry/Makefile.fpc
  84. 2 1
      packages/fcl-res/Makefile
  85. 3 1
      packages/fcl-res/Makefile.fpc
  86. 2 1
      packages/fcl-sdo/Makefile
  87. 3 1
      packages/fcl-sdo/Makefile.fpc
  88. 2 1
      packages/fcl-sound/Makefile
  89. 3 1
      packages/fcl-sound/Makefile.fpc
  90. 2 1
      packages/fcl-stl/Makefile
  91. 3 1
      packages/fcl-stl/Makefile.fpc
  92. 2 1
      packages/fcl-web/Makefile
  93. 3 1
      packages/fcl-web/Makefile.fpc
  94. 2 1
      packages/fcl-xml/Makefile
  95. 3 1
      packages/fcl-xml/Makefile.fpc
  96. 2 1
      packages/fftw/Makefile
  97. 3 1
      packages/fftw/Makefile.fpc
  98. 2 1
      packages/fpgtk/Makefile
  99. 3 1
      packages/fpgtk/Makefile.fpc
  100. 2 1
      packages/fpindexer/Makefile

+ 12 - 2
.gitattributes

@@ -2238,6 +2238,7 @@ packages/fcl-db/src/sqldb/mysql/mysql50conn.pas svneol=native#text/plain
 packages/fcl-db/src/sqldb/mysql/mysql51conn.pas svneol=native#text/plain
 packages/fcl-db/src/sqldb/mysql/mysql55conn.pas svneol=native#text/plain
 packages/fcl-db/src/sqldb/mysql/mysql56conn.pas svneol=native#text/pascal
+packages/fcl-db/src/sqldb/mysql/mysql57conn.pas svneol=native#text/plain
 packages/fcl-db/src/sqldb/mysql/mysqlconn.inc svneol=native#text/plain
 packages/fcl-db/src/sqldb/odbc/Makefile svneol=native#text/plain
 packages/fcl-db/src/sqldb/odbc/Makefile.fpc svneol=native#text/plain
@@ -11107,11 +11108,12 @@ tests/test/jvm/tdynarrnil.pp svneol=native#text/plain
 tests/test/jvm/tenum.pp svneol=native#text/plain
 tests/test/jvm/tenum2.pp svneol=native#text/plain
 tests/test/jvm/test.pp svneol=native#text/plain
-tests/test/jvm/testall.bat -text svneol=native#application/x-bat
-tests/test/jvm/testall.sh -text svneol=native#application/x-sh
+tests/test/jvm/testall.bat svneol=native#text/plain
+tests/test/jvm/testall.sh svneol=native#text/plain
 tests/test/jvm/testansi.pp svneol=native#text/plain
 tests/test/jvm/testintf.pp svneol=native#text/plain
 tests/test/jvm/testshort.pp svneol=native#text/plain
+tests/test/jvm/tformalclass.pp svneol=native#text/plain
 tests/test/jvm/tformalpara.pp svneol=native#text/plain
 tests/test/jvm/tinitvar.pp svneol=native#text/plain
 tests/test/jvm/tint.pp svneol=native#text/plain
@@ -14204,6 +14206,7 @@ tests/webtbs/tw25869.pp svneol=native#text/plain
 tests/webtbs/tw2588.pp svneol=native#text/plain
 tests/webtbs/tw2589.pp svneol=native#text/plain
 tests/webtbs/tw25895.pp svneol=native#text/pascal
+tests/webtbs/tw25914.pp svneol=native#text/pascal
 tests/webtbs/tw25916a.pp svneol=native#text/pascal
 tests/webtbs/tw25916b.pp svneol=native#text/pascal
 tests/webtbs/tw25929.pp svneol=native#text/pascal
@@ -14296,6 +14299,7 @@ tests/webtbs/tw27424.pp svneol=native#text/pascal
 tests/webtbs/tw2758.pp svneol=native#text/plain
 tests/webtbs/tw2763.pp svneol=native#text/plain
 tests/webtbs/tw2765.pp svneol=native#text/plain
+tests/webtbs/tw27658.pp svneol=native#text/pascal
 tests/webtbs/tw27665.pp svneol=native#text/plain
 tests/webtbs/tw2767.pp svneol=native#text/plain
 tests/webtbs/tw2771.pp svneol=native#text/plain
@@ -14323,6 +14327,7 @@ tests/webtbs/tw2832.pp svneol=native#text/plain
 tests/webtbs/tw2834.pp svneol=native#text/plain
 tests/webtbs/tw2841.pp svneol=native#text/plain
 tests/webtbs/tw2853.pp svneol=native#text/plain
+tests/webtbs/tw28530.pp svneol=native#text/pascal
 tests/webtbs/tw2853a.pp svneol=native#text/plain
 tests/webtbs/tw2853b.pp svneol=native#text/plain
 tests/webtbs/tw2853c.pp svneol=native#text/plain
@@ -14330,6 +14335,11 @@ tests/webtbs/tw2853d.pp svneol=native#text/plain
 tests/webtbs/tw2853e.pp svneol=native#text/plain
 tests/webtbs/tw2859.pp svneol=native#text/plain
 tests/webtbs/tw2865.pp svneol=native#text/plain
+tests/webtbs/tw28674.pp svneol=native#text/pascal
+tests/webtbs/tw28718a.pp svneol=native#text/plain
+tests/webtbs/tw28718b.pp svneol=native#text/plain
+tests/webtbs/tw28718c.pp svneol=native#text/plain
+tests/webtbs/tw28718d.pp svneol=native#text/plain
 tests/webtbs/tw2876.pp svneol=native#text/plain
 tests/webtbs/tw2883.pp svneol=native#text/plain
 tests/webtbs/tw2885.pp svneol=native#text/plain

+ 4 - 1
Makefile.fpc

@@ -21,7 +21,10 @@ rule=help
 
 [prerules]
 REQUIREDVERSION=2.6.4
-REQUIREDVERSION2=2.6.2
+# Accept 3.0.0, without requiring to using OVERRIDEVERSIONCHECK=1
+# 3.0.0 should become REQUIREDVERSION after 3.0.0 final release
+# and 2.6.4 should be moved to REQUIREDVERSION2
+REQUIREDVERSION2=3.0.0
 
 
 # make versions < 3.77 (OS2 version) are buggy

+ 12 - 1
compiler/cresstr.pas

@@ -234,11 +234,22 @@ uses
             message1(general_e_errorwritingresourcefile,ResFileName);
             exit;
           end;
+        { write the data in two formats:
+           a) backward compatible: the plain bytes from the source file
+           b) portable: converted to utf-16
+        }
         writeln(f,'{"version":1,"strings":[');
         R:=TResourceStringItem(List.First);
         while assigned(R) do
           begin
-            write(f, '{"hash":',R.Hash,',"name":"',R.Name,'","value":"');
+            write(f, '{"hash":',R.Hash,',"name":"',R.Name,'","sourcebytes":[');
+            for i:=0 to R.Len-1 do
+              begin
+                write(f,ord(R.Value[i]));
+                if i<>R.Len-1 then
+                  write(f,',');
+              end;
+            write(f,'],"value":"');
             initwidestring(W);
             ascii2unicode(R.Value,R.Len,current_settings.sourcecodepage,W);
             for I := 0 to W^.len - 1 do

+ 2 - 1
compiler/globtype.pas

@@ -160,7 +160,8 @@ interface
          cs_support_c_operators,
          { generation }
          cs_profile,cs_debuginfo,cs_compilesystem,
-         cs_lineinfo,cs_implicit_exceptions,cs_explicit_codepage,
+         cs_lineinfo,cs_implicit_exceptions,
+         cs_explicit_codepage,cs_system_codepage,
          { linking }
          cs_create_smart,cs_create_dynamic,cs_create_pic,
          { browser switches are back }

+ 8 - 5
compiler/htypechk.pas

@@ -2594,7 +2594,8 @@ implementation
         paraidx  : integer;
         currparanr : byte;
         rfh,rth  : double;
-        objdef   : tobjectdef;
+        obj_from,
+        obj_to   : tobjectdef;
         def_from,
         def_to   : tdef;
         currpt,
@@ -2760,13 +2761,15 @@ implementation
                   def_is_related(tobjectdef(def_from),tobjectdef(def_to)) then
                  begin
                    eq:=te_convert_l1;
-                   objdef:=tobjectdef(def_from);
-                   while assigned(objdef) do
+                   { resolve anonymous external class definitions }
+                   obj_from:=find_real_class_definition(tobjectdef(def_from),false);
+                   obj_to:=find_real_class_definition(tobjectdef(def_to),false);
+                   while assigned(obj_from) do
                      begin
-                       if objdef=def_to then
+                       if obj_from=obj_to then
                          break;
                        hp^.ordinal_distance:=hp^.ordinal_distance+1;
-                       objdef:=objdef.childof;
+                       obj_from:=obj_from.childof;
                      end;
                  end
                { compare_defs_ext compares sets and array constructors very poorly because

+ 7 - 3
compiler/options.pas

@@ -1436,6 +1436,10 @@ begin
                    autoloadunits:=more;
                  'c' :
                    begin
+                     { if we first specify that the system code page should be
+                       used and then explicitly specify a code page, unset the
+                       flag that we're using the system code page again }
+                     SetCompileModeSwitch('SYSTEMCODEPAGE-',true);
                      if (upper(more)='UTF8') or (upper(more)='UTF-8') then
                        init_settings.sourcecodepage:=CP_UTF8
                      else if not(cpavailable(more)) then
@@ -3717,11 +3721,11 @@ begin
       end;
     system_arm_android:
       begin
-        { set default cpu type to ARMv5T for Android unless specified otherwise }
+        { set default cpu type to ARMv6 for Android unless specified otherwise }
         if not option.CPUSetExplicitly then
-          init_settings.cputype:=cpu_armv5t;
+          init_settings.cputype:=cpu_armv6;
         if not option.OptCPUSetExplicitly then
-          init_settings.optimizecputype:=cpu_armv5t;
+          init_settings.optimizecputype:=cpu_armv6;
       end;
   end;
 

+ 1 - 1
compiler/pexpr.pas

@@ -131,7 +131,7 @@ implementation
                   if m_default_unicodestring in current_settings.modeswitches then
                     def:=cunicodestringtype
                   else
-                    def:=getansistringdef
+                    def:=cansistringtype
                 end
               else
                 def:=cshortstringtype;

+ 11 - 6
compiler/psub.pas

@@ -1344,13 +1344,18 @@ implementation
               { iterate through life info of the first node }
               for i:=0 to dfabuilder.nodemap.count-1 do
                 begin
-                  if DFASetIn(GetUserCode.optinfo^.life,i) and
-                    { do not warn about parameters passed by var }
-                    not((tnode(dfabuilder.nodemap[i]).nodetype=loadn) and (tloadnode(dfabuilder.nodemap[i]).symtableentry.typ=paravarsym) and
-                        (tparavarsym(tloadnode(dfabuilder.nodemap[i]).symtableentry).varspez=vs_var) and
+                  if DFASetIn(GetUserCode.optinfo^.life,i) then
+                    begin
+                      { do not warn for certain parameters: }
+                      if not((tnode(dfabuilder.nodemap[i]).nodetype=loadn) and (tloadnode(dfabuilder.nodemap[i]).symtableentry.typ=paravarsym) and
+                        { do not warn about parameters passed by var }
+                        (((tparavarsym(tloadnode(dfabuilder.nodemap[i]).symtableentry).varspez=vs_var) and
                         { function result is passed by var but it must be initialized }
-                        not(vo_is_funcret in tparavarsym(tloadnode(dfabuilder.nodemap[i]).symtableentry).varoptions)) then
-                    CheckAndWarn(GetUserCode,tnode(dfabuilder.nodemap[i]));
+                        not(vo_is_funcret in tparavarsym(tloadnode(dfabuilder.nodemap[i]).symtableentry).varoptions)) or
+                        { do not warn about initialized hidden parameters }
+                        ((tparavarsym(tloadnode(dfabuilder.nodemap[i]).symtableentry).varoptions*[vo_is_high_para,vo_is_parentfp,vo_is_result,vo_is_self])<>[]))) then
+                        CheckAndWarn(GetUserCode,tnode(dfabuilder.nodemap[i]));
+                     end;
                 end;
           end;
 

+ 28 - 6
compiler/ptype.pas

@@ -122,11 +122,13 @@ implementation
     procedure resolve_forward_types;
       var
         i: longint;
+        tmp,
         hpd,
         def : tdef;
         srsym  : tsym;
         srsymtable : TSymtable;
         hs : string;
+        fileinfo : tfileposinfo;
       begin
         for i:=0 to current_module.checkforwarddefs.Count-1 do
           begin
@@ -152,6 +154,20 @@ implementation
                      if assigned(srsym) and
                         (srsym.typ=typesym) then
                       begin
+                        if (sp_generic_dummy in srsym.symoptions) and
+                            not (ttypesym(srsym).typedef.typ=undefineddef) and
+                            assigned(def.owner.defowner) then
+                          begin
+                            { is the forward def part of a specialization? }
+                            tmp:=tdef(def.owner.defowner);
+                            while not tstoreddef(tmp).is_specialization and assigned(tmp.owner.defowner) do
+                              tmp:=tdef(tmp.owner.defowner);
+                            { if the genericdef of the specialization is the same as the
+                              def the dummy points to, then update the found symbol }
+                            if tstoreddef(tmp).is_specialization and
+                                (tstoreddef(tmp).genericdef=ttypesym(srsym).typedef) then
+                              srsym:=tstoreddef(tmp).typesym;
+                          end;
                         tabstractpointerdef(def).pointeddef:=ttypesym(srsym).typedef;
                         { avoid wrong unused warnings web bug 801 PM }
                         inc(ttypesym(srsym).refs);
@@ -171,10 +187,17 @@ implementation
                                   the case for generics defined in non-Delphi
                                   modes }
                                 tstoreddef(ttypesym(srsym).typedef).is_generic and
-                                not parse_generic
+                                not defs_belong_to_same_generic(def,ttypesym(srsym).typedef)
                               )
                             ) then
-                          MessagePos(def.typesym.fileinfo,parser_e_no_generics_as_types);
+                          begin
+                            if assigned(def.typesym) then
+                              fileinfo:=def.typesym.fileinfo
+                            else
+                              { this is the case for inline pointer declarations }
+                              fileinfo:=srsym.fileinfo;
+                            MessagePos(fileinfo,parser_e_no_generics_as_types);
+                          end;
                       end
                      else
                       begin
@@ -900,10 +923,7 @@ implementation
            include(current_structdef.defoptions,df_specialization);
          if assigned(old_current_structdef) and
              (df_generic in old_current_structdef.defoptions) then
-           begin
-             include(current_structdef.defoptions,df_generic);
-             current_genericdef:=current_structdef;
-           end;
+           include(current_structdef.defoptions,df_generic);
 
          insert_generic_parameter_types(current_structdef,genericdef,genericlist);
          { when we are parsing a generic already then this is a generic as
@@ -911,6 +931,8 @@ implementation
          if old_parse_generic then
            include(current_structdef.defoptions, df_generic);
          parse_generic:=(df_generic in current_structdef.defoptions);
+         if parse_generic and not assigned(current_genericdef) then
+           current_genericdef:=current_structdef;
          { in non-Delphi modes we need a strict private symbol without type
            count and type parameters in the name to simply resolving }
          maybe_insert_generic_rename_symbol(n,genericlist);

+ 3 - 0
compiler/scandir.pas

@@ -1654,6 +1654,9 @@ unit scandir;
               Message1(option_code_page_not_available,s)
             else
               current_settings.sourcecodepage:=codepagebyname(s);
+            { we're not using the system code page now }
+            exclude(current_settings.modeswitches,m_systemcodepage);
+            exclude(current_settings.moduleswitches,cs_system_codepage);
             include(current_settings.moduleswitches,cs_explicit_codepage);
           end;
       end;

+ 49 - 7
compiler/scanner.pas

@@ -381,26 +381,67 @@ implementation
         { turn on system codepage by default }
         if switch in [m_none,m_systemcodepage] then
           begin
+            { both m_systemcodepage and specifying a code page via -FcXXX or
+              "$codepage XXX" change current_settings.sourcecodepage. If
+              we used -FcXXX and then have a sourcefile with "$mode objfpc",
+              this routine will be called to disable m_systemcodepage (to ensure
+              it's off in case it would have been set on the command line, or
+              by a previous mode(switch).
+
+              In that case, we have to ensure that we don't overwrite
+              current_settings.sourcecodepage, as that would cancel out the
+              -FcXXX. This is why we use two separate module switches
+              (cs_explicit_codepage and cs_system_codepage) for the same setting
+              (current_settings.sourcecodepage)
+            }
             if m_systemcodepage in current_settings.modeswitches then
               begin
+                { m_systemcodepage gets enabled -> disable any -FcXXX and
+                  "codepage XXX" settings (exclude cs_explicit_codepage), and
+                  overwrite the sourcecode page }
                 current_settings.sourcecodepage:=DefaultSystemCodePage;
                 if (current_settings.sourcecodepage<>CP_UTF8) and not cpavailable(current_settings.sourcecodepage) then
                   begin
                     Message2(scan_w_unavailable_system_codepage,IntToStr(current_settings.sourcecodepage),IntToStr(default_settings.sourcecodepage));
                     current_settings.sourcecodepage:=default_settings.sourcecodepage;
                   end;
-                include(current_settings.moduleswitches,cs_explicit_codepage);
+                exclude(current_settings.moduleswitches,cs_explicit_codepage);
+                include(current_settings.moduleswitches,cs_system_codepage);
                 if changeinit then
-                begin
-                  init_settings.sourcecodepage:=current_settings.sourcecodepage;
-                  include(init_settings.moduleswitches,cs_explicit_codepage);
-                end;
+                  begin
+                    init_settings.sourcecodepage:=current_settings.sourcecodepage;
+                    exclude(init_settings.moduleswitches,cs_explicit_codepage);
+                    include(init_settings.moduleswitches,cs_system_codepage);
+                  end;
               end
             else
               begin
-                exclude(current_settings.moduleswitches,cs_explicit_codepage);
+                { m_systemcodepage gets disabled -> reset sourcecodepage only if
+                  cs_explicit_codepage is not set (it may be set in the scenario
+                  where -FcXXX was passed on the command line and then "$mode
+                  fpc" is used, because then the caller of this routine will
+                  set the "$mode fpc" modeswitches (which don't include
+                  m_systemcodepage) and call this routine with m_none).
+
+                  Or it can happen if -FcXXX was passed, and the sourcefile
+                  contains "$modeswitch systemcodepage-" statement.
+
+                  Since we unset cs_system_codepage if m_systemcodepage gets
+                  activated, we will revert to the default code page if you
+                  set a source file code page, then enable the systemcode page
+                  and finally disable it again. We don't keep a stack of
+                  settings, by design. The only thing we have to ensure is that
+                  disabling m_systemcodepage if it wasn't on in the first place
+                  doesn't overwrite the sourcecodepage }
+                exclude(current_settings.moduleswitches,cs_system_codepage);
+                if not(cs_explicit_codepage in current_settings.moduleswitches) then
+                  current_settings.sourcecodepage:=default_settings.sourcecodepage;
                 if changeinit then
-                  exclude(init_settings.moduleswitches,cs_explicit_codepage);
+                  begin
+                    exclude(init_settings.moduleswitches,cs_system_codepage);
+                    if not(cs_explicit_codepage in init_settings.moduleswitches) then
+                      init_settings.sourcecodepage:=default_settings.sourcecodepage;
+                  end;
               end;
           end;
       end;
@@ -3416,6 +3457,7 @@ type
                        inc(inputpointer,3);
                        message(scan_c_switching_to_utf8);
                        current_settings.sourcecodepage:=CP_UTF8;
+                       exclude(current_settings.moduleswitches,cs_system_codepage);
                        include(current_settings.moduleswitches,cs_explicit_codepage);
                      end;
 

+ 5 - 4
compiler/symdef.pas

@@ -1149,7 +1149,7 @@ implementation
 
     function getansistringcodepage:tstringencoding; inline;
       begin
-        if cs_explicit_codepage in current_settings.moduleswitches then
+        if ([cs_explicit_codepage,cs_system_codepage]*current_settings.moduleswitches)<>[] then
           result:=current_settings.sourcecodepage
         else
           result:=0;
@@ -1159,9 +1159,9 @@ implementation
       var
         symtable:tsymtable;
       begin
-        { if codepage is explicitly defined in this mudule we need to return
+        { if a codepage is explicitly defined in this mudule we need to return
           a replacement for ansistring def }
-        if cs_explicit_codepage in current_settings.moduleswitches then
+        if ([cs_explicit_codepage,cs_system_codepage]*current_settings.moduleswitches)<>[] then
           begin
             if not assigned(current_module) then
               internalerror(2011101301);
@@ -1170,7 +1170,7 @@ implementation
             if not assigned(current_module.ansistrdef) then
               begin
                 { if we did not create it yet we need to do this now }
-                if current_module.is_unit then
+                if current_module.in_interface then
                   symtable:=current_module.globalsymtable
                 else
                   symtable:=current_module.localsymtable;
@@ -3134,6 +3134,7 @@ implementation
       begin
         inherited create(pointerdef,def);
         has_pointer_math:=cs_pointermath in current_settings.localswitches;
+        // Dump_Stack(Output,get_frame);
       end;
 
 

+ 1 - 1
compiler/systems/i_bsd.pas

@@ -735,7 +735,7 @@ unit i_bsd;
             linkextern   : ld_bsd;
             ar           : ar_gnu_ar;
             res          : res_macho;
-            dbg          : dbg_stabs;
+            dbg          : dbg_dwarf2;
             script       : script_unix;
             endian       : endian_little;
             alignment    :

+ 1 - 1
compiler/systems/t_linux.pas

@@ -937,7 +937,7 @@ begin
 {$endif AArch64}
 
 {$ifdef ARM}
-      if target_info.abi=abi_eabi then
+      if target_info.abi in [abi_eabi,abi_eabihf] then
         begin
           { from GNU ld (CodeSourcery Sourcery G++ Lite 2007q3-53) 2.18.50.20070820 }
           add('/* Script for -z combreloc: combine and sort reloc sections */');

+ 8 - 10
compiler/utils/samplecfg

@@ -76,17 +76,15 @@ FPCGLOBALPREFIX=`dirname "$1"`/../../
 echo Writing sample configuration file to $fpccfgfile
 ${FPCMKCFGBIN} -d "basepath=$FPCPATH" -d "sharepath=$SHAREPATH" -o $fpccfgfile
 
-if ! [ -f "$FPBIN" ] ; then
-  exit
-fi
-
-# Write fp.cfg
-echo Writing sample configuration file to $fpcfgfile
-${FPCMKCFGBIN} -p -1 -d "basepath=$FPCPATH" -d "sharepath=$SHAREPATH" -o $fpcfgfile
+if [ -f "$FPBIN" ] ; then
+  # Write fp.cfg
+  echo Writing sample configuration file to $fpcfgfile
+  ${FPCMKCFGBIN} -p -1 -d "basepath=$FPCPATH" -d "sharepath=$SHAREPATH" -o $fpcfgfile
 
-# Write fp.ini
-echo Writing sample configuration file to $fpinifile
-${FPCMKCFGBIN} -p -2 -o $fpinifile
+  # Write fp.ini
+  echo Writing sample configuration file to $fpinifile
+  ${FPCMKCFGBIN} -p -2 -o $fpinifile
+fi
 
 # Do not write fppkg configuration when fppkg is not available
 if ! [ -f "$FPPKGBIN" ] ; then

+ 20 - 8
compiler/widestr.pas

@@ -199,6 +199,7 @@ unit widestr;
          Result := getascii(c,getmap(current_settings.sourcecodepage))[1];
       end;
 
+
     procedure ascii2unicode(p : pchar;l : SizeInt;cp : tstringencoding;r : pcompilerwidestring;codepagetranslation : boolean = true);
       var
          source : pchar;
@@ -210,15 +211,25 @@ unit widestr;
          setlengthwidestring(r,l);
          source:=p;
          dest:=tcompilerwidecharptr(r^.data);
-         if (current_settings.sourcecodepage <> CP_UTF8) and
-            codepagetranslation then
+         if codepagetranslation then
            begin
-             for i:=1 to l do
-                begin
-                  dest^:=getunicode(source^,m);
-                  inc(dest);
-                  inc(source);
-                end;
+             if cp<>CP_UTF8 then
+               begin
+                 for i:=1 to l do
+                    begin
+                      dest^:=getunicode(source^,m);
+                      inc(dest);
+                      inc(source);
+                    end;
+               end
+             else
+               begin
+                 r^.len:=Utf8ToUnicode(punicodechar(r^.data),r^.maxlen,p,l);
+                 { -1, because utf8tounicode includes room for a terminating 0 in
+                   its result count }
+                 if r^.len>0 then
+                   dec(r^.len);
+               end;
            end
          else
            begin
@@ -231,6 +242,7 @@ unit widestr;
            end;
       end;
 
+
     procedure unicode2ascii(r : pcompilerwidestring;p:pchar;cp : tstringencoding);
       var
         m : punicodemap;

+ 5 - 0
compiler/x86_64/cpupara.pas

@@ -705,6 +705,11 @@ unit cpupara;
               def:=search_system_type('TVARDATA').typedef;
               result:=classify_argument(def,varspez,def.size,classes,byte_offset);
             end;
+          undefineddef:
+            { show shall we know?
+              since classify_argument is called during parsing, see tw27685.pp,
+              we handle undefineddef here }
+            result:=0;
           else
             internalerror(2010021405);
         end;

+ 2 - 2
compiler/x86_64/nx64flw.pas

@@ -509,7 +509,7 @@ procedure tx64tryexceptnode.pass_generate_code;
         cg.a_label(current_asmdata.CurrAsmList,breakexceptlabel);
         cg.g_call(current_asmdata.CurrAsmList,'FPC_DONEEXCEPTION');
         if (fc_unwind in flowcontrol) then
-          cg.g_local_unwind(current_asmdata.CurrAsmList,oldCurrExitLabel)
+          cg.g_local_unwind(current_asmdata.CurrAsmList,oldBreakLabel)
         else
           cg.a_jmp_always(current_asmdata.CurrAsmList,oldBreakLabel);
       end;
@@ -519,7 +519,7 @@ procedure tx64tryexceptnode.pass_generate_code;
         cg.a_label(current_asmdata.CurrAsmList,continueexceptlabel);
         cg.g_call(current_asmdata.CurrAsmList,'FPC_DONEEXCEPTION');
         if (fc_unwind in flowcontrol) then
-          cg.g_local_unwind(current_asmdata.CurrAsmList,oldCurrExitLabel)
+          cg.g_local_unwind(current_asmdata.CurrAsmList,oldContinueLabel)
         else
           cg.a_jmp_always(current_asmdata.CurrAsmList,oldContinueLabel);
       end;

+ 2 - 1
ide/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2226,6 +2226,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
ide/Makefile.fpc

@@ -33,9 +33,11 @@ LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 override NOCPUDEF=1
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 20 - 12
ide/fpini.pas

@@ -32,6 +32,7 @@ procedure SetPrinterDevice(const Device: string);
 implementation
 
 uses
+  sysutils, { used for SameFileName function }
   Dos,Objects,Drivers,
   FVConsts,
   Version,
@@ -233,10 +234,17 @@ begin
                ErrorBox(FormatStrStr(msg_errorwritingfile,CurDir+IniName),nil)
              else
                IniFileName:=CurDir+IniName;
-             if CopyFile(SwitchesPath,CurDir+SwitchesName)=false then
-               ErrorBox(FormatStrStr(msg_errorwritingfile,CurDir+SwitchesName),nil)
-             else
-               SwitchesPath:=CurDir+SwitchesName;
+             { copy also SwitchesPath to current dir, but only if
+               1) SwitchesPath exists
+               2) SwitchesPath is different from CurDir+SwitchesName }
+             if ExistsFile(SwitchesPath) and
+                not SameFileName(SwitchesPath,CurDir+SwitchesName) then
+               begin
+                 if CopyFile(SwitchesPath,CurDir+SwitchesName)=false then
+                   ErrorBox(FormatStrStr(msg_errorwritingfile,CurDir+SwitchesName),nil)
+                 else
+                   SwitchesPath:=CurDir+SwitchesName;
+               end;
            end;
        end
      else
@@ -604,7 +612,7 @@ begin
   { Files }
   { avoid keeping old files }
   INIFile^.DeleteSection(secFiles);
-  INIFile^.SetEntry(secFiles,ieOpenExts,'"'+OpenExts+'"');
+  INIFile^.SetEntry(secFiles,ieOpenExts,EscapeIniText(OpenExts));
   for I:=1 to High(RecentFiles) do
     begin
       if I<=RecentFileCount then
@@ -670,17 +678,17 @@ begin
   { Help }
   S:='';
   HelpFiles^.ForEach(@ConcatName);
-  INIFile^.SetEntry(secHelp,ieHelpFiles,'"'+S+'"');
+  INIFile^.SetEntry(secHelp,ieHelpFiles,EscapeIniText(S));
   { Editor }
   INIFile^.SetIntEntry(secEditor,ieDefaultTabSize,DefaultTabSize);
   INIFile^.SetIntEntry(secEditor,ieDefaultIndentSize,DefaultIndentSize);
   INIFile^.SetIntEntry(secEditor,ieDefaultEditorFlags,DefaultCodeEditorFlags);
   INIFile^.SetEntry(secEditor,ieDefaultSaveExt,DefaultSaveExt);
   { Highlight }
-  INIFile^.SetEntry(secHighlight,ieHighlightExts,'"'+HighlightExts+'"');
-  INIFile^.SetEntry(secHighlight,ieTabsPattern,'"'+TabsPattern+'"');
+  INIFile^.SetEntry(secHighlight,ieHighlightExts,EscapeIniText(HighlightExts));
+  INIFile^.SetEntry(secHighlight,ieTabsPattern,EscapeIniText(TabsPattern));
   { SourcePath }
-  INIFile^.SetEntry(secSourcePath,ieSourceList,'"'+SourceDirs+'"');
+  INIFile^.SetEntry(secSourcePath,ieSourceList,EscapeIniText(SourceDirs));
   { Mouse }
   INIFile^.SetIntEntry(secMouse,ieDoubleClickDelay,DoubleDelay);
   INIFile^.SetIntEntry(secMouse,ieReverseButtons,byte(MouseReverse));
@@ -710,9 +718,9 @@ begin
     begin
       S:=IntToStr(I);
       GetToolParams(I-1,S1,S2,S3,W);
-      if S1<>'' then S1:='"'+S1+'"';
-      if S2<>'' then S2:='"'+S2+'"';
-      if S3<>'' then S3:='"'+S3+'"';
+      if S1<>'' then S1:=EscapeIniText(S1);
+      if S2<>'' then S2:=EscapeIniText(S2);
+      if S3<>'' then S3:=EscapeIniText(S3);
       INIFile^.SetEntry(secTools,ieToolName+S,S1);
       INIFile^.SetEntry(secTools,ieToolProgram+S,S2);
       INIFile^.SetEntry(secTools,ieToolParams+S,S3);

+ 19 - 2
ide/fpmake.pp

@@ -192,9 +192,13 @@ begin
       P.Options.Add('-Fu../compiler/mips');
 
     P.Options.Add('-Sg');
+    P.IncludePath.Add('compiler');
 
     T:=P.Targets.AddProgram('fp.pas');
-    T.Dependencies.AddUnit('compunit');
+    with T.Dependencies do
+     begin
+      AddUnit('compunit');
+     end;
 
     T:=P.Targets.AddUnit('compunit.pas');
     T.Directory:='compiler';
@@ -212,7 +216,20 @@ begin
     P.InstallFiles.Add('tpgrep.tdf','$(bininstalldir)');
     P.InstallFiles.Add('fp32.ico', [win32, win64], '$(bininstalldir)');
 
-    P.Sources.AddDoc('readme.ide');
+    with P.Sources do
+     begin
+      AddDoc('readme.ide');
+      AddSrc('readme.txt');
+      AddSrc('todo.txt');
+      AddSrc('fp.ans');
+      AddSrcFiles('*.tdf');
+      AddSrcFiles('*.pas',true);
+      AddSrcFiles('*.inc',true);
+      AddSrcFiles('*.rc');
+      AddSrcFiles('*.ico');
+      AddSrcFiles('*.term');
+      AddSrcFiles('*.pt');
+     end;
 
     P.CleanFiles.Add('$(UNITSOUTPUTDIR)ppheap.ppu');
     P.CleanFiles.Add('$(UNITSOUTPUTDIR)compiler.ppu');

+ 106 - 34
ide/wini.pas

@@ -23,11 +23,13 @@ type
     PINIEntry = ^TINIEntry;
     TINIEntry = object(TObject)
       constructor Init(const ALine: string);
+      constructor Init(const ATag,AValue,AComment: string);
       function    GetText: string;
       function    GetTag: string;
       function    GetComment: string;
       function    GetValue: string;
       procedure   SetValue(const S: string);
+      procedure   SetComment(const S: string);
       destructor  Done; virtual;
     private
       TagHash  : Cardinal;
@@ -44,6 +46,7 @@ type
       constructor Init(const AName: string);
       function    GetName: string;
       function    AddEntry(const S: string): PINIEntry;
+      function    AddEntry(const Tag,Value,Comment: string): PINIEntry;
       function    SearchEntry(Tag: string): PINIEntry; virtual;
       procedure   DeleteEntry(Tag: string);
       procedure   ForEachEntry(EnumProc: pointer); virtual;
@@ -68,6 +71,7 @@ type
       procedure   ForEachEntry(const Section: string; EnumProc: pointer); virtual;
       function    GetEntry(const Section, Tag, Default: string): string; virtual;
       procedure   SetEntry(const Section, Tag, Value: string); virtual;
+      procedure   SetEntry(const Section, Tag, Value,Comment: string); virtual;
       function    GetIntEntry(const Section, Tag: string; Default: longint): longint; virtual;
       procedure   SetIntEntry(const Section, Tag: string; Value: longint); virtual;
       procedure   DeleteSection(const Section: string); virtual;
@@ -83,11 +87,38 @@ const MainSectionName : string[40] = 'MainSection';
       CommentChar     : char = ';';
       ValidStrDelimiters: set of char = ['''','"'];
 
+function EscapeIniText(S : string) : String;
+
 implementation
 
 uses
   WUtils;
 
+function EscapeIniText(S : string) : String;
+var
+  delimiter : char;
+  i: integer;
+begin
+  delimiter:=#0;
+  while delimiter < #255 do
+    begin
+      if (delimiter in ValidStrDelimiters) and
+         (pos(delimiter,S)=0) then
+        break;
+      delimiter:=succ(delimiter);
+    end;
+  if delimiter=#255 then
+    begin
+      { we use " delimiter, but the text also contains double quotes,
+        which need to be escaped, by doubling it }
+      delimiter:='"';
+      for i:=length(s) downto 1 do
+        if (s[i]=delimiter) then
+          s:=copy(s,1,i-1)+delimiter+copy(s,i+1,length(s));
+    end;
+  EscapeIniText:=delimiter+s+delimiter;
+end;
+
 {$IFOPT Q+}
   {$Q-}
   {$DEFINE REENABLE_Q}
@@ -120,11 +151,18 @@ begin
   Split;
 end;
 
+constructor TINIEntry.Init(const ATag,AValue,AComment: string);
+begin
+  inherited Init;
+  Tag:=NewStr(ATag);
+  Value:=NewStr(AValue);
+  Comment:=NewStr(AComment);
+  Text:=NewStr(GetText);
+end;
+
 
 function TINIEntry.GetText: string;
 var S,CoS: string;
-    delimiter : char;
-    i : longint;
 begin
   if Text=nil then
     begin
@@ -135,26 +173,7 @@ begin
           begin
             { if Value contains CommentChar, we need to add delimiters }
             if pos(CommentChar,S)>0 then
-              begin
-                delimiter:=#0;
-                while delimiter < #255 do
-                  begin
-                    if (delimiter in ValidStrDelimiters) and
-                       (pos(delimiter,S)=0) then
-                      break;
-                    delimiter:=succ(delimiter);
-                  end;
-                if delimiter=#255 then
-                  delimiter:='"';
-                { we use \", but we also need to escape \ itself }
-                for i:=length(s) downto 1 do
-                  if (s[i]=delimiter) then
-                    s:=copy(s,1,i-1)+'\'+delimiter+copy(s,i+1,length(s))
-                  else if (s[i]='\') then
-                    s:=copy(s,1,i-1)+'\\'+copy(s,i+1,length(s));
-
-                s:=delimiter+s+delimiter;
-              end;
+              S:=EscapeIniText(S);
             S:=S+' '+CommentChar+' '+CoS;
           end
     end
@@ -192,6 +211,17 @@ begin
   end;
 end;
 
+procedure TINIEntry.SetComment(const S: string);
+begin
+  if (GetComment<>S) then
+  begin
+    if Text<>nil then DisposeStr(Text); Text:=nil;
+    if Comment<>nil then DisposeStr(Comment);
+    Comment:=NewStr(S);
+    Modified:=true;
+  end;
+end;
+
 
 procedure TINIEntry.Split;
 var S,ValueS: string;
@@ -201,7 +231,8 @@ var S,ValueS: string;
     InString: boolean;
     Delimiter: char;
 begin
-  S:=GetText; Delimiter:=#0;
+  S:=GetText;
+  Delimiter:=#0;
   P:=Pos('=',S); P2:=Pos(CommentChar,S);
   if (P2<>0) and (P2<P) then
     P:=0;
@@ -219,15 +250,14 @@ begin
               Delimiter:=C;
               InString:=true;
             end
-          { if Value is delimited with ' or ", handle escaping }
-          else if (Delimiter<>#0) and (C='\') and (P2<length(S)) then
+          else if (C=Delimiter) then
             begin
-              inc(P2);
-              C:=S[P2];
-              ValueS:=ValueS+C;
+              { Delimiter inside escaped Value are simply doubled }
+              if (P2+1<length(S)) and (S[P2+1]=Delimiter) then
+                ValueS:=ValueS+Delimiter
+              else
+                InString:=not InString;
             end
-          else if C=Delimiter then
-            InString:=not InString
           else if (C=CommentChar) and (InString=false) then
             Break
           else
@@ -280,10 +310,47 @@ begin
 end;
 
 function TINISection.AddEntry(const S: string): PINIEntry;
+var
+  E: PINIEntry;
+  Tag : String;
+begin
+  if pos('=',S)>0 then
+    begin
+      Tag:=copy(S,1,pos('=',S)-1);
+      E:=SearchEntry(Tag);
+    end
+  else
+    E:=nil;
+  if not assigned(E) then
+    begin
+      New(E, Init(S));
+      Entries^.Insert(E);
+    end
+  else
+    begin
+      if assigned(E^.Text) then
+         DisposeStr(E^.Text);
+      E^.Text:=NewStr(S);
+      E^.Split;
+    end;
+  AddEntry:=E;
+end;
+
+function TINISection.AddEntry(const Tag,Value,Comment: string): PINIEntry;
 var E: PINIEntry;
 begin
-  New(E, Init(S));
-  Entries^.Insert(E);
+  E:=SearchEntry(Tag);
+  if not assigned(E) then
+    begin
+      New(E, Init(Tag,Value,Comment));
+      Entries^.Insert(E);
+    end
+  else
+    begin
+      E^.SetValue(Value);
+      if Comment<>'' then
+        E^.SetComment(Comment);
+    end;
   AddEntry:=E;
 end;
 
@@ -511,7 +578,7 @@ begin
   GetEntry:=S;
 end;
 
-procedure TINIFile.SetEntry(const Section, Tag, Value: string);
+procedure TINIFile.SetEntry(const Section, Tag, Value,Comment: string);
 var E: PINIEntry;
     P: PINISection;
 begin
@@ -525,13 +592,18 @@ begin
           New(P, Init(Section));
           Sections^.Insert(P);
         end;
-      E:=P^.AddEntry(Tag+'='+Value);
+      E:=P^.AddEntry(Tag,Value,Comment);
       E^.Modified:=true;
     end;
   if E<>nil then
     E^.SetValue(Value);
 end;
 
+procedure TINIFile.SetEntry(const Section, Tag, Value: string);
+begin
+  SetEntry(Section,Tag,Value,'');
+end;
+
 function TINIFile.GetIntEntry(const Section, Tag: string; Default: longint): longint;
 var L: longint;
 begin

+ 203 - 196
installer/install.dat

@@ -3,7 +3,8 @@
 #
 # Install file for Go32v2/Win32/OS2/EMX
 #
-# Warning: no package should contain more than 60 files
+# Warning: no package should contain more than 31 files (32-bit version
+# of TV/FV cannot hold more than 31 members of a checkbox group)
 
 title=Free Pascal Compiler 3.0.1
 version=3.0.1
@@ -89,51 +90,57 @@ package=ufcl-resdos.zip[ufcledos.zip],Free Component Library (FCL)-resources
 package=ubzip2dos.zip[ubz2dos.zip],Units for bzip2 decompression
 # Dos 31
 package=ufcl-jsdos.zip[ufcjsdos.zip],Free Component Library (FCL)-Javascript support
-# Dos 32
+
+#
+# Go32v2 packages 2nd part
+#
+pack=Dos/~G~o32v2-2
+filecheck=*dos.zip
+# Dos-2 1
 package=uhermesdos.zip[uhermdos.zip],Port of Hermes graphics library
-# Dos 33
+# Dos-2 2
 package=ufppkgdos.zip[ufppkdos.zip],Units for FPPkg packaging support
-# Dos 34
+# Dos-2 3
 package=ufcl-sounddos.zip[ufsnddos.zip],Free Component Library (FCL)-sound files
-# Dos 35
+# Dos-2 4
 package=ufcl-sdodos.zip[ufcsddos.zip],Free Component Library (FCL)-Service Data Objects
-# Dos 36
+# Dos-2 5
 package=ufcl-stldos.zip[ufcstdos.zip],Free Component Library (FCL)-generic container library
-# Dos 37
+# Dos-2 6
 package=ulibtardos.zip[ultardos.zip],Unit for .tar file handling
-# Dos 38
+# Dos-2 7
 package=urtl-consoledos.zip[urtlcdos.zip],RTL-console abstraction (keyboard, video & mouse)
-# Dos 39
+# Dos-2 8
 package=urtl-extrados.zip[urtledos.zip],RTL-additional units not needed for bootstrapping
-# Dos 40
+# Dos-2 9
 package=urtl-objpasdos.zip[urtlodos.zip],RTL-Object Pascal units (e.g. Delphi compatibility)
-# Dos 41
+# Dos-2 10
 package=urtl-unicodedos.zip[urtludos.zip],RTL-miscellaneous Unicode support units
-# Dos 42
+# Dos-2 11
 package=utils-fpcmkcfgdos.zip[fcmkdos.zip],Creation of Free Pascal configuration files
-# Dos 43
+# Dos-2 12
 package=utils-fpcmdos.zip[fpcmdos.zip],Generate Makefiles out of Makefile.fpc files
-# Dos 44
+# Dos-2 13
 package=utils-fpdocdos.zip[fpdocdos.zip],Free Pascal documentation generation utility
-# Dos 45
+# Dos-2 14
 package=utils-fppkgdos.zip[fppkgdos.zip],Free Pascal package repository utility
-# Dos 46
+# Dos-2 15
 package=utils-fprcpdos.zip[fprcpdos.zip],Free Pascal Resource Compiler Preprocessor
-# Dos 47
+# Dos-2 16
 package=utils-h2pasdos.zip[h2pasdos.zip],Create Pascal interface units from C headers
-# Dos 48
+# Dos-2 17
 package=utils-pas2fpmdos.zip[p2fmdos.zip],Generate fpmake.pp for Pascal source
-# Dos 49
+# Dos-2 18
 package=utils-pas2jnidos.zip[p2jndos.zip],Generate JNI bridge for Pascal code
-# Dos 50
+# Dos-2 19
 package=utils-pas2utdos.zip[p2utdos.zip],Pascal source to FPC Unit test generator
-# Dos 51
+# Dos-2 20
 package=utils-rmwaitdos.zip[rmwdos.zip],Remove (delete) file(s) with optional retries
-# Dos 52
+# Dos-2 21
 package=utils-lexyaccdos.zip[tplydos.zip],Compiler generator for TP and compatibles
-# Dos 53
+# Dos-2 22
 package=units-ptcdos.zip[uptcdos.zip],Free portable framebuffer library
-# Dos 54
+# Dos-2 23
 package=utils-dxegendos.zip[dxegdos.zip],Generation of D~X~E modules loadable at runtime
 
 #
@@ -196,6 +203,20 @@ package=units-openssl.i386-win32.zip,OpenSSL interface units
 package=units-hermes.i386-win32.zip,Port of Hermes graphics library
 # Win32 24
 package=units-fppkg.i386-win32.zip,Units for FPPkg packaging support
+# Win32 25
+package=units-fcl-sdo.i386-win32.zip,Free Component Library (FCL)-Service Data Objects
+# Win32 26
+package=units-fcl-stl.i386-win32.zip,Free Component Library (FCL)-generic container library
+# Win32 27
+package=units-libtar.i386-win32.zip,Unit for .tar file handling
+# Win32 28
+package=units-rtl-console.i386-win32.zip,RTL-console abstraction (keyboard, video & mouse)
+# Win32 29
+package=units-rtl-extra.i386-win32.zip,RTL-additional units not needed for bootstrapping
+# Win32 30
+package=units-rtl-objpas.i386-win32.zip,RTL-Object Pascal units (e.g. Delphi compatibility)
+# Win32 31
+package=units-rtl-unicode.i386-win32.zip,RTL-miscellaneous Unicode support units
 
 #
 # Win32 packages 2nd part
@@ -246,39 +267,25 @@ package=units-fcl-web.i386-win32.zip,Free Component Library (FCL)-Web
 package=units-fcl-xml.i386-win32.zip,Free Component Library (FCL)-XML
 # Win32-2 22
 package=units-fcl-json.i386-win32.zip,Free Component Library (FCL)-JSON interface
+# Win32-2
+#package=units-fcl-async.i386-win32.zip,Free Component Library (FCL)-asynchronous events
 # Win32-2 23
-package=units-fcl-async.i386-win32.zip,Free Component Library (FCL)-asynchronous events
-# Win32-2 24
 package=units-fcl-process.i386-win32.zip,Free Component Library (FCL)-process management
-# Win32-2 25
+# Win32-2 24
 package=units-chm.i386-win32.zip,Support for .chm files handling
-# Win32-2 26
+# Win32-2 25
 package=units-libgd.i386-win32.zip,GD library interface unit
-# Win32-2 27
+# Win32-2 26
 package=units-symbolic.i386-win32.zip,Symbolic (unit for parsing and evaluating expressions)
-# Win32-2 28
+# Win32-2 27
 package=units-fcl-res.i386-win32.zip,Free Component Library (FCL)-resources
-# Win32-2 29
+# Win32-2 28
 package=units-bzip2.i386-win32.zip,Units for bzip2 decompression
-# Win32-2 30
+# Win32-2 29
 package=units-fcl-js.i386-win32.zip,Free Component Library (FCL)-Javascript support
-# Win32-2 31
+# Win32-2 30
 package=units-fcl-sound.i386-win32.zip,Free Component Library (FCL)-sound files
-# Win32-2 32
-package=units-fcl-sdo.i386-win32.zip,Free Component Library (FCL)-Service Data Objects
-# Win32-2 33
-package=units-fcl-stl.i386-win32.zip,Free Component Library (FCL)-generic container library
-# Win32-2 34
-package=units-libtar.i386-win32.zip,Unit for .tar file handling
-# Win32-2 35
-package=units-rtl-console.i386-win32.zip,RTL-console abstraction (keyboard, video & mouse)
-# Win32-2 36
-package=units-rtl-extra.i386-win32.zip,RTL-additional units not needed for bootstrapping
-# Win32-2 37
-package=units-rtl-objpas.i386-win32.zip,RTL-Object Pascal units (e.g. Delphi compatibility)
-# Win32-2 38
-package=units-rtl-unicode.i386-win32.zip,RTL-miscellaneous Unicode support units
-# Win32-2 39
+# Win32-1 31
 package=utils-unicode.i386-win32.zip,Transformation of Unicode consortium data for FPC
 
 #
@@ -332,112 +339,112 @@ package=ufcl-passrcos2.zip[ufclsos2.zip],Free Component Library (FCL)-Pascal sou
 package=ufcl-registryos2.zip[ufclros2.zip],Free Component Library (FCL)-registry
 # OS/2 19
 package=ufcl-xmlos2.zip[ufclxos2.zip],Free Component Library (FCL)-XML
-# OS/2 20
+# OS/2
 #package=ufcl-webos2.zip[ufclwos2.zip],Free Component Library (FCL)-Web
-# OS/2 21
+# OS/2 20
 package=uhermesos2.zip[uhermos2.zip],Port of Hermes graphics library
-# OS/2 22
+# OS/2 21
 package=ufppkgos2.zip[ufppkos2.zip],Units for FPPkg packaging support
-# OS/2 23
+# OS/2 22
 package=uopensslos2.zip[uosslos2.zip],OpenSSL interface units
-# OS/2 24
+# OS/2 23
 package=utils-fpcmkcfgos2.zip[fcmkos2.zip],Creation of Free Pascal configuration files
-# OS/2 25
+# OS/2 24
 package=utils-fpdocos2.zip[fpdocos2.zip],Free Pascal documentation generation utility
-# OS/2 26
+# OS/2 25
 package=utils-fpmcos2.zip[fpmcos2.zip],Free Pascal Message Compiler
-# OS/2 27
+# OS/2 26
 package=utils-fppkgos2.zip[fppkgos2.zip],Free Pascal package repository utility
-# OS/2 28
+# OS/2 27
 package=utils-fprcpos2.zip[fprcpos2.zip],Free Pascal Resource Compiler Preprocessor
-# OS/2 29
+# OS/2 28
 package=utils-fpcresos2.zip[fpresos2.zip],Free Pascal Resource Converter
-# OS/2 30
+# OS/2 29
 package=utils-pas2fpmos2.zip[p2fmos2.zip],Generate fpmake.pp for Pascal source
-# OS/2 31
+# OS/2 30
 package=utils-pas2jnios2.zip[p2jnos2.zip],Generate JNI bridge for Pascal code
-# OS/2 32
+# OS/2 31
 package=utils-pas2utos2.zip[p2utos2.zip],Pascal source to FPC Unit test generator
-# OS/2 33
-package=utils-rmwaitos2.zip[rmwos2.zip],Remove (delete) file(s) with optional retries
-# OS/2 34
-package=utils-lexyaccos2.zip[tplyos2.zip],Compiler generator for TP and compatibles
-# OS/2 35
-package=utils-fpcmos2.zip[fpcmos2.zip],Generate Makefiles out of Makefile.fpc files
-# OS/2 36
-package=utils-unicodeos2.zip[ucodeos2.zip],Transformation of Unicode consortium data for FPC
 
 #
 # OS/2 packages 2nd part
 #
 pack=OS/~2~-2
 filecheck=*os2.zip
-# OS/2-2 1
+# OS/2-2
 #package=ugdbintos2.zip[ugdbos2.zip],GDB interfacing units
-# OS/2-2 2
+# OS/2-2 1
 package=upaszlibos2.zip[upzlos2.zip],PasZLib units
-# OS/2-2 3
+# OS/2-2 2
 package=uregexpros2.zip[uregos2.zip],Regular expression units
-# OS/2-2 4
+# OS/2-2 3
 package=urexxos2.zip,REXX SAA interface units
-# OS/2-2 5
+# OS/2-2 4
 package=uunzipos2.zip[uzipos2.zip],Unzip units
-# OS/2-2 6
+# OS/2-2
 #package=uftpapios2.zip[uftpos2.zip],FTP API interface units
-# OS/2-2 7
+# OS/2-2
 #package=uhwvideoos2.zip[uhwvos2.zip],HW Video interface units
-# OS/2-2 8
+# OS/2-2
 #package=ummtkos2.zip,MMOS/2 interface units
-# OS/2-2 9
+# OS/2-2 5
 package=ux11os2.zip,X Window (X11) interface units
-# OS/2-2 10
+# OS/2-2 6
 package=ugtk1os2.zip,GTK1 interface units
-# OS/2-2 11
+# OS/2-2 7
 package=ufpgtkos2.zip[ufpgtos2.zip],Lightweight OOP wrapper over GTK1
-# OS/2-2 12
+# OS/2-2 8
 package=uimlibos2.zip[uimlbos2.zip],ImLib interface units
-# OS/2-2 13
+# OS/2-2 9
 package=ulibpngos2.zip[ulpngos2.zip],LibPNG interface units
-# OS/2-2 14
+# OS/2-2 10
 package=utclos2.zip,TCL interface units
-# OS/2-2 15
+# OS/2-2 11
 package=uzlibos2.zip,ZLib interface units
-# OS/2-2 16
+# OS/2-2 12
 package=ufpmkunitos2.zip[ufpmkos2.zip],Units required for building fpmake.exe
-# OS/2-2 17
+# OS/2-2 13
 package=ufcl-jsonos2.zip[ufcljos2.zip],Free Component Library (FCL)-JSON interface
-# OS/2-2 18
-package=ufcl-asyncos2.zip[ufclaos2.zip],Free Component Library (FCL)-asynchronous events
-# OS/2-2 19
+# OS/2-2
+#package=ufcl-asyncos2.zip[ufclaos2.zip],Free Component Library (FCL)-asynchronous events
+# OS/2-2 14
 package=ufcl-processos2.zip[ufclpos2.zip],Free Component Library (FCL)-process management
-# OS/2-2 20
+# OS/2-2 15
 package=uchmos2.zip,Support for .chm files handling
-# OS/2-2 21
+# OS/2-2 16
 package=ulibgdos2.zip[ulgdos2.zip],GD library interface unit
-# OS/2-2 22
+# OS/2-2 17
 package=usymbolicos2.zip[usymbos2.zip],Symbolic (unit for parsing and evaluating expressions)
-# OS/2-2 23
+# OS/2-2 18
 package=ufcl-resos2.zip[ufcleos2.zip],Free Component Library (FCL)-resources
-# OS/2-2 24
+# OS/2-2 19
 package=ubzip2os2.zip[ubz2os2.zip],Units for bzip2 decompression
-# OS/2-2 25
+# OS/2-2 20
 package=ufcl-jsos2.zip[ufcjsos2.zip],Free Component Library (FCL)-Javascript support
-# OS/2-2 26
+# OS/2-2 21
 package=ufcl-soundos2.zip[ufsndos2.zip],Free Component Library (FCL)-sound files
-# OS/2-2 27
+# OS/2-2 22
 package=ufcl-sdoos2.zip[ufcsdos2.zip],Free Component Library (FCL)-Service Data Objects
-# OS/2-2 28
+# OS/2-2 23
 package=ufcl-stlos2.zip[ufcstos2.zip],Free Component Library (FCL)-generic container library
-# OS/2-2 29
+# OS/2-2 24
 package=ulibtaros2.zip[ultaros2.zip],Unit for .tar file handling
-# OS/2-2 30
+# OS/2-2 25
 package=urtl-consoleos2.zip[urtlcos2.zip],RTL-console abstraction (keyboard, video & mouse)
-# OS/2-2 31
+# OS/2-2 26
 package=urtl-extraos2.zip[urtleos2.zip],RTL-additional units not needed for bootstrapping
-# OS/2-2 32
+# OS/2-2 27
 package=urtl-objpasos2.zip[urtloos2.zip],RTL-Object Pascal units (e.g. Delphi compatibility)
-# OS/2-2 33
+# OS/2-2 28
 package=urtl-unicodeos2.zip[urtluos2.zip],RTL-miscellaneous Unicode support units
+# OS/2-2 29
+package=utils-rmwaitos2.zip[rmwos2.zip],Remove (delete) file(s) with optional retries
+# OS/2-2 30
+package=utils-lexyaccos2.zip[tplyos2.zip],Compiler generator for TP and compatibles
+# OS/2-2 31
+package=utils-fpcmos2.zip[fpcmos2.zip],Generate Makefiles out of Makefile.fpc files
+# OS/2-2 32
+package=utils-unicodeos2.zip[ucodeos2.zip],Transformation of Unicode consortium data for FPC
 
 
 
@@ -470,136 +477,136 @@ package=ufvemx.zip,Free ~V~ision (FV)
 # EMX 8
 package=uos2unitsemx.zip[uos2emx.zip],Units interfacing libraries delivered with OS/2/eCS
 #package=uclkdllemx.zip[uclkemx.zip],CLKDLL interface unit (eCS 1.1+)
-# EMX 9
+# EMX
 #package=ulvmemx.zip,LVM interface unit (OS/2 v4.5 / eCS)
-# EMX 10
+# EMX 9
 package=upasjpegemx.zip[upjpemx.zip],Pas~J~PEG units
-# EMX 11
+# EMX 10
 package=uhashemx.zip,Hash calculation units
-# EMX 12
+# EMX 11
 package=ufcl-baseemx.zip[ufclbemx.zip],Free Component Library (FCL)-base part
-# EMX 13
+# EMX 12
 package=ufcl-dbemx.zip[ufcldemx.zip],Free Component Library (FCL)-datasets
-# EMX 14
+# EMX 13
 package=ufcl-fpcunitemx.zip[ufcluemx.zip],Free Component Library (FCL)-FPCUnit
-# EMX 15
+# EMX 14
 package=ufcl-imageemx.zip[ufcliemx.zip],Free Component Library (FCL)-images
-# EMX 16
+# EMX 15
 package=ufcl-netemx.zip[ufclnemx.zip],Free Component Library (FCL)-network
-# EMX 17
+# EMX 16
 package=ufcl-passrcemx.zip[ufclsemx.zip],Free Component Library (FCL)-Pascal sources processing
-# EMX 18
+# EMX 17
 package=ufcl-registryemx.zip[ufclremx.zip],Free Component Library (FCL)-registry
-# EMX 19
+# EMX 18
 package=ufcl-xmlemx.zip[ufclxemx.zip],Free Component Library (FCL)-XML
-# EMX 20
+# EMX
 #package=ufcl-webemx.zip[ufclwemx.zip],Free Component Library (FCL)-Web
-# EMX 21
+# EMX 19
 package=uhermesemx.zip[uhermemx.zip],Port of Hermes graphics library
-# EMX 22
+# EMX 20
 package=ufppkgemx.zip[ufppkemx.zip],Units for FPPkg packaging support
-# EMX 23
+# EMX 21
 package=uopensslemx.zip[uosslemx.zip],OpenSSL interface units
-# EMX 24
+# EMX 22
 package=utils-fpcmkcfgemx.zip[fcmkemx.zip],Creation of Free Pascal configuration files
-# EMX 25
+# EMX 23
 package=utils-fpdocemx.zip[fpdocemx.zip],Free Pascal documentation generation utility.
-# EMX 26
+# EMX 24
 package=utils-fpmcemx.zip[fpmcemx.zip],Free Pascal Message Compiler.
-# EMX 27
+# EMX 25
 package=utils-fppkgemx.zip[fppkgemx.zip],Free Pascal package repository utility.
-# EMX 28
+# EMX 26
 package=utils-fprcpemx.zip[fprcpemx.zip],Free Pascal Resource Compiler Preprocessor
-# EMX 29
+# EMX 27
 package=utils-fpcresemx.zip[fpresemx.zip],Free Pascal Resource Converter
-# EMX 30
+# EMX 28
 package=utils-h2pasemx.zip[h2pasemx.zip],Create Pascal interface units from C headers
-# EMX 31
+# EMX 29
 package=utils-pas2fpmemx.zip[p2fmemx.zip],Generate fpmake.pp for Pascal source
-# EMX 32
+# EMX 30
 package=utils-pas2jniemx.zip[p2jnemx.zip],Generate JNI bridge for Pascal code
-# EMX 33
+# EMX 31
 package=utils-pas2utemx.zip[p2utemx.zip],Pascal source to FPC Unit test generator
-# EMX 34
-package=utils-rmwaitemx.zip[rmwemx.zip],Remove (delete) file(s) with optional retries
-# EMX 35
-package=utils-lexyaccemx.zip[tplyemx.zip],Compiler generator for TP and compatibles
-# EMX 36
-package=utils-fpcmemx.zip[fpcmemx.zip],Generate Makefiles out of Makefile.fpc files
-# EMX 37
-package=utils-unicodeemx.zip[ucodeemx.zip],Transformation of Unicode consortium data for FPC
 
 #
 # EMX packages 2nd part
 #
 pack=E~M~X-2
 filecheck=*emx.zip
-# EMX-2 1
+# EMX-2
 #package=ugdbintemx.zip[ugdbemx.zip],GDB interfacing units
-# EMX-2 2
+# EMX-2 1
 package=upaszlibemx.zip[upzlemx.zip],PasZLib units
-# EMX-2 3
+# EMX-2 2
 package=uregexpremx.zip[uregemx.zip],Regular expression units
-# EMX-2 4
+# EMX-2 3
 package=urexxemx.zip,REXX SAA interface units
-# EMX-2 5
+# EMX-2 4
 package=uunzipemx.zip[uzipemx.zip],Unzip units
-# EMX-2 6
+# EMX-2
 #package=uftpapiemx.zip[uftpemx.zip],FTP API interface units
-# EMX-2 7
+# EMX-2
 #package=uhwvideoemx.zip[uhwvemx.zip],HW Video interface units
-# EMX-2 8
+# EMX-2
 #package=ummtkemx.zip,MMOS/2 interface units
-# EMX-2 9
+# EMX-2 5
 package=ux11emx.zip,X Window (X11) interface units
-# EMX-2 10
+# EMX-2 6
 package=ugtk1emx.zip,GTK1 interface units
-# EMX-2 11
+# EMX-2 7
 package=units-fpgtkemx.zip[ufpgtemx.zip],Lightweight OOP wrapper over GTK1
-# EMX-2 12
+# EMX-2 8
 package=uimlibemx.zip[uimlbemx.zip],ImLib interface units
-# EMX-2 13
+# EMX-2 9
 package=ulibpngemx.zip[ulpngemx.zip],LibPNG interface units
-# EMX-2 14
+# EMX-2 10
 package=utclemx.zip,TCL interface units
-# EMX-2 15
+# EMX-2 11
 package=uzlibemx.zip,ZLib interface units
-# EMX-2 16
+# EMX-2 12
 package=ufpmkunitemx.zip[ufpmkemx.zip],Units required for building fpmake.exe
-# EMX-2 17
+# EMX-2 13
 package=ufcl-jsonemx.zip[ufcljemx.zip],Free Component Library (FCL)-JSON interface
-# EMX-2 18
-package=ufcl-asyncemx.zip[ufclaemx.zip],Free Component Library (FCL)-asynchronous events
-# EMX-2 19
+# EMX-2
+#package=ufcl-asyncemx.zip[ufclaemx.zip],Free Component Library (FCL)-asynchronous events
+# EMX-2 14
 package=ufcl-processemx.zip[ufclpemx.zip],Free Component Library (FCL)-process management
-# EMX-2 20
+# EMX-2 15
 package=uchmemx.zip,Support for .chm files handling
-# EMX-2 21
+# EMX-2 16
 package=ulibgdemx.zip[ulgdemx.zip],GD library interface unit
-# EMX-2 22
+# EMX-2 17
 package=usymbolicemx.zip[usymbemx.zip],Symbolic (unit for parsing and evaluating expressions)
-# EMX-2 23
+# EMX-2 18
 package=ufcl-resemx.zip[ufcleemx.zip],Free Component Library (FCL)-resources
-# EMX-2 24
+# EMX-2 19
 package=ubzip2emx.zip[ubz2emx.zip],Units for bzip2 decompression
-# EMX-2 25
+# EMX-2 20
 package=ufcl-jsemx.zip[ufcjsemx.zip],Free Component Library (FCL)-Javascript support
-# EMX-2 26
+# EMX-2 21
 package=ufcl-soundemx.zip[ufsndemx.zip],Free Component Library (FCL)-sound files
-# EMX-2 27
+# EMX-2 22
 package=ufcl-sdoemx.zip[ufcsdemx.zip],Free Component Library (FCL)-Service Data Objects
-# EMX-2 28
+# EMX-2 23
 package=ufcl-stlemx.zip[ufcstemx.zip],Free Component Library (FCL)-generic container library
-# EMX-2 29
+# EMX-2 24
 package=ulibtaremx.zip[ultaremx.zip],Unit for .tar file handling
-# EMX-2 30
+# EMX-2 25
 package=urtl-consoleemx.zip[urtlcemx.zip],RTL-console abstraction (keyboard, video & mouse)
-# EMX-2 31
+# EMX-2 26
 package=urtl-extraemx.zip[urtleemx.zip],RTL-additional units not needed for bootstrapping
-# EMX-2 32
+# EMX-2 27
 package=urtl-objpasemx.zip[urtloemx.zip],RTL-Object Pascal units (e.g. Delphi compatibility)
-# EMX-2 33
+# EMX-2 28
 package=urtl-unicodeemx.zip[urtluemx.zip],RTL-miscellaneous Unicode support units
+# EMX-2 29
+package=utils-rmwaitemx.zip[rmwemx.zip],Remove (delete) file(s) with optional retries
+# EMX-2 30
+package=utils-lexyaccemx.zip[tplyemx.zip],Compiler generator for TP and compatibles
+# EMX-2 31
+package=utils-fpcmemx.zip[fpcmemx.zip],Generate Makefiles out of Makefile.fpc files
+# EMX-3 32
+package=utils-unicodeemx.zip[ucodeemx.zip],Transformation of Unicode consortium data for FPC
 
 
 #
@@ -685,10 +692,6 @@ package=utils-pas2jni.source.zip[p2jnsrc.zip],Generate JNI bridge for Pascal cod
 package=utils-pas2ut.source.zip[p2utsrc.zip],Pascal source to FPC Unit test generator
 # Source 31
 package=utils-rmwait.source.zip[rmwsrc.zip],Remove (delete) file(s) with optional retries
-# Source 32
-package=utils-lexyacc.source.zip[tplysrc.zip],Compiler generator for TP and compatibles
-# Source 33
-package=utils-unicode.source.zip[ucodesrc.zip],Transformation of Unicode consortium data for FPC
 
 #
 # Source packages 2nd part
@@ -706,52 +709,56 @@ package=units-ibase.source.zip[uibassrc.zip],Interbase interface units sources
 # Source-2 5
 package=units-mysql.source.zip[umysqsrc.zip],MySQL interface units sources
 # Source-2 6
-#package=units-ftpapi.source.zip[uftpsrc.zip],OS/2 FTP API interface units
+package=utils-lexyacc.source.zip[tplysrc.zip],Compiler generator for TP and compatibles
 # Source-2 7
+package=utils-unicode.source.zip[ucodesrc.zip],Transformation of Unicode consortium data for FPC
+# Source-2
+#package=units-ftpapi.source.zip[uftpsrc.zip],OS/2 FTP API interface units
+# Source-2
 #package=units-hwvideo.source.zip[uhwvsrc.zip],OS/2 HWVideo interface units
-# Source-2 8
+# Source-2
 #package=units-mmtk.source.zip[ummtksrc.zip],MMOS/2 interface units sources
-# Source-2 9
+# Source-2 8
 package=units-os2units.source.zip[uos2src.zip],Units interfacing libraries delivered with OS/2/eCS
 #package=units-clkdll.source.zip[uclksrc.zip],CLKDLL interface unit (eCS 1.1+)
-# Source-2 10
+# Source-2 9
 #package=units-lvm.source.zip[ulvmsrc.zip],OS/2 LVM interface unit sources
 package=units-gtk1.source.zip[ugtk1src.zip],Header to the GTK widgetset (v1)
-# Source-2 11
+# Source-2 10
 package=units-pasjpeg.source.zip[upjpsrc.zip],PasJPEG units sources
-# Source-2 12
+# Source-2 11
 package=units-fv.source.zip[ufvsrc.zip],Free ~V~ision (FV) sources
-# Source-2 13
+# Source-2 12
 package=units-libpng.source.zip[ulpngsrc.zip],LibPNG interface units sources
-# Source-2 14
+# Source-2 13
 package=units-imlib.source.zip[uimlbsrc.zip],ImLib interface units sources
-# Source-2 15
+# Source-2 14
 package=units-fpgtk.source.zip[ufpgtsrc.zip],Lightweight OOP wrapper over GTK1 sources
-# Source-2 16
+# Source-2 15
 package=units-sqlite.source.zip[usqltsrc.zip],SQLite interface units sources
-# Source-2 17
+# Source-2 16
 package=units-fpmkunit.source.zip[ufpmksrc.zip],Units required for building fpmake.exe
-# Source-2 18
+# Source-2 17
 package=fcl-json.source.zip[ufcljsrc.zip],Free Component Library (FCL)-JSON interface
-# Source-2 19
+# Source-2 18
 package=fcl-async.source.zip[ufclasrc.zip],Free Component Library (FCL)-asynchronous events
-# Source-2 20
+# Source-2 19
 package=fcl-process.source.zip[ufclpsrc.zip],Free Component Library (FCL)-process management
-# Source-2 21
+# Source-2 20
 package=units-chm.source.zip[uchmsrc.zip],Support for .chm files handling
-# Source-2 22
+# Source-2 21
 package=units-libgd.source.zip[ulgdsrc.zip],GD library interface unit
-# Source-2 23
+# Source-2 22
 package=units-symbolic.source.zip[usymbsrc.zip],Symbolic (unit for parsing and evaluating expressions)
-# Source-2 24
+# Source-2 23
 package=units-fcl-res.source.zip[ufclesrc.zip],Free Component Library (FCL)-resources
-# Source-2 25
+# Source-2 24
 package=units-bzip2.source.zip[ubz2src.zip],Units for bzip2 decompression
-# Source-2 26
+# Source-2 25
 package=fcl-js.source.zip[ufcjssrc.zip],Free Component Library (FCL)-Javascript support
-# Source-2 27
+# Source-2 26
 package=units-ptc.source.zip[uptcsrc.zip],Free portable framebuffer library
-# Source-2 28
+# Source-2 27
 package=units-x11.source.zip[ux11src.zip],X Window (X11) interface units
 
 

+ 5 - 5
installer/install.pas

@@ -1,6 +1,6 @@
 {
     This file is part of the Free Pascal run time library.
-    Copyright (c) 1993-98 by Florian Klaempfl
+    Copyright (c) 1993-2015 by Florian Klaempfl
     member of the Free Pascal development team
 
     This is the install program for the DOS and OS/2 versions of Free Pascal
@@ -94,11 +94,11 @@ program install;
 
   const
      installerversion='3.0.1';
-     installercopyright='Copyright (c) 1993-2011 Florian Klaempfl';
+     installercopyright='Copyright (c) 1993-2015 Florian Klaempfl';
 
 
      maxpacks=20;
-     maxpackages=60;
+     maxpackages=32;
      maxdefcfgs=1024;
 
      HTMLIndexExt = '.htx';
@@ -912,7 +912,7 @@ program install;
           S := 'Extend your LIBPATH with ''' + S;
          System.Delete (S, Length (S) - 6, 7);
          S := S + 'dll''';
-         R.Assign (2, YB - 14, 64, YB - 12);
+         R.Assign (2, YB - 15, 64, YB - 13);
          P := New (PStaticText, Init (R, S));
          Insert (P);
        end;
@@ -1135,7 +1135,7 @@ program install;
        found:=false;
        for j:=1 to cfg.packs do
         if packmask[j]<>0 then
-         found:=true;
+          found:=true;
        if not found then
         begin
           messagebox('No components found to install, aborting.',nil,mferror+mfokbutton);

+ 4 - 4
packages/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -1652,6 +1652,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif
@@ -1664,11 +1665,10 @@ ifndef BUILDFULLNATIVE
 FPMAKE_OPT+=-sp
 endif
 .NOTPARALLEL:
-fpmkunit_bootstrap:
-	$(MAKE) -C fpmkunit bootstrap
 fpmkunit_clean_bootstrap:
 	$(MAKE) -C fpmkunit clean_bootstrap
-fpmake$(SRCEXEEXT): fpmake.pp fpmkunit_bootstrap $(SUB_FPMAKE_SRCS) fpmake_add.inc fpmake_proc.inc
+fpmake$(SRCEXEEXT): fpmake.pp $(SUB_FPMAKE_SRCS) fpmake_add.inc fpmake_proc.inc
+	$(MAKE) -C fpmkunit bootstrap
 	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT) $(OPT)
 all:	fpmake$(SRCEXEEXT)
 	$(LOCALFPMAKE) compile $(FPMAKE_OPT)

+ 5 - 4
packages/Makefile.fpc

@@ -49,9 +49,11 @@ endif
 SUB_FPMAKE_SRCS=$(wildcard */fpmake.pp)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
@@ -66,11 +68,10 @@ FPMAKE_OPT+=-sp
 endif
 .NOTPARALLEL:
 
-fpmkunit_bootstrap:
-	$(MAKE) -C fpmkunit bootstrap
 fpmkunit_clean_bootstrap:
 	$(MAKE) -C fpmkunit clean_bootstrap
-fpmake$(SRCEXEEXT): fpmake.pp fpmkunit_bootstrap $(SUB_FPMAKE_SRCS) fpmake_add.inc fpmake_proc.inc
+fpmake$(SRCEXEEXT): fpmake.pp $(SUB_FPMAKE_SRCS) fpmake_add.inc fpmake_proc.inc
+	$(MAKE) -C fpmkunit bootstrap
 	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT) $(OPT)
 all:	fpmake$(SRCEXEEXT)
 	$(LOCALFPMAKE) compile $(FPMAKE_OPT)

+ 2 - 1
packages/a52/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/a52/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/ami-extra/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/ami-extra/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/amunits/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/amunits/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/arosunits/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/arosunits/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/aspell/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/aspell/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/bfd/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/bfd/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/bzip2/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/bzip2/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/cairo/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/cairo/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/cdrom/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/cdrom/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/chm/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/chm/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/cocoaint/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/cocoaint/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/dblib/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/dblib/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/dbus/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/dbus/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/dts/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/dts/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fastcgi/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fastcgi/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-async/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-async/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-base/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-base/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-db/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-db/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 12 - 0
packages/fcl-db/src/sqldb/mysql/mysql57conn.pas

@@ -0,0 +1,12 @@
+{
+  Contains the TMysqlConnection for MySQL 5.7
+}
+
+unit mysql57conn;
+
+{$DEFINE MYSQL57_UP}
+{$DEFINE MYSQL57}
+
+{$i mysqlconn.inc}
+
+end.

+ 2 - 3
packages/fcl-db/src/sqldb/mysql/mysqlconn.inc

@@ -392,9 +392,8 @@ begin
       end;
     end;
 
-  HMySQL:=mysql_real_connect(HMySQL,PChar(HostName),PChar(UserName),PChar(Password),Nil,APort,Nil,CLIENT_MULTI_RESULTS); //CLIENT_MULTI_RESULTS is required by CALL SQL statement(executes stored procedure), that produces result sets
-  If (HMySQL=Nil) then
-    MySQLError(Nil,SErrServerConnectFailed,Self);
+  if mysql_real_connect(HMySQL,PChar(HostName),PChar(UserName),PChar(Password),Nil,APort,Nil,CLIENT_MULTI_RESULTS) = nil then //CLIENT_MULTI_RESULTS is required by CALL SQL statement(executes stored procedure), that produces result sets
+    MySQLError(HMySQL,SErrServerConnectFailed,Self);
 
   if (trim(CharSet) <> '') then
     // major_version*10000 + minor_version *100 + sub_version

+ 2 - 1
packages/fcl-extra/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-extra/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-fpcunit/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-fpcunit/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-image/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-image/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-js/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-js/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-json/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-json/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-net/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-net/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-passrc/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-passrc/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-process/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -1807,6 +1807,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-process/Makefile.fpc

@@ -52,9 +52,11 @@ override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FPMKUNIT)
 endif
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-registry/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-registry/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-res/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-res/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-sdo/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-sdo/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-sound/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-sound/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-stl/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-stl/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-web/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-web/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fcl-xml/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fcl-xml/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fftw/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fftw/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fpgtk/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

+ 3 - 1
packages/fpgtk/Makefile.fpc

@@ -26,9 +26,11 @@ endif
 LOCALFPMAKE=./fpmake$(SRCEXEEXT)
 
 [rules]
-# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
+# Do not pass the Makefile's unit and binary target locations. Fpmake uses it's own.
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+# Do not pass the package-unitdirectories. Fpmake adds those and this way they don't apear in the .fpm
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 # Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)

+ 2 - 1
packages/fpindexer/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29416]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-10-06 rev 31969]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
@@ -2373,6 +2373,7 @@ include fpcmake.loc
 endif
 override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
 override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
+override FPCOPT:=$(filter-out $(addprefix -Fu,$(COMPILER_UNITDIR)),$(FPCOPT))# Compose general fpmake-parameters
 ifdef FPMAKEOPT
 FPMAKE_OPT+=$(FPMAKEOPT)
 endif

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff