Browse Source

* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
* rename the m68k/PowerPC-MacOS targets to m68k/PowerPC-MacOSClassic
* repurpose the AArch64/Darwin target for AArch64/macOS
o make AArch64-Darwin default target for a hosted AArch64-Darwin compiler

git-svn-id: trunk@45758 -

Jonas Maebe 5 năm trước cách đây
mục cha
commit
e7d1a77f9a
100 tập tin đã thay đổi với 288 bổ sung194 xóa
  1. 1 1
      Makefile.fpc
  2. 1 1
      compiler/Makefile.fpc
  3. 1 1
      compiler/aarch64/agcpugas.pas
  4. 3 2
      compiler/aggas.pas
  5. 2 2
      compiler/arm/agarmgas.pas
  6. 3 3
      compiler/arm/cgcpu.pas
  7. 1 1
      compiler/arm/cpuelf.pas
  8. 1 1
      compiler/arm/cpupara.pas
  9. 1 1
      compiler/arm/cpupi.pas
  10. 1 1
      compiler/assemble.pas
  11. 3 3
      compiler/cfileutl.pas
  12. 1 1
      compiler/cgobj.pas
  13. 1 1
      compiler/comprsrc.pas
  14. 1 1
      compiler/dbgdwarf.pas
  15. 1 1
      compiler/dbgstabs.pas
  16. 1 1
      compiler/llvm/llvmbase.pas
  17. 1 1
      compiler/m68k/ag68kgas.pas
  18. 1 1
      compiler/ngenutil.pas
  19. 1 1
      compiler/objcgutl.pas
  20. 12 7
      compiler/options.pas
  21. 1 1
      compiler/pdecvar.pas
  22. 1 1
      compiler/pmodules.pas
  23. 1 1
      compiler/powerpc/agppcmpw.pas
  24. 2 2
      compiler/powerpc/cgcpu.pas
  25. 1 1
      compiler/ppcgen/agppcgas.pas
  26. 3 3
      compiler/ppcgen/cgppc.pas
  27. 2 2
      compiler/scandir.pas
  28. 3 3
      compiler/symdef.pas
  29. 6 5
      compiler/systems.inc
  30. 12 8
      compiler/systems.pas
  31. 78 7
      compiler/systems/i_darwin.pas
  32. 8 8
      compiler/systems/i_macos.pas
  33. 18 9
      compiler/systems/t_darwin.pas
  34. 5 5
      compiler/systems/t_macos.pas
  35. 6 5
      compiler/utils/ppuutils/ppudump.pp
  36. 1 1
      packages/aspell/fpmake.pp
  37. 1 1
      packages/bfd/fpmake.pp
  38. 1 1
      packages/bzip2/fpmake.pp
  39. 1 1
      packages/chm/fpmake.pp
  40. 1 1
      packages/cocoaint/fpmake.pp
  41. 2 2
      packages/fcl-base/fpmake.pp
  42. 4 4
      packages/fcl-db/fpmake.pp
  43. 1 1
      packages/fcl-extra/fpmake.pp
  44. 2 2
      packages/fcl-fpcunit/fpmake.pp
  45. 5 5
      packages/fcl-image/fpmake.pp
  46. 1 1
      packages/fcl-js/fpmake.pp
  47. 1 1
      packages/fcl-json/fpmake.pp
  48. 1 1
      packages/fcl-net/fpmake.pp
  49. 1 1
      packages/fcl-passrc/fpmake.pp
  50. 1 1
      packages/fcl-pdf/fpmake.pp
  51. 1 1
      packages/fcl-process/fpmake.pp
  52. 1 1
      packages/fcl-registry/fpmake.pp
  53. 1 1
      packages/fcl-res/fpmake.pp
  54. 1 1
      packages/fcl-sdo/fpmake.pp
  55. 1 1
      packages/fcl-sound/fpmake.pp
  56. 4 4
      packages/fcl-web/fpmake.pp
  57. 3 3
      packages/fcl-xml/fpmake.pp
  58. 2 2
      packages/fpindexer/fpmake.pp
  59. 1 1
      packages/fpmkunit/fpmake.pp
  60. 12 11
      packages/fpmkunit/src/fpmkunit.pp
  61. 3 3
      packages/fppkg/fpmake.pp
  62. 1 1
      packages/fv/fpmake.pp
  63. 1 1
      packages/gmp/fpmake.pp
  64. 1 1
      packages/gnome1/fpmake.pp
  65. 1 1
      packages/googleapi/fpmake.pp
  66. 1 1
      packages/gtk1/fpmake.pp
  67. 1 1
      packages/gtk2/fpmake.pp
  68. 1 1
      packages/hash/fpmake.pp
  69. 1 1
      packages/hermes/fpmake.pp
  70. 1 1
      packages/iconvenc/fpmake.pp
  71. 1 1
      packages/imlib/fpmake.pp
  72. 1 1
      packages/iosxlocale/fpmake.pp
  73. 1 1
      packages/libcups/fpmake.pp
  74. 1 1
      packages/libcurl/fpmake.pp
  75. 1 1
      packages/libenet/fpmake.pp
  76. 1 1
      packages/libgd/fpmake.pp
  77. 1 1
      packages/libtar/fpmake.pp
  78. 1 1
      packages/ncurses/fpmake.pp
  79. 1 1
      packages/objcrtl/fpmake.pp
  80. 1 1
      packages/odata/fpmake.pp
  81. 2 2
      packages/opengl/fpmake.pp
  82. 3 3
      packages/opengles/fpmake.pp
  83. 1 1
      packages/pasjpeg/fpmake.pp
  84. 1 1
      packages/paszlib/fpmake.pp
  85. 1 1
      packages/pthreads/fpmake.pp
  86. 1 1
      packages/regexpr/fpmake.pp
  87. 2 2
      packages/rtl-console/fpmake.pp
  88. 5 5
      packages/rtl-extra/fpmake.pp
  89. 1 1
      packages/rtl-generics/fpmake.pp
  90. 1 1
      packages/rtl-objpas/fpmake.pp
  91. 1 1
      packages/rtl-unicode/fpmake.pp
  92. 2 2
      packages/sdl/fpmake.pp
  93. 1 1
      packages/symbolic/fpmake.pp
  94. 1 1
      packages/syslog/fpmake.pp
  95. 1 1
      packages/univint/fpmake.pp
  96. 1 1
      packages/unzip/fpmake.pp
  97. 1 1
      packages/utmp/fpmake.pp
  98. 1 1
      packages/vcl-compat/fpmake.pp
  99. 1 1
      packages/webidl/fpmake.pp
  100. 2 1
      rtl/Makefile.fpc

+ 1 - 1
Makefile.fpc

@@ -220,7 +220,7 @@ INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW)
 BuildOnlyBaseCPUs=jvm
 BuildOnlyBaseCPUs=jvm
 
 
 ifneq ($(wildcard utils),)
 ifneq ($(wildcard utils),)
-NOUTILSTARGETS=embedded gba nds msdos win16 macos $(BuildOnlyBaseCPUs) freertos
+NOUTILSTARGETS=embedded gba nds msdos win16 macosclassic $(BuildOnlyBaseCPUs) freertos
 ifeq ($(findstring $(OS_TARGET),$(NOUTILSTARGETS)),)
 ifeq ($(findstring $(OS_TARGET),$(NOUTILSTARGETS)),)
 ifdef BUILDFULLNATIVE
 ifdef BUILDFULLNATIVE
 UTILS=1
 UTILS=1

+ 1 - 1
compiler/Makefile.fpc

@@ -400,7 +400,7 @@ endif
 ifeq ($(OS_TARGET),win16)
 ifeq ($(OS_TARGET),win16)
 NoNativeBinaries=1
 NoNativeBinaries=1
 endif
 endif
-ifeq ($(OS_TARGET),macos)
+ifeq ($(OS_TARGET),macosclassic)
 NoNativeBinaries=1
 NoNativeBinaries=1
 endif
 endif
 ifeq ($(OS_TARGET),freertos)
 ifeq ($(OS_TARGET),freertos)

+ 1 - 1
compiler/aarch64/agcpugas.pas

@@ -803,7 +803,7 @@ unit agcpugas;
             idtxt  : 'CLANG';
             idtxt  : 'CLANG';
             asmbin : 'clang';
             asmbin : 'clang';
             asmcmd : '-c -o $OBJ $EXTRAOPT -arch arm64 $DARWINVERSION -x assembler $ASM';
             asmcmd : '-c -o $OBJ $EXTRAOPT -arch arm64 $DARWINVERSION -x assembler $ASM';
-            supported_targets : [system_aarch64_darwin];
+            supported_targets : [system_aarch64_ios,system_aarch64_darwin];
             flags : [af_needar,af_smartlink_sections,af_supports_dwarf];
             flags : [af_needar,af_smartlink_sections,af_supports_dwarf];
             labelprefix : 'L';
             labelprefix : 'L';
             labelmaxlen : -1;
             labelmaxlen : -1;

+ 3 - 2
compiler/aggas.pas

@@ -540,7 +540,8 @@ implementation
          system_i386_iphonesim,
          system_i386_iphonesim,
          system_powerpc64_darwin,
          system_powerpc64_darwin,
          system_x86_64_darwin,
          system_x86_64_darwin,
-         system_arm_darwin,
+         system_arm_ios,
+         system_aarch64_ios,
          system_aarch64_darwin,
          system_aarch64_darwin,
          system_x86_64_iphonesim,
          system_x86_64_iphonesim,
          system_powerpc_aix,
          system_powerpc_aix,
@@ -609,7 +610,7 @@ implementation
                   system_i386_darwin,
                   system_i386_darwin,
                   system_i386_iphonesim:
                   system_i386_iphonesim:
                     writer.AsmWriteln('__IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5');
                     writer.AsmWriteln('__IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5');
-                  system_arm_darwin:
+                  system_arm_ios:
                     if (cs_create_pic in current_settings.moduleswitches) then
                     if (cs_create_pic in current_settings.moduleswitches) then
                       writer.AsmWriteln('__TEXT,__picsymbolstub4,symbol_stubs,none,16')
                       writer.AsmWriteln('__TEXT,__picsymbolstub4,symbol_stubs,none,16')
                     else
                     else

+ 2 - 2
compiler/arm/agarmgas.pas

@@ -456,7 +456,7 @@ unit agarmgas;
             idtxt  : 'AS-DARWIN';
             idtxt  : 'AS-DARWIN';
             asmbin : 'as';
             asmbin : 'as';
             asmcmd : '-o $OBJ $EXTRAOPT $ASM -arch $ARCH';
             asmcmd : '-o $OBJ $EXTRAOPT $ASM -arch $ARCH';
-            supported_targets : [system_arm_darwin];
+            supported_targets : [system_arm_ios];
             flags : [af_needar,af_smartlink_sections,af_supports_dwarf,af_stabs_use_function_absolute_addresses];
             flags : [af_needar,af_smartlink_sections,af_supports_dwarf,af_stabs_use_function_absolute_addresses];
             labelprefix : 'L';
             labelprefix : 'L';
             labelmaxlen : -1;
             labelmaxlen : -1;
@@ -471,7 +471,7 @@ unit agarmgas;
             idtxt  : 'CLANG';
             idtxt  : 'CLANG';
             asmbin : 'clang';
             asmbin : 'clang';
             asmcmd : '-c -o $OBJ $EXTRAOPT -arch $ARCH $DARWINVERSION -x assembler $ASM';
             asmcmd : '-c -o $OBJ $EXTRAOPT -arch $ARCH $DARWINVERSION -x assembler $ASM';
-            supported_targets : [system_arm_darwin];
+            supported_targets : [system_arm_ios];
             flags : [af_needar,af_smartlink_sections,af_supports_dwarf];
             flags : [af_needar,af_smartlink_sections,af_supports_dwarf];
             labelprefix : 'L';
             labelprefix : 'L';
             labelmaxlen : -1;
             labelmaxlen : -1;

+ 3 - 3
compiler/arm/cgcpu.pas

@@ -276,7 +276,7 @@ unit cgcpu;
       begin
       begin
         inherited init_register_allocators;
         inherited init_register_allocators;
         { currently, we always save R14, so we can use it }
         { currently, we always save R14, so we can use it }
