--- compiler/systems/t_darwin.pas 2021-04-10 19:02:51.000000000 +0800 +++ compiler/systems/t_darwin.pas 2024-01-30 20:32:02.000000000 +0800 @@ -174,6 +174,10 @@ if (target_info.system in [system_i386_darwin,system_x86_64_darwin]) and (CompareVersionStrings(MacOSXVersionMin,'10.6')>=0) then exit('crt1.10.6.o'); + { follow gcc: use crt1.10.5.o when building for ppc } + if (target_info.system in [system_powerpc_darwin]) and + (CompareVersionStrings(MacOSXVersionMin,'10.6')>=0) then + exit('crt1.10.5.o'); if CompareVersionStrings(MacOSXVersionMin,'10.5')>=0 then exit('crt1.10.5.o'); end; @@ -228,10 +232,11 @@ system_i386_darwin, system_x86_64_darwin: begin - { < 10.6: bundle1.o - >= 10.6: nothing } - if CompareVersionStrings(MacOSXVersionMin,'10.6')>=0 then - exit(''); + { x86: 10.6: nothing + otherwise: bundle1.o } + if (target_info.system in [system_i386_darwin,system_x86_64_darwin]) and + (CompareVersionStrings(MacOSXVersionMin,'10.6')>=0) then + exit(''); end; system_arm_ios, system_aarch64_ios: @@ -263,12 +268,16 @@ system_i386_darwin, system_x86_64_darwin: begin - { >= 10.6: nothing - = 10.5: dylib1.10.5.o + { x86: >= 10.6: nothing + Rosetta and 10.5: dylib1.10.5.o < 10.5: dylib1.o } - if CompareVersionStrings(MacOSXVersionMin,'10.6')>=0 then + if (target_info.system in [system_i386_darwin,system_x86_64_darwin]) and + (CompareVersionStrings(MacOSXVersionMin,'10.6')>=0) then exit(''); + if (target_info.system in [system_powerpc_darwin]) and + (CompareVersionStrings(MacOSXVersionMin,'10.6')>=0) then + exit('dylib1.10.5.o'); if CompareVersionStrings(MacOSXVersionMin,'10.5')>=0 then exit('dylib1.10.5.o'); end; --- compiler/options.pas 2021-05-01 22:09:57.000000000 +0800 +++ compiler/options.pas 2024-01-30 21:22:26.000000000 +0800 @@ -956,8 +956,8 @@ case target_info.system of system_powerpc_darwin: begin - set_system_compvar('MAC_OS_X_VERSION_MIN_REQUIRED','1030'); - MacOSXVersionMin:='10.3.0'; + set_system_compvar('MAC_OS_X_VERSION_MIN_REQUIRED','1040'); + MacOSXVersionMin:='10.4.0'; end; system_powerpc64_darwin: begin