@@ -738,7 +738,10 @@ def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.
738738        self .parse_modules (kwargs )
739739
740740        for_machine  =  MachineChoice .BUILD  if  kwargs .get ('native' , False ) else  MachineChoice .HOST 
741-         if  environment .machines [for_machine ].is_darwin () and  self .check_macOS_recent_enough ():
741+         if  (
742+             (environment .machines [for_machine ].system  ==  'darwin'  and  self .check_macOS_recent_enough ())
743+             or  (environment .machines [for_machine ].system  ==  'ios'  and  self .check_iOS_recent_enough ())
744+         ):
742745            self .detect (kwargs )
743746
744747    def  check_macOS_recent_enough (self ) ->  bool :
@@ -752,6 +755,18 @@ def check_macOS_recent_enough(self) -> bool:
752755        sdk_version  =  subprocess .run (cmd , capture_output = True , check = True , text = True ).stdout .strip ()
753756        return  mesonlib .version_compare (sdk_version , '>=13.3' )
754757
758+     def  check_iOS_recent_enough (self ) ->  bool :
759+         ios_version  =  platform .ios_ver ().system 
760+         deploy_target  =  os .environ .get ('IPHONEOS_DEPLOYMENT_TARGET' , ios_version )
761+         if  not  mesonlib .version_compare (deploy_target , '>=16.4' ):
762+             return  False 
763+ 
764+         # We also need the SDK to be >=16.4 
765+         sdk  =  "iphonesimulator"  if  platform .ios_ver ().is_simulator  else  "iphoneos" 
766+         cmd  =  ['xcrun' , '-sdk' , sdk , '--show-sdk-version' ]
767+         sdk_version  =  subprocess .run (cmd , capture_output = True , check = True , text = True ).stdout .strip ()
768+         return  mesonlib .version_compare (sdk_version , '>=16.4' )
769+ 
755770    def  detect (self , kwargs : T .Dict [str , T .Any ]) ->  None :
756771        from  .framework  import  ExtraFrameworkDependency 
757772        dep  =  ExtraFrameworkDependency ('Accelerate' , self .env , kwargs )
0 commit comments