-        if (target_info.system<>system_arm_darwin) then
+        if (target_info.system<>system_arm_ios) then
             begin
             begin
               if assigned(current_procinfo) and (current_procinfo.framepointer<>NR_R11) then
               if assigned(current_procinfo) and (current_procinfo.framepointer<>NR_R11) then
                 rg[R_INTREGISTER]:=trgintcpu.create(R_INTREGISTER,R_SUBWHOLE,
                 rg[R_INTREGISTER]:=trgintcpu.create(R_INTREGISTER,R_SUBWHOLE,
@@ -2487,7 +2487,7 @@ unit cgcpu;
         indirection_done:=false;
         indirection_done:=false;
         if assigned(ref.symbol) then
         if assigned(ref.symbol) then
           begin
           begin
-            if (target_info.system=system_arm_darwin) and
+            if (target_info.system=system_arm_ios) and
                (ref.symbol.bind in [AB_EXTERNAL,AB_WEAK_EXTERNAL,AB_PRIVATE_EXTERN,AB_COMMON]) then
                (ref.symbol.bind in [AB_EXTERNAL,AB_WEAK_EXTERNAL,AB_PRIVATE_EXTERN,AB_COMMON]) then
               begin
               begin
                 tmpreg:=g_indirect_sym_load(list,ref.symbol.name,asmsym2indsymflags(ref.symbol));
                 tmpreg:=g_indirect_sym_load(list,ref.symbol.name,asmsym2indsymflags(ref.symbol));
@@ -4320,7 +4320,7 @@ unit cgcpu;
       begin
       begin
         inherited init_register_allocators;
         inherited init_register_allocators;
         { currently, we save R14 always, so we can use it }
         { currently, we save R14 always, so we can use it }
-        if (target_info.system<>system_arm_darwin) then
+        if (target_info.system<>system_arm_ios) then
           rg[R_INTREGISTER]:=trgintcputhumb2.create(R_INTREGISTER,R_SUBWHOLE,
           rg[R_INTREGISTER]:=trgintcputhumb2.create(R_INTREGISTER,R_SUBWHOLE,
               [RS_R0,RS_R1,RS_R2,RS_R3,RS_R4,RS_R5,RS_R6,RS_R7,RS_R8,
               [RS_R0,RS_R1,RS_R2,RS_R3,RS_R4,RS_R5,RS_R6,RS_R7,RS_R8,
                RS_R9,RS_R10,RS_R12,RS_R14],first_int_imreg,[])
                RS_R9,RS_R10,RS_R12,RS_R14],first_int_imreg,[])

+ 1 - 1
compiler/arm/cpuelf.pas

@@ -971,7 +971,7 @@ implementation
          idtxt  : 'ELF';
          idtxt  : 'ELF';
          asmbin : '';
          asmbin : '';
          asmcmd : '';
          asmcmd : '';
-         supported_targets : [system_arm_embedded,system_arm_darwin,
+         supported_targets : [system_arm_embedded,system_arm_ios,
                               system_arm_linux,system_arm_netbsd,
                               system_arm_linux,system_arm_netbsd,
                               system_arm_gba,system_arm_nds,
                               system_arm_gba,system_arm_nds,
                               system_arm_aros,system_arm_freertos];
                               system_arm_aros,system_arm_freertos];

+ 1 - 1
compiler/arm/cpupara.pas

@@ -66,7 +66,7 @@ unit cpupara;
 
 
     function tcpuparamanager.get_volatile_registers_int(calloption : tproccalloption):tcpuregisterset;
     function tcpuparamanager.get_volatile_registers_int(calloption : tproccalloption):tcpuregisterset;
       begin
       begin
-        if (target_info.system<>system_arm_darwin) then
+        if (target_info.system<>system_arm_ios) then
           result:=VOLATILE_INTREGISTERS
           result:=VOLATILE_INTREGISTERS
         else
         else
           result:=VOLATILE_INTREGISTERS_DARWIN;
           result:=VOLATILE_INTREGISTERS_DARWIN;

+ 1 - 1
compiler/arm/cpupi.pas

@@ -88,7 +88,7 @@ unit cpupi;
           end;
           end;
         if tg.direction = -1 then
         if tg.direction = -1 then
           begin
           begin
-            if (target_info.system<>system_arm_darwin) then
+            if (target_info.system<>system_arm_ios) then
               { Non-Darwin, worst case: r4-r10,r11,r13,r14,r15 is saved -> -28-16, but we
               { Non-Darwin, worst case: r4-r10,r11,r13,r14,r15 is saved -> -28-16, but we
                 always adjust the frame pointer to point to the first stored
                 always adjust the frame pointer to point to the first stored
                 register (= last register in list above) -> + 4 }
                 register (= last register in list above) -> + 4 }

+ 1 - 1
compiler/assemble.pas

@@ -937,7 +937,7 @@ Implementation
         else
         else
           Replace(result,'$DARWINVERSION','');
           Replace(result,'$DARWINVERSION','');
 {$ifdef arm}
 {$ifdef arm}
-        if (target_info.system=system_arm_darwin) then
+        if (target_info.system=system_arm_ios) then
           Replace(result,'$ARCH',lower(cputypestr[current_settings.cputype]));
           Replace(result,'$ARCH',lower(cputypestr[current_settings.cputype]));
 {$endif arm}
 {$endif arm}
         if (cs_link_on_target in current_settings.globalswitches) then
         if (cs_link_on_target in current_settings.globalswitches) then

+ 3 - 3
compiler/cfileutl.pas

@@ -526,7 +526,7 @@ end;
    function CurDirRelPath(systeminfo: tsysteminfo): TCmdStr;
    function CurDirRelPath(systeminfo: tsysteminfo): TCmdStr;
 
 
    begin
    begin
-     if systeminfo.system <> system_powerpc_macos then
+     if systeminfo.system <> system_powerpc_macosclassic then
        CurDirRelPath:= '.'+systeminfo.DirSep
        CurDirRelPath:= '.'+systeminfo.DirSep
      else
      else
        CurDirRelPath:= ':'
        CurDirRelPath:= ':'
@@ -877,7 +877,7 @@ end;
      var
      var
        i      : longint;
        i      : longint;
      begin
      begin
-       if source_info.system = system_powerpc_MACOS then
+       if source_info.system = system_powerpc_macosclassic then
          FixFileName:= TranslatePathToMac(s, true)
          FixFileName:= TranslatePathToMac(s, true)
        else
        else
         if (tf_files_case_aware in source_info.flags) or
         if (tf_files_case_aware in source_info.flags) or
@@ -940,7 +940,7 @@ end;
      var
      var
        i : longint;
        i : longint;
      begin
      begin
-       if target_info.system = system_powerpc_MACOS then
+       if target_info.system = system_powerpc_macosclassic then
          TargetFixFileName:= TranslatePathToMac(s, true)
          TargetFixFileName:= TranslatePathToMac(s, true)
        else
        else
         if (tf_files_case_aware in target_info.flags) or
         if (tf_files_case_aware in target_info.flags) or

+ 1 - 1
compiler/cgobj.pas

@@ -2849,7 +2849,7 @@ implementation
           system_i386_darwin,
           system_i386_darwin,
           system_i386_iphonesim,
           system_i386_iphonesim,
           system_powerpc64_darwin,
           system_powerpc64_darwin,
-          system_arm_darwin:
+          system_arm_ios:
             begin
             begin
               nlsymname:='L'+symname+'$non_lazy_ptr';
               nlsymname:='L'+symname+'$non_lazy_ptr';
               l:=current_asmdata.getasmsymbol(nlsymname);
               l:=current_asmdata.getasmsymbol(nlsymname);

+ 1 - 1
compiler/comprsrc.pas

@@ -296,7 +296,7 @@ begin
             arch:=arch+'le';
             arch:=arch+'le';
         end;
         end;
       Replace(s,'$ARCH',arch);
       Replace(s,'$ARCH',arch);
-      if target_info.system=system_arm_darwin then
+      if target_info.system=system_arm_ios then
         subarch:=lower(cputypestr[current_settings.cputype]);
         subarch:=lower(cputypestr[current_settings.cputype]);
       Replace(s,'$SUBARCH',subarch);
       Replace(s,'$SUBARCH',subarch);
       case target_info.endian of
       case target_info.endian of

+ 1 - 1
compiler/dbgdwarf.pas

@@ -3666,7 +3666,7 @@ implementation
       begin
       begin
         { Reference all DEBUGINFO sections from the main .fpc section }
         { Reference all DEBUGINFO sections from the main .fpc section }
         { to prevent eliminating them by smartlinking                 }
         { to prevent eliminating them by smartlinking                 }
-        if (target_info.system in ([system_powerpc_macos]+systems_darwin)) then
+        if (target_info.system in ([system_powerpc_macosclassic]+systems_darwin)) then
           exit;
           exit;
         new_section(list,sec_fpc,'links',0);
         new_section(list,sec_fpc,'links',0);
 
 

+ 1 - 1
compiler/dbgstabs.pas

@@ -1862,7 +1862,7 @@ implementation
         dbgtable : tai_symbol;
         dbgtable : tai_symbol;
       begin
       begin
         { Reference all DEBUGINFO sections from the main .fpc section }
         { Reference all DEBUGINFO sections from the main .fpc section }
-        if (target_info.system in ([system_powerpc_macos]+systems_darwin)) then
+        if (target_info.system in ([system_powerpc_macosclassic]+systems_darwin)) then
           exit;
           exit;
         new_section(list,sec_fpc,'links',0);
         new_section(list,sec_fpc,'links',0);
         { make sure the debuginfo doesn't get stripped out }
         { make sure the debuginfo doesn't get stripped out }

+ 1 - 1
compiler/llvm/llvmbase.pas

@@ -154,7 +154,7 @@ implementation
       if target_info.system in systems_darwin then
       if target_info.system in systems_darwin then
         begin
         begin
           llvm_target_name:=llvm_target_name+'-apple';
           llvm_target_name:=llvm_target_name+'-apple';
-          if not(target_info.system in [system_arm_darwin,system_i386_iphonesim]) then
+          if not(target_info.system in [system_arm_ios,system_i386_iphonesim]) then
             llvm_target_name:=llvm_target_name+'-macosx'+MacOSXVersionMin
             llvm_target_name:=llvm_target_name+'-macosx'+MacOSXVersionMin
           else
           else
             llvm_target_name:=llvm_target_name+'-ios'+iPhoneOSVersionMin;
             llvm_target_name:=llvm_target_name+'-ios'+iPhoneOSVersionMin;

+ 1 - 1
compiler/m68k/ag68kgas.pas

@@ -356,7 +356,7 @@ interface
             idtxt  : 'AS';
             idtxt  : 'AS';
             asmbin : 'as';
             asmbin : 'as';
             asmcmd : '$ARCH -o $OBJ $EXTRAOPT $ASM';
             asmcmd : '$ARCH -o $OBJ $EXTRAOPT $ASM';
-            supported_targets : [system_m68k_macos,system_m68k_linux,system_m68k_PalmOS,system_m68k_netbsd,system_m68k_embedded];
+            supported_targets : [system_m68k_macosclassic,system_m68k_linux,system_m68k_PalmOS,system_m68k_netbsd,system_m68k_embedded];
             flags : [af_needar,af_smartlink_sections];
             flags : [af_needar,af_smartlink_sections];
             labelprefix : '.L';
             labelprefix : '.L';
             labelmaxlen : -1;
             labelmaxlen : -1;

+ 1 - 1
compiler/ngenutil.pas

@@ -1632,7 +1632,7 @@ implementation
      begin
      begin
        { stub for calling FPC_SYSTEMMAIN from the C main -> add argc/argv/argp }
        { stub for calling FPC_SYSTEMMAIN from the C main -> add argc/argv/argp }
        if (tprocdef(pd).proctypeoption=potype_mainstub) and
        if (tprocdef(pd).proctypeoption=potype_mainstub) and
-          (target_info.system in (systems_darwin+[system_powerpc_macos]+systems_aix)) then
+          (target_info.system in (systems_darwin+[system_powerpc_macosclassic]+systems_aix)) then
          begin
          begin
            pvs:=cparavarsym.create('ARGC',1,vs_const,s32inttype,[]);
            pvs:=cparavarsym.create('ARGC',1,vs_const,s32inttype,[]);
            tprocdef(pd).parast.insert(pvs);
            tprocdef(pd).parast.insert(pvs);

+ 1 - 1
compiler/objcgutl.pas

@@ -1756,7 +1756,7 @@ procedure tobjcrttiwriter_nonfragile.gen_objc_classes_sections(list:TAsmList; ob
     metatcb.emit_tai(Tai_const.Create_sym(ObjCEmptyCacheVar),voidpointertype);
     metatcb.emit_tai(Tai_const.Create_sym(ObjCEmptyCacheVar),voidpointertype);
     { pointer to vtable }
     { pointer to vtable }
     if not assigned(ObjCEmptyVtableVar) and
     if not assigned(ObjCEmptyVtableVar) and
-       not(target_info.system in [system_arm_darwin,system_aarch64_darwin,system_i386_iphonesim,system_x86_64_iphonesim]) then
+       not(target_info.system in [system_arm_ios,system_aarch64_ios,system_aarch64_darwin,system_i386_iphonesim,system_x86_64_iphonesim]) then
       ObjCEmptyVtableVar:=current_asmdata.RefAsmSymbol(target_info.Cprefix+'_objc_empty_vtable',AT_DATA);
       ObjCEmptyVtableVar:=current_asmdata.RefAsmSymbol(target_info.Cprefix+'_objc_empty_vtable',AT_DATA);
     ConcatSymOrNil(metatcb,ObjCEmptyVtableVar,voidpointertype);
     ConcatSymOrNil(metatcb,ObjCEmptyVtableVar,voidpointertype);
     { the read-only part }
     { the read-only part }

+ 12 - 7
compiler/options.pas

@@ -995,7 +995,7 @@ begin
   if MacVersionSet then
   if MacVersionSet then
     exit;
     exit;
   { check for deployment target set via environment variable }
   { check for deployment target set via environment variable }
-  if not(target_info.system in [system_i386_iphonesim,system_arm_darwin,system_aarch64_darwin,system_x86_64_iphonesim]) then
+  if not(target_info.system in [system_i386_iphonesim,system_arm_ios,system_aarch64_ios,system_x86_64_iphonesim]) then
     begin
     begin
       envstr:=GetEnvironmentVariable('MACOSX_DEPLOYMENT_TARGET');
       envstr:=GetEnvironmentVariable('MACOSX_DEPLOYMENT_TARGET');
       if envstr<>'' then
       if envstr<>'' then
@@ -1038,17 +1038,22 @@ begin
         set_system_compvar('MAC_OS_X_VERSION_MIN_REQUIRED','1080');
         set_system_compvar('MAC_OS_X_VERSION_MIN_REQUIRED','1080');
         MacOSXVersionMin:='10.8';
         MacOSXVersionMin:='10.8';
       end;
       end;
-    system_arm_darwin,
+    system_arm_ios,
     system_i386_iphonesim:
     system_i386_iphonesim:
       begin
       begin
         set_system_compvar('IPHONE_OS_VERSION_MIN_REQUIRED','90000');
         set_system_compvar('IPHONE_OS_VERSION_MIN_REQUIRED','90000');
         iPhoneOSVersionMin:='9.0';
         iPhoneOSVersionMin:='9.0';
       end;
       end;
-    system_aarch64_darwin,
+    system_aarch64_ios,
     system_x86_64_iphonesim:
     system_x86_64_iphonesim:
       begin
       begin
         set_system_compvar('IPHONE_OS_VERSION_MIN_REQUIRED','90000');
         set_system_compvar('IPHONE_OS_VERSION_MIN_REQUIRED','90000');
         iPhoneOSVersionMin:='9.0';
         iPhoneOSVersionMin:='9.0';
+      end;
+    system_aarch64_darwin:
+      begin
+        set_system_compvar('MAC_OS_X_VERSION_MIN_REQUIRED','1100');
+        MacOSXVersionMin:='11.0';
       end
       end
     else
     else
       internalerror(2012031001);
       internalerror(2012031001);
@@ -2515,7 +2520,7 @@ begin
                       end;
                       end;
                     'M':
                     'M':
                       begin
                       begin
-                        if (target_info.system in (systems_darwin-[system_i386_iphonesim,system_arm_darwin,system_aarch64_darwin,system_x86_64_iphonesim])) and
+                        if (target_info.system in (systems_darwin-[system_i386_iphonesim,system_arm_ios,system_aarch64_ios,system_x86_64_iphonesim])) and
                            ParseMacVersionMin(MacOSXVersionMin,iPhoneOSVersionMin,'MAC_OS_X_VERSION_MIN_REQUIRED',copy(More,2,255),false) then
                            ParseMacVersionMin(MacOSXVersionMin,iPhoneOSVersionMin,'MAC_OS_X_VERSION_MIN_REQUIRED',copy(More,2,255),false) then
                           begin
                           begin
                             break;
                             break;
@@ -2559,7 +2564,7 @@ begin
                       end;
                       end;
                     'P':
                     'P':
                       begin
                       begin
-                        if (target_info.system in [system_i386_iphonesim,system_arm_darwin,system_aarch64_darwin,system_x86_64_iphonesim]) and
+                        if (target_info.system in [system_i386_iphonesim,system_arm_ios,system_aarch64_ios,system_x86_64_iphonesim]) and
                            ParseMacVersionMin(iPhoneOSVersionMin,MacOSXVersionMin,'IPHONE_OS_VERSION_MIN_REQUIRED',copy(More,2,255),true) then
                            ParseMacVersionMin(iPhoneOSVersionMin,MacOSXVersionMin,'IPHONE_OS_VERSION_MIN_REQUIRED',copy(More,2,255),true) then
                           begin
                           begin
                             break;
                             break;
@@ -4303,7 +4308,7 @@ begin
 
 
 {$ifdef arm}
 {$ifdef arm}
   case target_info.system of
   case target_info.system of
-    system_arm_darwin:
+    system_arm_ios:
       begin
       begin
         { set default cpu type to ARMv7 for Darwin unless specified otherwise, and fpu
         { set default cpu type to ARMv7 for Darwin unless specified otherwise, and fpu
           to VFPv3 (that's what all 32 bit ARM iOS devices use nowadays)
           to VFPv3 (that's what all 32 bit ARM iOS devices use nowadays)
@@ -4358,7 +4363,7 @@ begin
       else
       else
         begin
         begin
           if (not(FPUARM_HAS_VFP_EXTENSION in fpu_capabilities[init_settings.fputype]))
           if (not(FPUARM_HAS_VFP_EXTENSION in fpu_capabilities[init_settings.fputype]))
-	     or (target_info.system = system_arm_darwin) then
+	     or (target_info.system = system_arm_ios) then
             begin
             begin
               Message(option_illegal_fpu_eabihf);
               Message(option_illegal_fpu_eabihf);
               StopOptions(1);
               StopOptions(1);

+ 1 - 1
compiler/pdecvar.pas

@@ -1972,7 +1972,7 @@ implementation
               unionsymtable.addalignmentpadding;
               unionsymtable.addalignmentpadding;
 {$if defined(powerpc) or defined(powerpc64)}
 {$if defined(powerpc) or defined(powerpc64)}
               { parent inherits the alignment padding if the variant is the first "field" of the parent record/variant }
               { parent inherits the alignment padding if the variant is the first "field" of the parent record/variant }
-              if (target_info.system in [system_powerpc_darwin, system_powerpc_macos, system_powerpc64_darwin]) and
+              if (target_info.system in [system_powerpc_darwin, system_powerpc_macosclassic, system_powerpc64_darwin]) and
                  is_first_type and
                  is_first_type and
                  (recst.usefieldalignment=C_alignment) and
                  (recst.usefieldalignment=C_alignment) and
                  (maxpadalign>recst.padalignment) then
                  (maxpadalign>recst.padalignment) then

+ 1 - 1
compiler/pmodules.pas

@@ -2195,7 +2195,7 @@ type
 
 
             cnodeutils.RegisterModuleInitFunction(initpd);
             cnodeutils.RegisterModuleInitFunction(initpd);
           end
           end
-         else if (target_info.system in ([system_i386_netware,system_i386_netwlibc,system_powerpc_macos]+systems_darwin+systems_aix)) then
+         else if (target_info.system in ([system_i386_netware,system_i386_netwlibc,system_powerpc_macosclassic]+systems_darwin+systems_aix)) then
            begin
            begin
              { create a stub with the name of the desired main routine, with
              { create a stub with the name of the desired main routine, with
                the same signature as the C "main" function, and call through to
                the same signature as the C "main" function, and call through to

+ 1 - 1
compiler/powerpc/agppcmpw.pas

@@ -1240,7 +1240,7 @@ interface
             idtxt  : 'MPW';
             idtxt  : 'MPW';
             asmbin : 'PPCAsm';
             asmbin : 'PPCAsm';
             asmcmd : '-case on $ASM $EXTRAOPT -o $OBJ';
             asmcmd : '-case on $ASM $EXTRAOPT -o $OBJ';
-            supported_targets : [system_powerpc_macos];
+            supported_targets : [system_powerpc_macosclassic];
             flags : [af_needar,af_smartlink_sections,af_labelprefix_only_inside_procedure];
             flags : [af_needar,af_smartlink_sections,af_labelprefix_only_inside_procedure];
             labelprefix : '@';
             labelprefix : '@';
             labelmaxlen : -1;
             labelmaxlen : -1;

+ 2 - 2
compiler/powerpc/cgcpu.pas

@@ -192,7 +192,7 @@ const
                    list.concat(taicpu.op_sym(A_BL,current_asmdata.WeakRefAsmSymbol('.'+s,AT_FUNCTION)));
                    list.concat(taicpu.op_sym(A_BL,current_asmdata.WeakRefAsmSymbol('.'+s,AT_FUNCTION)));
                end;
                end;
 
 
-             if target_info.system in [system_powerpc_macos,system_powerpc_aix] then
+             if target_info.system in [system_powerpc_macosclassic,system_powerpc_aix] then
                list.concat(taicpu.op_none(A_NOP));
                list.concat(taicpu.op_none(A_NOP));
            end
            end
          else
          else
@@ -216,7 +216,7 @@ const
         tmpref : treference;
         tmpref : treference;
 
 
       begin
       begin
-        if target_info.system=system_powerpc_macos then
+        if target_info.system=system_powerpc_macosclassic then
           begin
           begin
             {Generate instruction to load the procedure address from
             {Generate instruction to load the procedure address from
             the transition vector.}
             the transition vector.}

+ 1 - 1
compiler/ppcgen/agppcgas.pas

@@ -738,7 +738,7 @@ unit agppcgas;
          idtxt  : 'CLANG';
          idtxt  : 'CLANG';
          asmbin : 'clang';
          asmbin : 'clang';
          asmcmd : '-c -o $OBJ $EXTRAOPT -arch $ARCH $DARWINVERSION -x assembler $ASM';
          asmcmd : '-c -o $OBJ $EXTRAOPT -arch $ARCH $DARWINVERSION -x assembler $ASM';
-         supported_targets : [system_powerpc_macos, system_powerpc_darwin, system_powerpc64_darwin];
+         supported_targets : [system_powerpc_macosclassic, system_powerpc_darwin, system_powerpc64_darwin];
          flags : [af_needar,af_smartlink_sections,af_supports_dwarf];
          flags : [af_needar,af_smartlink_sections,af_supports_dwarf];
          labelprefix : 'L';
          labelprefix : 'L';
          labelmaxlen : -1;
          labelmaxlen : -1;

+ 3 - 3
compiler/ppcgen/cgppc.pas

@@ -417,7 +417,7 @@ unit cgppc;
          fixref(list,ref2);
          fixref(list,ref2);
          if assigned(ref2.symbol) then
          if assigned(ref2.symbol) then
            begin
            begin
-             if target_info.system = system_powerpc_macos then
+             if target_info.system = system_powerpc_macosclassic then
                begin
                begin
                  if macos_direct_globals then
                  if macos_direct_globals then
                    begin
                    begin
@@ -1113,7 +1113,7 @@ unit cgppc;
         tmpreg := NR_NO;
         tmpreg := NR_NO;
         largeOffset:= hasLargeOffset(ref);
         largeOffset:= hasLargeOffset(ref);
 
 
-        if target_info.system in ([system_powerpc_macos]+systems_aix) then
+        if target_info.system in ([system_powerpc_macosclassic]+systems_aix) then
           begin
           begin
 
 
             if assigned(ref.symbol) and
             if assigned(ref.symbol) and
@@ -1186,7 +1186,7 @@ unit cgppc;
             else
             else
               list.concat(taicpu.op_reg_ref(op,reg,ref));
               list.concat(taicpu.op_reg_ref(op,reg,ref));
           end
           end
-        else {if target_info.system <> system_powerpc_macos}
+        else {if target_info.system <> system_powerpc_macosclassic}
           begin
           begin
             if assigned(ref.symbol) or
             if assigned(ref.symbol) or
                largeOffset then
                largeOffset then

+ 2 - 2
compiler/scandir.pas

@@ -356,7 +356,7 @@ unit scandir;
          hs : string;
          hs : string;
       begin
       begin
         if not (target_info.system in systems_all_windows + [system_i386_os2,
         if not (target_info.system in systems_all_windows + [system_i386_os2,
-                                       system_i386_emx, system_powerpc_macos,
+                                       system_i386_emx, system_powerpc_macosclassic,
                                        system_arm_nds, system_i8086_msdos,
                                        system_arm_nds, system_i8086_msdos,
                                        system_i8086_embedded, system_m68k_atari] +
                                        system_i8086_embedded, system_m68k_atari] +
                                        systems_nativent) then
                                        systems_nativent) then
@@ -383,7 +383,7 @@ unit scandir;
                  else if (hs='FS') and (target_info.system in [system_i386_os2,
                  else if (hs='FS') and (target_info.system in [system_i386_os2,
                                                              system_i386_emx]) then
                                                              system_i386_emx]) then
                    SetApptype(app_fs)
                    SetApptype(app_fs)
-                 else if (hs='TOOL') and (target_info.system in [system_powerpc_macos]) then
+                 else if (hs='TOOL') and (target_info.system in [system_powerpc_macosclassic]) then
                    SetApptype(app_tool)
                    SetApptype(app_tool)
                  else if (hs='ARM9') and (target_info.system in [system_arm_nds]) then
                  else if (hs='ARM9') and (target_info.system in [system_arm_nds]) then
                    SetApptype(app_arm9)
                    SetApptype(app_arm9)

+ 3 - 3
compiler/symdef.pas

@@ -3245,7 +3245,7 @@ implementation
 
 
     function torddef.alignment:shortint;
     function torddef.alignment:shortint;
       begin
       begin
-        if (target_info.system in [system_i386_darwin,system_i386_iphonesim,system_arm_darwin]) and
+        if (target_info.system in [system_i386_darwin,system_i386_iphonesim,system_arm_ios]) and
            (ordtype in [s64bit,u64bit]) then
            (ordtype in [s64bit,u64bit]) then
           result := 4
           result := 4
         else
         else
@@ -3387,7 +3387,7 @@ implementation
 
 
     function tfloatdef.alignment:shortint;
     function tfloatdef.alignment:shortint;
       begin
       begin
-        if (target_info.system in [system_i386_darwin,system_i386_iphonesim,system_arm_darwin]) then
+        if (target_info.system in [system_i386_darwin,system_i386_iphonesim,system_arm_ios]) then
           case floattype of
           case floattype of
             sc80real,
             sc80real,
             s80real: result:=16;
             s80real: result:=16;
@@ -8827,7 +8827,7 @@ implementation
       begin
       begin
         if assigned(objc_fastenumeration) then
         if assigned(objc_fastenumeration) then
           exit;
           exit;
-        if not(target_info.system in [system_arm_darwin,system_i386_iphonesim,system_aarch64_darwin,system_x86_64_iphonesim]) then
+        if not(target_info.system in [system_arm_ios,system_i386_iphonesim,system_aarch64_ios,system_x86_64_iphonesim]) then
           cocoaunit:='COCOAALL'
           cocoaunit:='COCOAALL'
         else
         else
           cocoaunit:='IPHONEALL';
           cocoaunit:='IPHONEALL';

+ 6 - 5
compiler/systems.inc

@@ -98,12 +98,12 @@
              system_i386_freebsd,       { 6 }
              system_i386_freebsd,       { 6 }
              system_m68k_Amiga,         { 7 }
              system_m68k_Amiga,         { 7 }
              system_m68k_Atari,         { 8 }
              system_m68k_Atari,         { 8 }
-             system_m68k_macos,         { 9 }
+             system_m68k_macosclassic,  { 9 }
              system_m68k_linux,         { 10 }
              system_m68k_linux,         { 10 }
              system_m68k_PalmOS,        { 11 }
              system_m68k_PalmOS,        { 11 }
              obsolete_system_alpha_linux,{ 12 }
              obsolete_system_alpha_linux,{ 12 }
              system_powerpc_linux,      { 13 }
              system_powerpc_linux,      { 13 }
-             system_powerpc_macos,      { 14 }
+             system_powerpc_macosclassic,{ 14 }
              system_i386_solaris,       { 15 }
              system_i386_solaris,       { 15 }
              system_i386_beos,          { 16 }
              system_i386_beos,          { 16 }
              system_i386_netbsd,        { 17 }
              system_i386_netbsd,        { 17 }
@@ -153,7 +153,7 @@
              system_x86_64_darwin,      { 61 }
              system_x86_64_darwin,      { 61 }
              system_avr_embedded,       { 62 }
              system_avr_embedded,       { 62 }
              system_i386_haiku,         { 63 }
              system_i386_haiku,         { 63 }
-             system_arm_darwin,         { 64 }
+             system_arm_ios,            { 64 }
              system_x86_64_solaris,     { 65 }
              system_x86_64_solaris,     { 65 }
              system_mipseb_linux,       { 66 }
              system_mipseb_linux,       { 66 }
              system_mipsel_linux,       { 67 }
              system_mipsel_linux,       { 67 }
@@ -175,7 +175,7 @@
              system_i386_aros,          { 83 }
              system_i386_aros,          { 83 }
              system_x86_64_aros,        { 84 }
              system_x86_64_aros,        { 84 }
              system_x86_64_dragonfly,   { 85 }
              system_x86_64_dragonfly,   { 85 }
-             system_aarch64_darwin,     { 86 }
+             system_aarch64_ios,        { 86 }
              system_x86_64_iphonesim,   { 87 }
              system_x86_64_iphonesim,   { 87 }
              system_aarch64_linux,      { 88 }
              system_aarch64_linux,      { 88 }
              system_i8086_win16,        { 89 }
              system_i8086_win16,        { 89 }
@@ -199,7 +199,8 @@
              system_aarch64_win64,      { 107 }
              system_aarch64_win64,      { 107 }
              system_z80_embedded,       { 108 }
              system_z80_embedded,       { 108 }
              system_z80_zxspectrum,     { 109 }
              system_z80_zxspectrum,     { 109 }
-             system_z80_msxdos          { 110 }
+             system_z80_msxdos,         { 110 }
+             system_aarch64_darwin      { 111 }
        );
        );
 
 
      type
      type

+ 12 - 8
compiler/systems.pas

@@ -287,8 +287,9 @@ interface
        { all darwin systems }
        { all darwin systems }
        systems_darwin = [system_powerpc_darwin,system_i386_darwin,
        systems_darwin = [system_powerpc_darwin,system_i386_darwin,
                          system_powerpc64_darwin,system_x86_64_darwin,
                          system_powerpc64_darwin,system_x86_64_darwin,
-                         system_arm_darwin,system_i386_iphonesim,
-                         system_aarch64_darwin,system_x86_64_iphonesim];
+                         system_arm_ios,system_i386_iphonesim,
+                         system_aarch64_ios,system_x86_64_iphonesim,
+                         system_aarch64_darwin];
 
 
        {all solaris systems }
        {all solaris systems }
        systems_solaris = [system_sparc_solaris, system_i386_solaris,
        systems_solaris = [system_sparc_solaris, system_i386_solaris,
@@ -327,7 +328,7 @@ interface
        systems_symbian = [system_i386_symbian,system_arm_symbian];
        systems_symbian = [system_i386_symbian,system_arm_symbian];
 
 
        { all classic Mac OS targets }
        { all classic Mac OS targets }
-       systems_macos = [system_m68k_macos,system_powerpc_macos];
+       systems_macos = [system_m68k_macosclassic,system_powerpc_macosclassic];
 
 
        { all OS/2 targets }
        { all OS/2 targets }
        systems_os2 = [system_i386_OS2,system_i386_emx];
        systems_os2 = [system_i386_OS2,system_i386_emx];
@@ -345,7 +346,7 @@ interface
        systems_objc_supported = systems_darwin;
        systems_objc_supported = systems_darwin;
 
 
        { systems using the non-fragile Objective-C ABI }
        { systems using the non-fragile Objective-C ABI }
-       systems_objc_nfabi = [system_powerpc64_darwin,system_x86_64_darwin,system_arm_darwin,system_i386_iphonesim,system_aarch64_darwin,system_x86_64_iphonesim];
+       systems_objc_nfabi = [system_powerpc64_darwin,system_x86_64_darwin,system_arm_ios,system_i386_iphonesim,system_aarch64_ios,system_aarch64_darwin,system_x86_64_iphonesim];
 
 
        { systems supporting "blocks" }
        { systems supporting "blocks" }
        systems_blocks_supported = systems_darwin;
        systems_blocks_supported = systems_darwin;
@@ -427,7 +428,7 @@ interface
 
 
        { all systems where a value parameter passed by reference must be copied
        { all systems where a value parameter passed by reference must be copied
          on the caller side rather than on the callee side }
          on the caller side rather than on the callee side }
-       systems_caller_copy_addr_value_para = [system_aarch64_darwin,system_aarch64_linux];
+       systems_caller_copy_addr_value_para = [system_aarch64_ios,system_aarch64_darwin,system_aarch64_linux];
 
 
        { pointer checking (requires special code in FPC_CHECKPOINTER,
        { pointer checking (requires special code in FPC_CHECKPOINTER,
          and can never work for libc-based targets or any other program
          and can never work for libc-based targets or any other program
@@ -1075,7 +1076,7 @@ begin
     {$endif}
     {$endif}
     {$ifdef darwin}
     {$ifdef darwin}
       {$define default_target_set}
       {$define default_target_set}
-      default_target(system_arm_darwin);
+      default_target(system_arm_ios);
     {$endif}
     {$endif}
     {$ifndef default_target_set}
     {$ifndef default_target_set}
       default_target(system_arm_linux);
       default_target(system_arm_linux);
@@ -1112,10 +1113,13 @@ begin
   {$ifdef cpuaarch64}
   {$ifdef cpuaarch64}
     default_target(source_info.system);
     default_target(source_info.system);
   {$else cpuaarch64}
   {$else cpuaarch64}
-    {$ifdef darwin}
+    {$if defined(ios)}
+      {$define default_target_set}
+      default_target(system_aarch64_ios);
+    {$elseif defined(darwin)}
       {$define default_target_set}
       {$define default_target_set}
       default_target(system_aarch64_darwin);
       default_target(system_aarch64_darwin);
-    {$endif darwin}
+    {$endif}
     {$ifdef android}
     {$ifdef android}
       {$define default_target_set}
       {$define default_target_set}
       default_target(system_aarch64_android);
       default_target(system_aarch64_android);

+ 78 - 7
compiler/systems/i_darwin.pas

@@ -462,16 +462,16 @@ const
       );
       );
 
 
 
 
-   system_arm_darwin_info : tsysteminfo =
+   system_arm_ios_info : tsysteminfo =
       (
       (
-        system       : system_arm_darwin;
-        name         : 'Darwin for ARM';
-        shortname    : 'Darwin';
+        system       : system_arm_ios;
+        name         : 'iOS for ARM';
+        shortname    : 'iOS';
         flags        : [tf_p_ext_support,tf_requires_proper_alignment,tf_files_case_sensitive,tf_smartlink_sections,tf_dwarf_relative_addresses,
         flags        : [tf_p_ext_support,tf_requires_proper_alignment,tf_files_case_sensitive,tf_smartlink_sections,tf_dwarf_relative_addresses,
                         tf_dwarf_only_local_labels,tf_has_winlike_resources,tf_pic_default,tf_supports_symbolorderfile,tf_supports_hidden_symbols];
                         tf_dwarf_only_local_labels,tf_has_winlike_resources,tf_pic_default,tf_supports_symbolorderfile,tf_supports_hidden_symbols];
         cpu          : cpu_arm;
         cpu          : cpu_arm;
         unit_env     : 'BSDUNITS';
         unit_env     : 'BSDUNITS';
-        extradefines : 'UNIX;BSD;HASUNIX;CPUARMEL';
+        extradefines : 'UNIX;BSD;HASUNIX;CPUARMEL;DARWIN';
         exeext       : '';
         exeext       : '';
         defext       : '.def';
         defext       : '.def';
         scriptext    : '.sh';
         scriptext    : '.sh';
@@ -531,6 +531,73 @@ const
       );
       );
 
 
 
 
+   system_aarch64_ios_info  : tsysteminfo =
+      (
+        system       : system_aarch64_ios;
+        name         : 'iOS for AArch64';
+        shortname    : 'iOS';
+        flags        : [tf_p_ext_support,tf_requires_proper_alignment,tf_files_case_sensitive,tf_smartlink_sections,tf_dwarf_relative_addresses,
+                        tf_dwarf_only_local_labels,tf_pic_default,tf_has_winlike_resources,tf_supports_symbolorderfile,tf_supports_hidden_symbols];
+        cpu          : cpu_aarch64;
+        unit_env     : 'BSDUNITS';
+        extradefines : 'UNIX;BSD;HASUNIX;DARWIN';
+        exeext       : '';
+        defext       : '.def';
+        scriptext    : '.sh';
+        smartext     : '.sl';
+        unitext      : '.ppu';
+        unitlibext   : '.ppl';
+        asmext       : '.s';
+        objext       : '.o';
+        resext       : '.res';
+        resobjext    : '.or';
+        sharedlibext : '.dylib';
+        staticlibext : '.a';
+        staticlibprefix : 'libp';
+        sharedlibprefix : 'lib';
+        sharedClibext : '.dylib';
+        staticClibext : '.a';
+        staticClibprefix : 'lib';
+        sharedClibprefix : 'lib';
+        importlibprefix : 'libimp';
+        importlibext : '.a';
+        Cprefix      : '_';
+        newline      : #10;
+        dirsep       : '/';
+        assem        : as_clang;
+        assemextern  : as_clang;
+        link         : ld_none;
+        linkextern   : ld_darwin;
+        ar           : ar_gnu_ar;
+        res          : res_macho;
+        dbg          : dbg_dwarf2;
+        script       : script_unix;
+        endian       : endian_little;
+        alignment    :
+          (
+            procalign       : 16;
+            loopalign       : 4;
+            jumpalign       : 0;
+            jumpalignskipmax    : 0;
+            coalescealign   : 0;
+            coalescealignskipmax: 0;
+            constalignmin   : 0;
+            constalignmax   : 16;
+            varalignmin     : 0;
+            varalignmax     : 16;
+            localalignmin   : 4;
+            localalignmax   : 16;
+            recordalignmin  : 0;
+            recordalignmax  : 16;
+            maxCrecordalign : 16
+          );
+        first_parm_offset : 16;
+        stacksize   : 8*1024*1024;
+        stackalign   : 16;
+        abi : abi_aarch64_darwin;
+        llvmdatalayout : 'e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-n32:64-S128'
+      );
+
    system_aarch64_darwin_info  : tsysteminfo =
    system_aarch64_darwin_info  : tsysteminfo =
       (
       (
         system       : system_aarch64_darwin;
         system       : system_aarch64_darwin;
@@ -623,12 +690,16 @@ initialization
   {$endif powerpc64}
   {$endif powerpc64}
   {$ifdef cpuarm}
   {$ifdef cpuarm}
     {$ifdef Darwin}
     {$ifdef Darwin}
-      set_source_info(system_arm_darwin_info);
+      set_source_info(system_arm_ios_info);
     {$endif Darwin}
     {$endif Darwin}
   {$endif cpuarm}
   {$endif cpuarm}
   {$ifdef cpuaarch64}
   {$ifdef cpuaarch64}
     {$ifdef Darwin}
     {$ifdef Darwin}
-      set_source_info(system_aarch64_darwin_info);
+      {$ifdef ios}
+        set_source_info(system_aarch64_ios_info);
+      {$else}
+        set_source_info(system_aarch64_darwin_info);
+      {$endif}
     {$endif Darwin}
     {$endif Darwin}
   {$endif cpuaarch64}
   {$endif cpuaarch64}
 
 

+ 8 - 8
compiler/systems/i_macos.pas

@@ -28,11 +28,11 @@ unit i_macos;
     uses
     uses
        systems;
        systems;
      const
      const
-       system_powerpc_macos_info : tsysteminfo =
+       system_powerpc_macosclassic_info : tsysteminfo =
           (
           (
-            system       : system_powerpc_MACOS;
+            system       : system_powerpc_macosclassic;
             name         : 'Mac OS for PowerPC';
             name         : 'Mac OS for PowerPC';
-            shortname    : 'MacOS';
+            shortname    : 'MacOSClassic';
             flags        : [tf_p_ext_support,tf_files_case_aware];
             flags        : [tf_p_ext_support,tf_files_case_aware];
             cpu          : cpu_powerpc;
             cpu          : cpu_powerpc;
             unit_env     : '';
             unit_env     : '';
@@ -95,11 +95,11 @@ unit i_macos;
           );
           );
 
 
      const
      const
-       system_m68k_macos_info : tsysteminfo =
+       system_m68k_macosclassic_info : tsysteminfo =
           (
           (
-            system       : system_m68k_macos;
+            system       : system_m68k_macosclassic;
             name         : 'Mac OS for m68k';
             name         : 'Mac OS for m68k';
-            shortname    : 'MacOS';
+            shortname    : 'MacOSClassic';
             flags        : [tf_p_ext_support,tf_files_case_aware];
             flags        : [tf_p_ext_support,tf_files_case_aware];
             cpu          : cpu_m68k;
             cpu          : cpu_m68k;
             unit_env     : '';
             unit_env     : '';
@@ -166,12 +166,12 @@ unit i_macos;
 initialization
 initialization
 {$ifdef cpupowerpc}
 {$ifdef cpupowerpc}
   {$ifdef macos}
   {$ifdef macos}
-    set_source_info(system_powerpc_macos_info);
+    set_source_info(system_powerpc_macosclassic_info);
   {$endif macos}
   {$endif macos}
 {$endif cpupowerpc}
 {$endif cpupowerpc}
 {$ifdef cpum68k}
 {$ifdef cpum68k}
   {$ifdef macos}
   {$ifdef macos}
-    set_source_info(system_m68k_macos_info);
+    set_source_info(system_m68k_macosclassic_info);
   {$endif macos}
   {$endif macos}
 {$endif cpum68k}
 {$endif cpum68k}
 end.
 end.

+ 18 - 9
compiler/systems/t_darwin.pas

@@ -177,7 +177,7 @@ implementation
                       if CompareVersionStrings(MacOSXVersionMin,'10.5')>=0 then
                       if CompareVersionStrings(MacOSXVersionMin,'10.5')>=0 then
                         exit('crt1.10.5.o');
                         exit('crt1.10.5.o');
                     end;
                     end;
-                  system_arm_darwin:
+                  system_arm_ios:
                     begin
                     begin
                       { iOS:
                       { iOS:
                           iOS 6 and later: nothing
                           iOS 6 and later: nothing
@@ -199,6 +199,7 @@ implementation
                       if (CompareVersionStrings(iPhoneOSVersionMin,'8.1')>0) then
                       if (CompareVersionStrings(iPhoneOSVersionMin,'8.1')>0) then
                         exit('');
                         exit('');
                     end;
                     end;
+                  system_aarch64_ios,
                   system_aarch64_darwin:
                   system_aarch64_darwin:
                     { never anything }
                     { never anything }
                     exit('');
                     exit('');
@@ -232,8 +233,8 @@ implementation
                       if CompareVersionStrings(MacOSXVersionMin,'10.6')>=0 then
                       if CompareVersionStrings(MacOSXVersionMin,'10.6')>=0 then
                         exit('');
                         exit('');
                     end;
                     end;
-                  system_arm_darwin,
-                  system_aarch64_darwin:
+                  system_arm_ios,
+                  system_aarch64_ios:
                     begin
                     begin
                       { iOS: < 3.1: bundle1.o
                       { iOS: < 3.1: bundle1.o
                              >= 3.1: nothing }
                              >= 3.1: nothing }
@@ -247,6 +248,8 @@ implementation
                       if (CompareVersionStrings(iPhoneOSVersionMin,'8.1')>0) then
                       if (CompareVersionStrings(iPhoneOSVersionMin,'8.1')>0) then
                         exit('');
                         exit('');
                     end;
                     end;
+                  system_aarch64_darwin:
+                    exit('');
                   else
                   else
                     Internalerror(2019050710);
                     Internalerror(2019050710);
                 end;
                 end;
@@ -269,8 +272,8 @@ implementation
                       if CompareVersionStrings(MacOSXVersionMin,'10.5')>=0 then
                       if CompareVersionStrings(MacOSXVersionMin,'10.5')>=0 then
                         exit('dylib1.10.5.o');
                         exit('dylib1.10.5.o');
                     end;
                     end;
-                  system_arm_darwin,
-                  system_aarch64_darwin:
+                  system_arm_ios,
+                  system_aarch64_ios:
                     begin
                     begin
                       { iOS: < 3.1: dylib1.o
                       { iOS: < 3.1: dylib1.o
                              >= 3.1: nothing }
                              >= 3.1: nothing }
@@ -284,6 +287,8 @@ implementation
                       if (CompareVersionStrings(iPhoneOSVersionMin,'8.1')>0) then
                       if (CompareVersionStrings(iPhoneOSVersionMin,'8.1')>0) then
                         exit('');
                         exit('');
                     end;
                     end;
+                  system_aarch64_darwin:
+                    exit('');
                   else
                   else
                     Internalerror(2019050711);
                     Internalerror(2019050711);
                 end;
                 end;
@@ -343,10 +348,11 @@ implementation
         system_x86_64_darwin,
         system_x86_64_darwin,
         system_x86_64_iphonesim:
         system_x86_64_iphonesim:
           LinkRes.Add('x86_64');
           LinkRes.Add('x86_64');
-        system_arm_darwin:
+        system_arm_ios:
           { current versions of the linker require the sub-architecture type
           { current versions of the linker require the sub-architecture type
             to be specified }
             to be specified }
           LinkRes.Add(lower(cputypestr[current_settings.cputype]));
           LinkRes.Add(lower(cputypestr[current_settings.cputype]));
+        system_aarch64_ios,
         system_aarch64_darwin:
         system_aarch64_darwin:
           LinkRes.Add('arm64');
           LinkRes.Add('arm64');
         else
         else
@@ -758,11 +764,14 @@ initialization
   RegisterTarget(system_powerpc64_darwin_info);
   RegisterTarget(system_powerpc64_darwin_info);
 {$endif powerpc64}
 {$endif powerpc64}
 {$ifdef arm}
 {$ifdef arm}
-  RegisterImport(system_arm_darwin,timportlibdarwin);
-  RegisterExport(system_arm_darwin,texportlibdarwin);
-  RegisterTarget(system_arm_darwin_info);
+  RegisterImport(system_arm_ios,timportlibdarwin);
+  RegisterExport(system_arm_ios,texportlibdarwin);
+  RegisterTarget(system_arm_ios_info);
 {$endif arm}
 {$endif arm}
 {$ifdef aarch64}
 {$ifdef aarch64}
+  RegisterImport(system_aarch64_ios,timportlibdarwin);
+  RegisterExport(system_aarch64_ios,texportlibdarwin);
+  RegisterTarget(system_aarch64_ios_info);
   RegisterImport(system_aarch64_darwin,timportlibdarwin);
   RegisterImport(system_aarch64_darwin,timportlibdarwin);
   RegisterExport(system_aarch64_darwin,texportlibdarwin);
   RegisterExport(system_aarch64_darwin,texportlibdarwin);
   RegisterTarget(system_aarch64_darwin_info);
   RegisterTarget(system_aarch64_darwin_info);

+ 5 - 5
compiler/systems/t_macos.pas

@@ -276,7 +276,7 @@ end;
 procedure TLinkerMacOS.SetDefaultInfo;
 procedure TLinkerMacOS.SetDefaultInfo;
 begin
 begin
   case (target_info.system) of
   case (target_info.system) of
-    system_m68k_macos:      SetMacOS68kInfo;
+    system_m68k_macosclassic:      SetMacOS68kInfo;
     else
     else
       ;
       ;
   end;
   end;
@@ -450,8 +450,8 @@ initialization
 {$ifndef macos}
 {$ifndef macos}
   RegisterLinker(ld_mpw,TLinkerMacOS);
   RegisterLinker(ld_mpw,TLinkerMacOS);
 {$endif}
 {$endif}
-  RegisterTarget(system_m68k_macos_info);
-  RegisterImport(system_m68k_macos,timportlibmacos);
+  RegisterTarget(system_m68k_macosclassic_info);
+  RegisterImport(system_m68k_macosclassic,timportlibmacos);
 {$endif m68k}
 {$endif m68k}
 {$ifdef powerpc}
 {$ifdef powerpc}
 {$ifndef macos}
 {$ifndef macos}
@@ -459,7 +459,7 @@ initialization
 {$else}
 {$else}
   RegisterLinker(ld_mpw,TLinkerMPW);
   RegisterLinker(ld_mpw,TLinkerMPW);
 {$endif}
 {$endif}
-  RegisterTarget(system_powerpc_macos_info);
-  RegisterImport(system_powerpc_macos,timportlibmacos);
+  RegisterTarget(system_powerpc_macosclassic_info);
+  RegisterImport(system_powerpc_macosclassic,timportlibmacos);
 {$endif powerpc}
 {$endif powerpc}
 end.
 end.

+ 6 - 5
compiler/utils/ppuutils/ppudump.pp

@@ -129,12 +129,12 @@ const
   { 6 }   'FreeBSD-i386',
   { 6 }   'FreeBSD-i386',
   { 7 }   'Amiga',
   { 7 }   'Amiga',
   { 8 }   'Atari',
   { 8 }   'Atari',
-  { 9 }   'MacOS-m68k',
+  { 9 }   'MacOSClassic-m68k',
   { 10 }  'Linux-m68k',
   { 10 }  'Linux-m68k',
   { 11 }  'PalmOS-m68k',
   { 11 }  'PalmOS-m68k',
   { 12 }  'Linux-alpha (obsolete)',
   { 12 }  'Linux-alpha (obsolete)',
   { 13 }  'Linux-ppc',
   { 13 }  'Linux-ppc',
-  { 14 }  'MacOS-ppc',
+  { 14 }  'MacOSClassic-ppc',
   { 15 }  'Solaris-i386',
   { 15 }  'Solaris-i386',
   { 16 }  'BeOS-i386',
   { 16 }  'BeOS-i386',
   { 17 }  'NetBSD-i386',
   { 17 }  'NetBSD-i386',
@@ -184,7 +184,7 @@ const
   { 61 }  'Darwin-x64',
   { 61 }  'Darwin-x64',
   { 62 }  'Embedded-avr',
   { 62 }  'Embedded-avr',
   { 63 }  'Haiku-i386',
   { 63 }  'Haiku-i386',
-  { 64 }  'Darwin-ARM',
+  { 64 }  'iOS-ARM',
   { 65 }  'Solaris-x86-64',
   { 65 }  'Solaris-x86-64',
   { 66 }  'Linux-MIPS',
   { 66 }  'Linux-MIPS',
   { 67 }  'Linux-MIPSel',
   { 67 }  'Linux-MIPSel',
@@ -206,7 +206,7 @@ const
   { 83 }  'AROS-i386',
   { 83 }  'AROS-i386',
   { 84 }  'AROS-x86-64',
   { 84 }  'AROS-x86-64',
   { 85 }  'DragonFly-x86-64',
   { 85 }  'DragonFly-x86-64',
-  { 86 }  'Darwin-AArch64',
+  { 86 }  'iOS-AArch64',
   { 87 }  'iPhoneSim-x86-64',
   { 87 }  'iPhoneSim-x86-64',
   { 88 }  'Linux-AArch64',
   { 88 }  'Linux-AArch64',
   { 89 }  'Win16',
   { 89 }  'Win16',
@@ -230,7 +230,8 @@ const
   { 107 } 'Win64-AArch64',
   { 107 } 'Win64-AArch64',
   { 108 } 'Embedded-Z80',
   { 108 } 'Embedded-Z80',
   { 109 } 'ZXSpectrum-Z80',
   { 109 } 'ZXSpectrum-Z80',
-  { 110 } 'MSX-DOS-Z80'
+  { 110 } 'MSX-DOS-Z80',
+  { 111 } 'Darwin-AArch64'
   );
   );
 
 
 const
 const

+ 1 - 1
packages/aspell/fpmake.pp

@@ -24,7 +24,7 @@ begin
     P.Author := 'header:Aleš Katona, library: Kevin Atkinson';
     P.Author := 'header:Aleš Katona, library: Kevin Atkinson';
     P.License := 'header: LGPL with modification, library: LGPL 2.0 or 2.1';
     P.License := 'header: LGPL with modification, library: LGPL 2.0 or 2.1';
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,netbsd,openbsd,linux,win32,aix,dragonfly];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,netbsd,openbsd,linux,win32,aix,dragonfly];
     P.Email := '';
     P.Email := '';
     P.Description := 'The New Aspell, spelling library';
     P.Description := 'The New Aspell, spelling library';
     P.NeedLibC:= true;
     P.NeedLibC:= true;

+ 1 - 1
packages/bfd/fpmake.pp

@@ -23,7 +23,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Binary File Descriptor library.';
     P.Description := 'Binary File Descriptor library.';
     P.NeedLibC:= true;
     P.NeedLibC:= true;
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,aix,dragonfly];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,aix,dragonfly];
 
 
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
 
 

+ 1 - 1
packages/bzip2/fpmake.pp

@@ -28,7 +28,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'BZip2 decompression unit.';
     P.Description := 'BZip2 decompression unit.';
     P.NeedLibC:= true;
     P.NeedLibC:= true;
-    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macos,palmos,zxspectrum,msxdos];
+    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macosclassic,palmos,zxspectrum,msxdos];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/chm/fpmake.pp

@@ -25,7 +25,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Standalone CHM reader and writer library';
     P.Description := 'Standalone CHM reader and writer library';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macos,palmos,atari,zxspectrum];
+    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macosclassic,palmos,atari,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/cocoaint/fpmake.pp

@@ -18,7 +18,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.CPUs:=[i386,x86_64,powerpc,powerpc64];
+    P.CPUs:=[i386,x86_64,powerpc,powerpc64,aarch64];
     P.OSes:=[darwin];
     P.OSes:=[darwin];
     P.Dependencies.Add('univint');
     P.Dependencies.Add('univint');
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');

+ 2 - 2
packages/fcl-base/fpmake.pp

@@ -18,7 +18,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.Dependencies.Add('univint',[Darwin,iPhoneSim]);
+    P.Dependencies.Add('univint',[Darwin,iPhoneSim,ios]);
     P.Dependencies.Add('fcl-res');
     P.Dependencies.Add('fcl-res');
     p.Dependencies.Add('rtl-objpas');
     p.Dependencies.Add('rtl-objpas');
 
 
@@ -27,7 +27,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Base library of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Base library of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 4 - 4
packages/fcl-db/fpmake.pp

@@ -10,9 +10,9 @@ procedure add_fcl_db(const ADirectory: string);
 const
 const
   ParadoxOSes         = [beos,haiku,linux,freebsd,netbsd,openbsd,win32,dragonfly];
   ParadoxOSes         = [beos,haiku,linux,freebsd,netbsd,openbsd,win32,dragonfly];
   DatadictOSes        = [aix,beos,darwin,haiku,linux,freebsd,win32,win64,wince,android,dragonfly];
   DatadictOSes        = [aix,beos,darwin,haiku,linux,freebsd,win32,win64,wince,android,dragonfly];
-  SqldbConnectionOSes = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,win64,wince,android,dragonfly];
-  SqliteOSes          = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,win64,wince,android,dragonfly];
-  DBaseOSes           = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,win64,wince,android,os2,dragonfly];
+  SqldbConnectionOSes = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,ios,netbsd,openbsd,solaris,win32,win64,wince,android,dragonfly];
+  SqliteOSes          = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,ios,netbsd,openbsd,solaris,win32,win64,wince,android,dragonfly];
+  DBaseOSes           = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,ios,netbsd,openbsd,solaris,win32,win64,wince,android,os2,dragonfly];
   MSSQLOSes           = [beos,haiku,linux,freebsd,netbsd,openbsd,solaris,win32,win64,android,dragonfly];
   MSSQLOSes           = [beos,haiku,linux,freebsd,netbsd,openbsd,solaris,win32,win64,android,dragonfly];
 
 
 
 
@@ -32,7 +32,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Database library of Free Component Libraries(FCL), FPC''s OOP library.';
     P.Description := 'Database library of Free Component Libraries(FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-extra/fpmake.pp

@@ -25,7 +25,7 @@ begin
 
 
     P.Dependencies.Add('winunits-jedi',[Win32,Win64]);
     P.Dependencies.Add('winunits-jedi',[Win32,Win64]);
     P.Dependencies.Add('winunits-base',[Win32,Win64]);
     P.Dependencies.Add('winunits-base',[Win32,Win64]);
-    P.Dependencies.Add('univint',[darwin,iPhoneSim]);
+    P.Dependencies.Add('univint',[darwin,iPhoneSim,ios]);
 
 
     P.Author := '<various>';
     P.Author := '<various>';
     P.License := 'LGPL with modification, ';
     P.License := 'LGPL with modification, ';

+ 2 - 2
packages/fcl-fpcunit/fpmake.pp

@@ -22,7 +22,7 @@ begin
     P.Dependencies.Add('fcl-base');
     P.Dependencies.Add('fcl-base');
     P.Dependencies.Add('fcl-xml');
     P.Dependencies.Add('fcl-xml');
     P.Dependencies.Add('libtar');
     P.Dependencies.Add('libtar');
-    P.Dependencies.Add('univint',[Darwin,iPhoneSim]);
+    P.Dependencies.Add('univint',[Darwin,iPhoneSim,ios]);
 
 
     P.Author := ' Dean Zobec, Michael van Canneyt';
     P.Author := ' Dean Zobec, Michael van Canneyt';
     P.License := 'LGPL with modification, ';
     P.License := 'LGPL with modification, ';
@@ -30,7 +30,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Unit testing system inspired by JUnit of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Unit testing system inspired by JUnit of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macos,palmos,symbian,zxspectrum];
+    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macosclassic,palmos,symbian,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 5 - 5
packages/fcl-image/fpmake.pp

@@ -28,7 +28,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Image loading and conversion parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Image loading and conversion parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 
@@ -224,18 +224,18 @@ begin
         begin
         begin
           AddUnit('fpimage');
           AddUnit('fpimage');
         end;
         end;
-    T:=P.Targets.AddUnit('freetypeh.pp',[solaris,iphonesim,darwin,freebsd,openbsd,netbsd,linux,haiku,beos,win32,win64,aix,dragonfly]);
+    T:=P.Targets.AddUnit('freetypeh.pp',[solaris,iphonesim,ios,darwin,freebsd,openbsd,netbsd,linux,haiku,beos,win32,win64,aix,dragonfly]);
     T.Dependencies.AddInclude('libfreetype.inc');
     T.Dependencies.AddInclude('libfreetype.inc');
-    T:=P.Targets.AddUnit('freetypehdyn.pp',[solaris,iphonesim,darwin,freebsd,openbsd,netbsd,linux,haiku,beos,win32,win64,aix,dragonfly]);
+    T:=P.Targets.AddUnit('freetypehdyn.pp',[solaris,iphonesim,ios,darwin,freebsd,openbsd,netbsd,linux,haiku,beos,win32,win64,aix,dragonfly]);
       T.ResourceStrings:=true;
       T.ResourceStrings:=true;
     T.Dependencies.AddInclude('libfreetype.inc');
     T.Dependencies.AddInclude('libfreetype.inc');
-    T:=P.Targets.AddUnit('freetype.pp',[solaris,iphonesim,darwin,freebsd,openbsd,netbsd,linux,haiku,beos,win32,win64,aix,dragonfly]);
+    T:=P.Targets.AddUnit('freetype.pp',[solaris,iphonesim,ios,darwin,freebsd,openbsd,netbsd,linux,haiku,beos,win32,win64,aix,dragonfly]);
       with T.Dependencies do
       with T.Dependencies do
         begin
         begin
           AddUnit('freetypeh');
           AddUnit('freetypeh');
           AddUnit('fpimgcmn');
           AddUnit('fpimgcmn');
         end;
         end;
-    T:=P.Targets.AddUnit('ftfont.pp',[solaris,iphonesim,darwin,freebsd,openbsd,netbsd,linux,haiku,beos,win32,win64,aix,dragonfly]);
+    T:=P.Targets.AddUnit('ftfont.pp',[solaris,iphonesim,ios,darwin,freebsd,openbsd,netbsd,linux,haiku,beos,win32,win64,aix,dragonfly]);
       with T.Dependencies do
       with T.Dependencies do
         begin
         begin
           AddUnit('fpcanvas');
           AddUnit('fpcanvas');

+ 1 - 1
packages/fcl-js/fpmake.pp

@@ -23,7 +23,7 @@ begin
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
     P.Email := '[email protected]';
     P.Email := '[email protected]';
     P.Description := 'Javascript scanner/parser/syntax tree units';
     P.Description := 'Javascript scanner/parser/syntax tree units';
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-json/fpmake.pp

@@ -26,7 +26,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Json interfacing, part of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Json interfacing, part of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-net/fpmake.pp

@@ -30,7 +30,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Network related parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Network related parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=P.OSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=P.OSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-passrc/fpmake.pp

@@ -25,7 +25,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Pascal parsing parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Pascal parsing parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-pdf/fpmake.pp

@@ -24,7 +24,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'PDF generating and TTF file info library';
     P.Description := 'PDF generating and TTF file info library';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=P.OSes-[embedded,win16,msdos,nativent,macos,palmos,zxspectrum];
+    P.OSes:=P.OSes-[embedded,win16,msdos,nativent,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-process/fpmake.pp

@@ -25,7 +25,7 @@ begin
     P.Description := 'Process (execution) related parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Process (execution) related parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Options.Add('-S2h');
     P.Options.Add('-S2h');
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,go32v2,nativent,macos,palmos,atari,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,go32v2,nativent,macosclassic,palmos,atari,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-registry/fpmake.pp

@@ -27,7 +27,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Windows registry + emulation parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Windows registry + emulation parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-res/fpmake.pp

@@ -24,7 +24,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Resource handling of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Resource handling of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-sdo/fpmake.pp

@@ -25,7 +25,7 @@ begin
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
     P.Email := '[email protected]';
     P.Email := '[email protected]';
     P.Description := 'Free Pascal implementation of Service Data Objects';
     P.Description := 'Free Pascal implementation of Service Data Objects';
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fcl-sound/fpmake.pp

@@ -26,7 +26,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Sound loading, storing and conversion parts for the Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'Sound loading, storing and conversion parts for the Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 4 - 4
packages/fcl-web/fpmake.pp

@@ -21,7 +21,7 @@ begin
     P.ShortName:='fclw';
     P.ShortName:='fclw';
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly,android];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly,android];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 
@@ -39,7 +39,7 @@ begin
     P.Dependencies.Add('httpd24', AllOses - [amiga,aros,morphos]);
     P.Dependencies.Add('httpd24', AllOses - [amiga,aros,morphos]);
     P.Dependencies.Add('winunits-base', [Win32,Win64]);
     P.Dependencies.Add('winunits-base', [Win32,Win64]);
     // (Temporary) indirect dependencies, not detected by fpcmake:
     // (Temporary) indirect dependencies, not detected by fpcmake:
-    P.Dependencies.Add('univint',[MacOSX,iphonesim]);
+    P.Dependencies.Add('univint',[MacOSX,iphonesim,ios]);
     P.Dependencies.Add('libmicrohttpd',LibMicroHttpdOSes);
     P.Dependencies.Add('libmicrohttpd',LibMicroHttpdOSes);
     P.Author := 'FreePascal development team';
     P.Author := 'FreePascal development team';
     P.License := 'LGPL with modification, ';
     P.License := 'LGPL with modification, ';
@@ -142,12 +142,12 @@ begin
       end;
       end;
     with P.Targets.AddUnit('fpfcgi.pp') do
     with P.Targets.AddUnit('fpfcgi.pp') do
       begin
       begin
-        OSes:=AllOses-[wince,darwin,iphonesim,aix,amiga,aros,morphos];
+        OSes:=AllOses-[wince,darwin,iphonesim,ios,aix,amiga,aros,morphos];
         Dependencies.AddUnit('custfcgi');
         Dependencies.AddUnit('custfcgi');
       end;
       end;
     with P.Targets.AddUnit('custfcgi.pp') do
     with P.Targets.AddUnit('custfcgi.pp') do
       begin
       begin
-        OSes:=AllOses-[wince,darwin,iphonesim,aix,amiga,aros,morphos];
+        OSes:=AllOses-[wince,darwin,iphonesim,ios,aix,amiga,aros,morphos];
         Dependencies.AddUnit('httpprotocol');
         Dependencies.AddUnit('httpprotocol');
         Dependencies.AddUnit('cgiprotocol');
         Dependencies.AddUnit('cgiprotocol');
         Dependencies.AddUnit('custcgi');
         Dependencies.AddUnit('custcgi');

+ 3 - 3
packages/fcl-xml/fpmake.pp

@@ -21,7 +21,7 @@ begin
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.Options.Add('-S2h');
     P.Options.Add('-S2h');
     D:=P.Dependencies.Add('fcl-base');
     D:=P.Dependencies.Add('fcl-base');
-    D:=P.Dependencies.Add('iconvenc',[linux,darwin,iphonesim,freebsd,haiku,beos,aix]);
+    D:=P.Dependencies.Add('iconvenc',[linux,darwin,iphonesim,ios,freebsd,haiku,beos,aix]);
 
 
     P.Author := 'Sebastian Guenther, Sergei Gorelkin and FPC development team';
     P.Author := 'Sebastian Guenther, Sergei Gorelkin and FPC development team';
     P.License := 'LGPL with modification, ';
     P.License := 'LGPL with modification, ';
@@ -29,7 +29,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'XML and DOM parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.Description := 'XML and DOM parts of Free Component Libraries (FCL), FPC''s OOP library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 
@@ -152,7 +152,7 @@ begin
           AddUnit('dom');
           AddUnit('dom');
           AddUnit('htmldefs');
           AddUnit('htmldefs');
         end;
         end;
-    T:=P.Targets.AddUnit('xmliconv.pas',[linux,freebsd,darwin,iphonesim,haiku,beos,aix]);
+    T:=P.Targets.AddUnit('xmliconv.pas',[linux,freebsd,darwin,iphonesim,ios,haiku,beos,aix]);
       with T.Dependencies do
       with T.Dependencies do
         begin
         begin
           AddUnit('xmlread');
           AddUnit('xmlread');

+ 2 - 2
packages/fpindexer/fpmake.pp

@@ -7,8 +7,8 @@ uses fpmkunit;
 
 
 procedure add_fpindexer(const ADirectory: string);
 procedure add_fpindexer(const ADirectory: string);
 Const
 Const
-  SqldbConnectionOSes = [beos,haiku,linux,freebsd,win32,win64,wince,darwin,iphonesim,netbsd,openbsd,aix,dragonfly];
-  SqliteOSes          = [beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,win32,wince,aix,dragonfly];
+  SqldbConnectionOSes = [beos,haiku,linux,freebsd,win32,win64,wince,darwin,iphonesim,ios,netbsd,openbsd,aix,dragonfly];
+  SqliteOSes          = [beos,haiku,linux,freebsd,darwin,iphonesim,ios,netbsd,openbsd,win32,wince,aix,dragonfly];
     
     
 Var
 Var
   T : TTarget;
   T : TTarget;

+ 1 - 1
packages/fpmkunit/fpmake.pp

@@ -25,7 +25,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Basic library of the fpmake/fppkg build system.';
     P.Description := 'Basic library of the fpmake/fppkg build system.';
     P.NeedLibC:= false;  // true for headers that indirectly link to libc?
     P.NeedLibC:= false;  // true for headers that indirectly link to libc?
-    P.OSes := P.OSes - [embedded,nativent,msdos,win16,atari,macos,palmos,zxspectrum];
+    P.OSes := P.OSes - [embedded,nativent,msdos,win16,atari,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 12 - 11
packages/fpmkunit/src/fpmkunit.pp

@@ -119,10 +119,10 @@ Type
   TOS=(osNone,
   TOS=(osNone,
     linux,go32v2,win32,os2,freebsd,beos,netbsd,
     linux,go32v2,win32,os2,freebsd,beos,netbsd,
     amiga,atari, solaris, qnx, netware, openbsd,wdosx,
     amiga,atari, solaris, qnx, netware, openbsd,wdosx,
-    palmos,macos,darwin,emx,watcom,morphos,netwlibc,
+    palmos,macosclassic,darwin,emx,watcom,morphos,netwlibc,
     win64,wince,gba,nds,embedded,symbian,haiku,iphonesim,
     win64,wince,gba,nds,embedded,symbian,haiku,iphonesim,
     aix,java,android,nativent,msdos,wii,aros,dragonfly,
     aix,java,android,nativent,msdos,wii,aros,dragonfly,
-    win16,wasm,freertos,zxspectrum,msxdos
+    win16,wasm,freertos,zxspectrum,msxdos,ios
   );
   );
   TOSes = Set of TOS;
   TOSes = Set of TOS;
 
 
@@ -175,14 +175,14 @@ Const
 
 
   AllOSes = [Low(TOS)..High(TOS)];
   AllOSes = [Low(TOS)..High(TOS)];
   AllCPUs = [Low(TCPU)..High(TCPU)];
   AllCPUs = [Low(TCPU)..High(TCPU)];
-  AllUnixOSes  = [Linux,FreeBSD,NetBSD,OpenBSD,Darwin,QNX,BeOS,Solaris,Haiku,iphonesim,aix,Android,dragonfly];
-  AllBSDOSes      = [FreeBSD,NetBSD,OpenBSD,Darwin,iphonesim,dragonfly];
+  AllUnixOSes  = [Linux,FreeBSD,NetBSD,OpenBSD,Darwin,QNX,BeOS,Solaris,Haiku,iphonesim,ios,aix,Android,dragonfly];
+  AllBSDOSes      = [FreeBSD,NetBSD,OpenBSD,Darwin,iphonesim,ios,dragonfly];
   AllWindowsOSes  = [Win32,Win64,WinCE];
   AllWindowsOSes  = [Win32,Win64,WinCE];
   AllAmigaLikeOSes = [Amiga,MorphOS,AROS];
   AllAmigaLikeOSes = [Amiga,MorphOS,AROS];
   AllLimit83fsOses = [go32v2,os2,emx,watcom,msdos,win16,atari];
   AllLimit83fsOses = [go32v2,os2,emx,watcom,msdos,win16,atari];
 
 
   AllSmartLinkLibraryOSes = [Linux,msdos,win16,palmos]; // OSes that use .a library files for smart-linking
   AllSmartLinkLibraryOSes = [Linux,msdos,win16,palmos]; // OSes that use .a library files for smart-linking
-  AllImportLibraryOSes = AllWindowsOSes + [os2,emx,netwlibc,netware,watcom,go32v2,macos,nativent,msdos,win16];
+  AllImportLibraryOSes = AllWindowsOSes + [os2,emx,netwlibc,netware,watcom,go32v2,macosclassic,nativent,msdos,win16];
 
 
   { This table is kept OS,Cpu because it is easier to maintain (PFV) }
   { This table is kept OS,Cpu because it is easier to maintain (PFV) }
   OSCPUSupported : array[TOS,TCpu] of boolean = (
   OSCPUSupported : array[TOS,TCpu] of boolean = (
@@ -203,8 +203,8 @@ Const
     { openbsd } ( false, true,  true,  false, false, true,  false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { openbsd } ( false, true,  true,  false, false, true,  false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { wdosx }   ( false, true,  false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { wdosx }   ( false, true,  false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { palmos }  ( false, false, true,  false, false, false, true,  false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { palmos }  ( false, false, true,  false, false, false, true,  false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
-    { macos }   ( false, false, true,  true,  false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
-    { darwin }  ( false, true,  false, true,  false, true,  true,  true,  false, false, false, false, false, false,   false, false, true , false, false,  false,  false,   false, false),
+{ macosclassic }( false, false, true,  true,  false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
+    { darwin }  ( false, true,  false, true,  false, true,  false,  true, false, false, false, false, false, false,   false, false, true , false, false,  false,  false,   false, false),
     { emx }     ( false, true,  false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { emx }     ( false, true,  false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { watcom }  ( false, true,  false, false, false ,false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { watcom }  ( false, true,  false, false, false ,false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { morphos } ( false, false, false, true,  false ,false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
     { morphos } ( false, false, false, true,  false ,false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, false),
@@ -229,7 +229,8 @@ Const
     { wasm }    ( false, false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, true,  false,  false,  false,   false, false),
     { wasm }    ( false, false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, true,  false,  false,  false,   false, false),
     { freertos }( false, false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   true , false),
     { freertos }( false, false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   true , false),
     {zxspectrum}( false, false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, true ),
     {zxspectrum}( false, false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, true ),
-    { msxdos }  ( false, false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, true )
+    { msxdos }  ( false, false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false, false, false,  false,  false,   false, true ),
+    { ios }     ( false, false, false, false, false, false,  true, false, false, false, false, false, false, false,   false, false, true , false, false,  false,  false,   false, false)
   );
   );
 
 
   // Useful
   // Useful
@@ -2652,7 +2653,7 @@ function AddLibraryExtension(const LibraryName: string; AOS : TOS): string;
 begin
 begin
   if AOS in [Go32v2,Win32,Win64,Wince,OS2,EMX,Watcom] then
   if AOS in [Go32v2,Win32,Win64,Wince,OS2,EMX,Watcom] then
     Result:=LibraryName+DLLExt
     Result:=LibraryName+DLLExt
-  else if aOS in [darwin,macos,iphonesim] then
+  else if aOS in [darwin,macosclassic,iphonesim,ios] then
     Result:=LibraryName+DyLibExt
     Result:=LibraryName+DyLibExt
   else if aOS = Aix then
   else if aOS = Aix then
     Result:=LibraryName+AIXSharedLibExt
     Result:=LibraryName+AIXSharedLibExt
@@ -2666,7 +2667,7 @@ begin
     Result := 'libimp'+UnitName
     Result := 'libimp'+UnitName
   else if AOS in [os2,emx] then
   else if AOS in [os2,emx] then
     Result := UnitName
     Result := UnitName
-  else if AOS in [netware,netwlibc,macos] then
+  else if AOS in [netware,netwlibc,macosclassic] then
     Result := 'lib'+UnitName
     Result := 'lib'+UnitName
   else
   else
     Result := 'libimp'+UnitName;
     Result := 'libimp'+UnitName;
@@ -8677,7 +8678,7 @@ begin
     Result := Name+LibExt
     Result := Name+LibExt
   else if AOS in [java] then
   else if AOS in [java] then
     Result:=Name+'.jar'
     Result:=Name+'.jar'
-  else if AOS in [macos] then
+  else if AOS in [macosclassic] then
     Result:=Name+'Lib'
     Result:=Name+'Lib'
   else
   else
     Result:='libp'+Name+LibExt;
     Result:='libp'+Name+LibExt;

+ 3 - 3
packages/fppkg/fpmake.pp

@@ -8,7 +8,7 @@ uses fpmkunit, sysutils;
 procedure add_fppkg(const ADirectory: string);
 procedure add_fppkg(const ADirectory: string);
 
 
 const
 const
-  TargetsWithWGet = [linux,beos,haiku,freebsd,netbsd,openbsd,darwin,iphonesim,solaris,win32,win64,wince,aix,dragonfly];
+  TargetsWithWGet = [linux,beos,haiku,freebsd,netbsd,openbsd,darwin,iphonesim,ios,solaris,win32,win64,wince,aix,dragonfly];
   TargetsWithfpWeb = TargetsWithWGet;
   TargetsWithfpWeb = TargetsWithWGet;
 
 
 Var
 Var
@@ -33,7 +33,7 @@ begin
     P.Dependencies.Add('paszlib');
     P.Dependencies.Add('paszlib');
     P.Dependencies.Add('fpmkunit');
     P.Dependencies.Add('fpmkunit');
 
 
-    P.Dependencies.Add('univint',[MacOSX,iphonesim]);
+    P.Dependencies.Add('univint',[MacOSX,iphonesim,ios]);
     P.Dependencies.Add('fcl-net', TargetsWithfpWeb);
     P.Dependencies.Add('fcl-net', TargetsWithfpWeb);
     P.Dependencies.Add('fcl-web', TargetsWithfpWeb);
     P.Dependencies.Add('fcl-web', TargetsWithfpWeb);
     P.Dependencies.Add('httpd22', TargetsWithfpWeb);
     P.Dependencies.Add('httpd22', TargetsWithfpWeb);
@@ -44,7 +44,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Libraries to create fppkg package managers.';
     P.Description := 'Libraries to create fppkg package managers.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes := P.OSes - [embedded,nativent,msdos,win16,atari,macos,palmos,symbian,zxspectrum];
+    P.OSes := P.OSes - [embedded,nativent,msdos,win16,atari,macosclassic,palmos,symbian,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/fv/fpmake.pp

@@ -20,7 +20,7 @@ begin
     P.Author := 'Leon De Boer and Pierre Mueller';
     P.Author := 'Leon De Boer and Pierre Mueller';
     P.License := 'LGPL with modification, ';
     P.License := 'LGPL with modification, ';
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,win16,win32,win64,os2,emx,netware,netwlibc,go32v2,msdos,aix,dragonfly]+AllAmigaLikeOSes;
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,win16,win32,win64,os2,emx,netware,netwlibc,go32v2,msdos,aix,dragonfly]+AllAmigaLikeOSes;
     P.Email := '';
     P.Email := '';
     P.Description := 'Free Vision, a portable Turbo Vision clone.';
     P.Description := 'Free Vision, a portable Turbo Vision clone.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;

+ 1 - 1
packages/gmp/fpmake.pp

@@ -24,7 +24,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'GMP';
     P.Description := 'GMP';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes := [freebsd,darwin,iphonesim,linux,win32,aix];
+    P.OSes := [freebsd,darwin,iphonesim,ios,linux,win32,aix];
 
 
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
 
 

+ 1 - 1
packages/gnome1/fpmake.pp

@@ -18,7 +18,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes:=AllUnixOSes-[darwin,iphonesim,Android];
+    P.OSes:=AllUnixOSes-[darwin,iphonesim,ios,Android];
     if Defaults.CPU<>arm then
     if Defaults.CPU<>arm then
       P.OSes := P.OSes + [darwin];
       P.OSes := P.OSes + [darwin];
 
 

+ 1 - 1
packages/googleapi/fpmake.pp

@@ -30,7 +30,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Google API client libraries.';
     P.Description := 'Google API client libraries.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly];
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.Dependencies.Add('fcl-base');
     P.Dependencies.Add('fcl-base');

+ 1 - 1
packages/gtk1/fpmake.pp

@@ -24,7 +24,7 @@ begin
     P.Description := 'Header to the GTK widgetset (v1).';
     P.Description := 'Header to the GTK widgetset (v1).';
     P.NeedLibC:= true;  // true for headers that indirectly link to libc?
     P.NeedLibC:= true;  // true for headers that indirectly link to libc?
 
 
-    P.OSes:=AllUnixOSes+[Win32,Win64,OS2,EMX]-[darwin,iphonesim,Android];
+    P.OSes:=AllUnixOSes+[Win32,Win64,OS2,EMX]-[darwin,iphonesim,ios,Android];
     if Defaults.CPU<>arm then
     if Defaults.CPU<>arm then
       P.OSes := P.OSes + [darwin];
       P.OSes := P.OSes + [darwin];
 
 

+ 1 - 1
packages/gtk2/fpmake.pp

@@ -18,7 +18,7 @@ begin
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.SupportBuildModes := [bmOneByOne];
     P.SupportBuildModes := [bmOneByOne];
-    P.OSes:=AllUnixOSes+[Win32,Win64]-[darwin,iphonesim,Android];
+    P.OSes:=AllUnixOSes+[Win32,Win64]-[darwin,iphonesim,ios,Android];
     if Defaults.CPU<>arm then
     if Defaults.CPU<>arm then
       P.OSes := P.OSes + [darwin];
       P.OSes := P.OSes + [darwin];
 
 

+ 1 - 1
packages/hash/fpmake.pp

@@ -23,7 +23,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Several hash and cryptography algorithms (MD5,CRC,Linux crypt and NTLM1).';
     P.Description := 'Several hash and cryptography algorithms (MD5,CRC,Linux crypt and NTLM1).';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=P.OSes-[embedded,win16,macos,palmos,zxspectrum];
+    P.OSes:=P.OSes-[embedded,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/hermes/fpmake.pp

@@ -25,7 +25,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Library for pixel graphics conversion';
     P.Description := 'Library for pixel graphics conversion';
     P.NeedLibC := false;
     P.NeedLibC := false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/iconvenc/fpmake.pp

@@ -20,7 +20,7 @@ begin
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.Author := 'Marco van de Voort';
     P.Author := 'Marco van de Voort';
     P.License := 'Library: LGPL2 or later, header: LGPL with modification, ';
     P.License := 'Library: LGPL2 or later, header: LGPL with modification, ';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,linux,aix];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,linux,aix];
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
     P.Email := '';
     P.Email := '';
     P.Description := 'A libiconv header translation.';
     P.Description := 'A libiconv header translation.';

+ 1 - 1
packages/imlib/fpmake.pp

@@ -26,7 +26,7 @@ begin
     P.Description := 'Headers to imlib, an efficient bitmap manipulation program';
     P.Description := 'Headers to imlib, an efficient bitmap manipulation program';
     P.NeedLibC:= true;  // true for headers that indirectly link to libc?
     P.NeedLibC:= true;  // true for headers that indirectly link to libc?
 
 
-    P.OSes:=AllUnixOSes+[OS2,EMX]-[darwin,iphonesim,Android];
+    P.OSes:=AllUnixOSes+[OS2,EMX]-[darwin,iphonesim,ios,Android];
     if Defaults.CPU<>arm then
     if Defaults.CPU<>arm then
       P.OSes := P.OSes + [darwin];
       P.OSes := P.OSes + [darwin];
 
 

+ 1 - 1
packages/iosxlocale/fpmake.pp

@@ -20,7 +20,7 @@ begin
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
-    P.OSes:=[darwin,iphonesim];
+    P.OSes:=[darwin,iphonesim,ios];
 
 
     T:=P.Targets.AddUnit('iosxlocale.pp');
     T:=P.Targets.AddUnit('iosxlocale.pp');
     T:=P.Targets.AddUnit('iosxwstr.pp');
     T:=P.Targets.AddUnit('iosxwstr.pp');

+ 1 - 1
packages/libcups/fpmake.pp

@@ -22,7 +22,7 @@ begin
     P.Author := 'Header: Olivier GUILBAUD';
     P.Author := 'Header: Olivier GUILBAUD';
     P.License := 'Header: LGPL with modi ';
     P.License := 'Header: LGPL with modi ';
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,aix,dragonfly];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,aix,dragonfly];
     P.Email := '';
     P.Email := '';
     P.Description := 'This package provides an interface with Common UNIX Printing System.';
     P.Description := 'This package provides an interface with Common UNIX Printing System.';
     P.NeedLibC:= false;  // true for headers that indirectly link to libc?
     P.NeedLibC:= false;  // true for headers that indirectly link to libc?

+ 1 - 1
packages/libcurl/fpmake.pp

@@ -22,7 +22,7 @@ begin
     P.Author := 'Library: Daniel Stenberg, header: Free Pascal development team';
     P.Author := 'Library: Daniel Stenberg, header: Free Pascal development team';
     P.License := 'Library: MIT, header: LGPL with modification, ';
     P.License := 'Library: MIT, header: LGPL with modification, ';
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,aix,dragonfly,win32,win64];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,aix,dragonfly,win32,win64];
     P.Email := '';
     P.Email := '';
     P.Description := 'Library to fetch files from URLs using many protocols.';
     P.Description := 'Library to fetch files from URLs using many protocols.';
     P.NeedLibC:= true;  // true for headers that indirectly link to libc?
     P.NeedLibC:= true;  // true for headers that indirectly link to libc?

+ 1 - 1
packages/libenet/fpmake.pp

@@ -22,7 +22,7 @@ begin
     P.SourcePath.Add('examples');
     P.SourcePath.Add('examples');
     P.IncludePath.Add('src');
     P.IncludePath.Add('src');
     { only enable for darwin after testing }
     { only enable for darwin after testing }
-    P.OSes := AllUnixOSes+AllWindowsOSes-[qnx,darwin,iphonesim];
+    P.OSes := AllUnixOSes+AllWindowsOSes-[qnx,darwin,iphonesim,ios];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/libgd/fpmake.pp

@@ -20,7 +20,7 @@ begin
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
-    P.OSes := P.OSes - [embedded,nativent,msdos,wii,win16,atari,macos,palmos,symbian,freertos,zxspectrum];
+    P.OSes := P.OSes - [embedded,nativent,msdos,wii,win16,atari,macosclassic,palmos,symbian,freertos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/libtar/fpmake.pp

@@ -24,7 +24,7 @@ begin
     P.HomepageURL := 'http://www.destructor.de/';
     P.HomepageURL := 'http://www.destructor.de/';
     P.Description := 'Library for handling tar-files.';
     P.Description := 'Library for handling tar-files.';
 
 
-    P.OSes:=AllOSes-[embedded,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/ncurses/fpmake.pp

@@ -18,7 +18,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,aix,dragonfly];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,aix,dragonfly];
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
     P.IncludePath.Add('src');
     P.IncludePath.Add('src');
 
 

+ 1 - 1
packages/objcrtl/fpmake.pp

@@ -16,7 +16,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes:=[darwin,iphonesim];
+    P.OSes:=[darwin,iphonesim,ios];
     P.Author := 'Library: Apple, header: Dmitry "skalogryz" Boyarintsev';
     P.Author := 'Library: Apple, header: Dmitry "skalogryz" Boyarintsev';
     P.License := 'Library: Apple, header: LGPL with modification, ';
     P.License := 'Library: Apple, header: LGPL with modification, ';
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';

+ 1 - 1
packages/odata/fpmake.pp

@@ -30,7 +30,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'OData client base libraries, Microsoft Office365 clients';
     P.Description := 'OData client base libraries, Microsoft Office365 clients';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly];
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.Dependencies.Add('fcl-base');
     P.Dependencies.Add('fcl-base');

+ 2 - 2
packages/opengl/fpmake.pp

@@ -20,7 +20,7 @@ begin
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.OSes:=AllUnixOSes+[Win32,Win64]+[MorphOS]-[Android];
     P.OSes:=AllUnixOSes+[Win32,Win64]+[MorphOS]-[Android];
 
 
-    P.Dependencies.Add('x11',AllUnixOSes-[darwin,iphonesim]);
+    P.Dependencies.Add('x11',AllUnixOSes-[darwin,iphonesim,ios]);
     if Defaults.CPU<>arm then
     if Defaults.CPU<>arm then
       P.Dependencies.Add('x11',[darwin]);
       P.Dependencies.Add('x11',[darwin]);
     P.Dependencies.Add('morphunits',[morphos]);
     P.Dependencies.Add('morphunits',[morphos]);
@@ -34,7 +34,7 @@ begin
     T:=P.Targets.AddUnit('glu.pp');
     T:=P.Targets.AddUnit('glu.pp');
     T:=P.Targets.AddUnit('glut.pp');
     T:=P.Targets.AddUnit('glut.pp');
     // T.Dependencies.Add('freeglut',AllOSes-[morphos]);
     // T.Dependencies.Add('freeglut',AllOSes-[morphos]);
-    T:=P.Targets.AddUnit('glx.pp',AllUnixOSes-[darwin,iphonesim]);
+    T:=P.Targets.AddUnit('glx.pp',AllUnixOSes-[darwin,iphonesim,ios]);
     if Defaults.CPU<>arm then
     if Defaults.CPU<>arm then
       T:=P.Targets.AddUnit('glx.pp',[darwin]);
       T:=P.Targets.AddUnit('glx.pp',[darwin]);
 
 

+ 3 - 3
packages/opengles/fpmake.pp

@@ -22,12 +22,12 @@ begin
     P.Author := 'Free Pascal Development team';
     P.Author := 'Free Pascal Development team';
     P.License := 'LGPL with modification';
     P.License := 'LGPL with modification';
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
-    P.OSes := [darwin,iphonesim,linux,win32,win64,wince];
+    P.OSes := [darwin,iphonesim,ios,linux,win32,win64,wince];
 
 
-    P.Dependencies.Add('x11',AllUnixOSes-[darwin,iphonesim]);
+    P.Dependencies.Add('x11',AllUnixOSes-[darwin,iphonesim,ios]);
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
 
 
-    T:=P.Targets.AddUnit('gles11.pp',[darwin,iphonesim]);
+    T:=P.Targets.AddUnit('gles11.pp',[darwin,iphonesim,ios]);
     T:=P.Targets.AddUnit('gles20.pas',[linux,win32,win64,wince,darwin]);
     T:=P.Targets.AddUnit('gles20.pas',[linux,win32,win64,wince,darwin]);
 
 
     P.Targets.AddExampleProgram('examples/es2example1.pas');
     P.Targets.AddExampleProgram('examples/es2example1.pas');

+ 1 - 1
packages/pasjpeg/fpmake.pp

@@ -19,7 +19,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes:=P.OSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=P.OSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/paszlib/fpmake.pp

@@ -20,7 +20,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes := P.OSes - [embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes := P.OSes - [embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/pthreads/fpmake.pp

@@ -18,7 +18,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,aix,dragonfly,android];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,aix,dragonfly,android];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/regexpr/fpmake.pp

@@ -19,7 +19,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes:=P.OSes-[embedded,win16,macos,palmos,zxspectrum];
+    P.OSes:=P.OSes-[embedded,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 2 - 2
packages/rtl-console/fpmake.pp

@@ -54,7 +54,7 @@ begin
       P.Dependencies.Add('os4units',[amiga]);
       P.Dependencies.Add('os4units',[amiga]);
     P.SourcePath.Add('src/inc');
     P.SourcePath.Add('src/inc');
     P.SourcePath.Add('src/$(OS)');
     P.SourcePath.Add('src/$(OS)');
-    P.SourcePath.Add('src/darwin',[iphonesim]);
+    P.SourcePath.Add('src/darwin',[iphonesim,ios]);
     P.SourcePath.Add('src/unix',AllUnixOSes);
     P.SourcePath.Add('src/unix',AllUnixOSes);
     P.SourcePath.Add('src/os2commn',[os2,emx]);
     P.SourcePath.Add('src/os2commn',[os2,emx]);
     P.SourcePath.Add('src/amicommon',AllAmigaLikeOSes);
     P.SourcePath.Add('src/amicommon',AllAmigaLikeOSes);
@@ -64,7 +64,7 @@ begin
     P.IncludePath.Add('src/unix',AllUnixOSes);
     P.IncludePath.Add('src/unix',AllUnixOSes);
     P.IncludePath.add('src/amicommon',AllAmigaLikeOSes);
     P.IncludePath.add('src/amicommon',AllAmigaLikeOSes);
     P.IncludePath.Add('src/$(OS)');
     P.IncludePath.Add('src/$(OS)');
-    P.IncludePath.Add('src/darwin',[iphonesim]);
+    P.IncludePath.Add('src/darwin',[iphonesim,ios]);
 
 
     T:=P.Targets.AddUnit('winevent.pp',WinEventOSes);
     T:=P.Targets.AddUnit('winevent.pp',WinEventOSes);
 
 

+ 5 - 5
packages/rtl-extra/fpmake.pp

@@ -13,17 +13,17 @@ Const
   UnixLikes = AllUnixOSes -[QNX]; // qnx never was active in 2.x afaik
   UnixLikes = AllUnixOSes -[QNX]; // qnx never was active in 2.x afaik
 
 
   ClocaleOSes   = UnixLikes -[android];
   ClocaleOSes   = UnixLikes -[android];
-  CLocaleIncOSes= [Aix,freebsd,netbsd,openbsd,solaris,darwin,iphonesim,dragonfly];
+  CLocaleIncOSes= [Aix,freebsd,netbsd,openbsd,solaris,darwin,iphonesim,ios,dragonfly];
 
 
   IPCOSes       = UnixLikes-[aix,android,beos,haiku];
   IPCOSes       = UnixLikes-[aix,android,beos,haiku];
   IPCBSDs       = [FreeBSD,NetBSD,OpenBSD,DragonFly];
   IPCBSDs       = [FreeBSD,NetBSD,OpenBSD,DragonFly];
-//  IPCcdeclOSes  = [Darwin,iphonesim];
+//  IPCcdeclOSes  = [Darwin,iphonesim,ios];
 
 
   PrinterOSes   = [go32v2,msdos,os2,win32,win64]+unixlikes-[beos,haiku,morphos];
   PrinterOSes   = [go32v2,msdos,os2,win32,win64]+unixlikes-[beos,haiku,morphos];
   SerialOSes    = [android,linux,netbsd,openbsd,win32,win64];
   SerialOSes    = [android,linux,netbsd,openbsd,win32,win64];
   UComplexOSes  = [atari,embedded,emx,gba,go32v2,msdos,nativent,nds,netware,netwlibc,os2,symbian,watcom,wii,wince,win32,win64,freertos]+UnixLikes+AllAmigaLikeOSes;
   UComplexOSes  = [atari,embedded,emx,gba,go32v2,msdos,nativent,nds,netware,netwlibc,os2,symbian,watcom,wii,wince,win32,win64,freertos]+UnixLikes+AllAmigaLikeOSes;
   MatrixOSes    = [atari,embedded,emx,gba,go32v2,msdos,nativent,nds,netware,netwlibc,os2,symbian,watcom,wii,win32,win64,wince,freertos]+UnixLikes+AllAmigaLikeOSes;
   MatrixOSes    = [atari,embedded,emx,gba,go32v2,msdos,nativent,nds,netware,netwlibc,os2,symbian,watcom,wii,win32,win64,wince,freertos]+UnixLikes+AllAmigaLikeOSes;
-  ObjectsOSes   = [atari,embedded,emx,gba,go32v2,macos,msdos,nds,netware,netwlibc,os2,symbian,watcom,wii,win16,win32,win64,wince,freertos]+UnixLikes+AllAmigaLikeOSes;
+  ObjectsOSes   = [atari,embedded,emx,gba,go32v2,macosclassic,msdos,nds,netware,netwlibc,os2,symbian,watcom,wii,win16,win32,win64,wince,freertos]+UnixLikes+AllAmigaLikeOSes;
   WinsockOSes   = [win32,win64,wince,os2,emx,netware,netwlibc];
   WinsockOSes   = [win32,win64,wince,os2,emx,netware,netwlibc];
   WinSock2OSes  = [win32,win64,wince];
   WinSock2OSes  = [win32,win64,wince];
   SocketsOSes   = UnixLikes+AllAmigaLikeOSes+[netware,netwlibc,os2,emx,wince,win32,win64];
   SocketsOSes   = UnixLikes+AllAmigaLikeOSes+[netware,netwlibc,os2,emx,wince,win32,win64];
@@ -63,7 +63,7 @@ begin
 
 
     P.SourcePath.Add('src/inc');
     P.SourcePath.Add('src/inc');
     P.SourcePath.Add('src/$(OS)');
     P.SourcePath.Add('src/$(OS)');
-    P.SourcePath.Add('src/darwin',[iphonesim]);
+    P.SourcePath.Add('src/darwin',[iphonesim,ios]);
     P.SourcePath.Add('src/unix',AllUnixOSes);
     P.SourcePath.Add('src/unix',AllUnixOSes);
     P.SourcePath.Add('src/bsd',AllBSDOSes);
     P.SourcePath.Add('src/bsd',AllBSDOSes);
     P.SourcePath.Add('src/os2commn',[os2,emx]);
     P.SourcePath.Add('src/os2commn',[os2,emx]);
@@ -81,7 +81,7 @@ begin
     P.IncludePath.Add('src/netwcomn',[netware,netwlibc]);
     P.IncludePath.Add('src/netwcomn',[netware,netwlibc]);
     P.IncludePath.Add('src/unix',AllUnixOSes);
     P.IncludePath.Add('src/unix',AllUnixOSes);
     P.IncludePath.Add('src/$(OS)');
     P.IncludePath.Add('src/$(OS)');
-    P.IncludePath.Add('src/darwin',[iphonesim]);
+    P.IncludePath.Add('src/darwin',[iphonesim,ios]);
     P.IncludePath.Add('src/win',AllWindowsOSes);
     P.IncludePath.Add('src/win',AllWindowsOSes);
 
 
     // Add clocale for Android first in order to compile the source file
     // Add clocale for Android first in order to compile the source file

+ 1 - 1
packages/rtl-generics/fpmake.pp

@@ -23,7 +23,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Generic collection library.';
     P.Description := 'Generic collection library.';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes := AllOSes-[embedded,win16,macos,palmos,zxspectrum];
+    P.OSes := AllOSes-[embedded,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/rtl-objpas/fpmake.pp

@@ -12,7 +12,7 @@ Const
   // in workable state atm.
   // in workable state atm.
   UnixLikes = AllUnixOSes -[QNX]; // qnx never was active in 2.x afaik
   UnixLikes = AllUnixOSes -[QNX]; // qnx never was active in 2.x afaik
 
 
-//  AllUnixOSes  = [Linux,FreeBSD,NetBSD,OpenBSD,Darwin,QNX,BeOS,Solaris,Haiku,iphonesim,aix,Android];
+//  AllUnixOSes  = [Linux,FreeBSD,NetBSD,OpenBSD,Darwin,QNX,BeOS,Solaris,Haiku,iphonesim,ios,aix,Android];
 //    unixlikes-[beos];
 //    unixlikes-[beos];
 //
 //
   StrUtilsOSes  = [atari,emx,gba,go32v2,msdos,nds,netware,wince,nativent,os2,netwlibc,symbian,watcom,wii,win32,win64,freertos]+UnixLikes+AllAmigaLikeOSes;
   StrUtilsOSes  = [atari,emx,gba,go32v2,msdos,nds,netware,wince,nativent,os2,netwlibc,symbian,watcom,wii,win32,win64,freertos]+UnixLikes+AllAmigaLikeOSes;

+ 1 - 1
packages/rtl-unicode/fpmake.pp

@@ -13,7 +13,7 @@ Const
   UnixLikes = AllUnixOSes -[QNX];
   UnixLikes = AllUnixOSes -[QNX];
 
 
   CollationOSes = [aix,android,darwin,emx,freebsd,go32v2,linux,netbsd,openbsd,os2,solaris,win32,win64,dragonfly,haiku,freertos];
   CollationOSes = [aix,android,darwin,emx,freebsd,go32v2,linux,netbsd,openbsd,os2,solaris,win32,win64,dragonfly,haiku,freertos];
-  CPUnits       = [aix,amiga,aros,android,beos,darwin,iphonesim,emx,gba,nds,freebsd,go32v2,haiku,linux,morphos,netbsd,netware,netwlibc,openbsd,os2,solaris,watcom,wii,win32,win64,wince,dragonfly,freertos];
+  CPUnits       = [aix,amiga,aros,android,beos,darwin,iphonesim,ios,emx,gba,nds,freebsd,go32v2,haiku,linux,morphos,netbsd,netware,netwlibc,openbsd,os2,solaris,watcom,wii,win32,win64,wince,dragonfly,freertos];
   utf8bidiOSes  = [netware,netwlibc];
   utf8bidiOSes  = [netware,netwlibc];
   freebidiOSes  = [netware,netwlibc];
   freebidiOSes  = [netware,netwlibc];
 
 

+ 2 - 2
packages/sdl/fpmake.pp

@@ -24,7 +24,7 @@ begin
     P.Dependencies.Add('morphunits',[morphos]);
     P.Dependencies.Add('morphunits',[morphos]);
     if Defaults.CPU=arm then
     if Defaults.CPU=arm then
        P.OSes := P.OSes - [darwin];
        P.OSes := P.OSes - [darwin];
-    P.OSes := P.OSes - [iphonesim,java,os2,emx,go32v2,watcom,netware,netwlibc,nativent,embedded,android,amiga,aros,msdos,gba,nds,win16,atari,macos,palmos,symbian,wii,freertos,zxspectrum];
+    P.OSes := P.OSes - [iphonesim,ios,java,os2,emx,go32v2,watcom,netware,netwlibc,nativent,embedded,android,amiga,aros,msdos,gba,nds,win16,atari,macosclassic,palmos,symbian,wii,freertos,zxspectrum];
 
 
     T:=P.Targets.AddUnit('logger.pas');
     T:=P.Targets.AddUnit('logger.pas');
       with T.Dependencies do
       with T.Dependencies do
@@ -73,7 +73,7 @@ begin
           AddInclude('jedi-sdl.inc');
           AddInclude('jedi-sdl.inc');
           AddUnit('sdl');
           AddUnit('sdl');
         end;
         end;
-    T:=P.Targets.AddUnit('sdlutils.pas',[i386,powerpc],[linux,freebsd,win32,darwin,iphonesim]);
+    T:=P.Targets.AddUnit('sdlutils.pas',[i386,powerpc],[linux,freebsd,win32,darwin,iphonesim,ios]);
       with T.Dependencies do
       with T.Dependencies do
         begin
         begin
           AddInclude('jedi-sdl.inc');
           AddInclude('jedi-sdl.inc');

+ 1 - 1
packages/symbolic/fpmake.pp

@@ -23,7 +23,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'Expression parser with support for fast evaluation';
     P.Description := 'Expression parser with support for fast evaluation';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=P.OSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=P.OSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/syslog/fpmake.pp

@@ -18,7 +18,7 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,aix,dragonfly];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,aix,dragonfly];
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
 
 
     T:=P.Targets.AddUnit('systemlog.pp');
     T:=P.Targets.AddUnit('systemlog.pp');

+ 1 - 1
packages/univint/fpmake.pp

@@ -19,7 +19,7 @@ begin
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
-    P.OSes:=[darwin,iphonesim];
+    P.OSes:=[darwin,iphonesim,ios];
     P.Options.Add('-Mmacpas');
     P.Options.Add('-Mmacpas');
 
 
     P.SupportBuildModes:=[bmOneByOne];
     P.SupportBuildModes:=[bmOneByOne];

+ 1 - 1
packages/unzip/fpmake.pp

@@ -20,7 +20,7 @@ begin
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
-    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes := P.OSes - [embedded,nativent,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/utmp/fpmake.pp

@@ -18,7 +18,7 @@ begin
 {$endif ALLPACKAGES}
 {$endif ALLPACKAGES}
     P.Version:='3.3.1';
     P.Version:='3.3.1';
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,dragonfly];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,dragonfly];
 
 
     T:=P.Targets.AddUnit('utmp.pp');
     T:=P.Targets.AddUnit('utmp.pp');
 
 

+ 1 - 1
packages/vcl-compat/fpmake.pp

@@ -19,7 +19,7 @@ begin
     P.HomepageURL := 'www.freepascal.org';
     P.HomepageURL := 'www.freepascal.org';
     P.Email := '';
     P.Email := '';
     P.Description := 'Various non-visual VCL compatibility units.';
     P.Description := 'Various non-visual VCL compatibility units.';
-    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly,android];
+    P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly,android];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 1 - 1
packages/webidl/fpmake.pp

@@ -25,7 +25,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'WEB IDL parser and converter to Object Pascal classes';
     P.Description := 'WEB IDL parser and converter to Object Pascal classes';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos,zxspectrum];
+    P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum];
     if Defaults.CPU=jvm then
     if Defaults.CPU=jvm then
       P.OSes := P.OSes - [java,android];
       P.OSes := P.OSes - [java,android];
 
 

+ 2 - 1
rtl/Makefile.fpc

@@ -20,12 +20,13 @@ dirs_freebsd=freebsd
 dirs_dragonfly=dragonfly
 dirs_dragonfly=dragonfly
 dirs_darwin=darwin
 dirs_darwin=darwin
 dirs_iphonesim=darwin
 dirs_iphonesim=darwin
+dirs_ios=darwin
 dirs_beos=beos
 dirs_beos=beos
 dirs_haiku=haiku
 dirs_haiku=haiku
 dirs_amiga=amiga
 dirs_amiga=amiga
 dirs_netbsd=netbsd
 dirs_netbsd=netbsd
 dirs_openbsd=openbsd
 dirs_openbsd=openbsd
-dirs_macos=macos
+dirs_macosclassic=macos
 dirs_morphos=morphos
 dirs_morphos=morphos
 dirs_netware=netware
 dirs_netware=netware
 dirs_netwlibc=netwlibc
 dirs_netwlibc=netwlibc

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác