
    <h                        S SK Jr  SSKJrJrJr  SSKJrJrJ	r	  SSK
Jr  S SKJr  S SKr\R                   (       a  SS	KJr   " S
 S\5      rg)    )annotations   )DependencyTypeNameExternalDependencyDependencyException   )MesonExceptionVersionstringlistify)mlog)PathN)Environmentc                     ^  \ rS rSr% SrS\S'   SSU 4S jjjrSS jrSS jrSS jr	SS	 jr
SS
 jr\SS j5       rSrU =r$ )ExtraFrameworkDependency   NzT.Optional[T.List[str]]system_framework_pathsc                  > [        UR                  S/ 5      5      n[        TU ]  [	        S5      X#US9  Xl        S U l        U R                  (       d  [        S5      eU R                  c+   U R                  R                  U R                  5      U l	        U R                  X5        g ! [         a!  nS[        U5      ;   a  SU l         S nAg e S nAff = f)Npathsextraframeworks)languagez!No C-like compilers are availablez	non-clangF)r   getsuper__init__r   nameframework_pathclib_compilerr   r   find_framework_pathsenvr	   stris_founddetect)selfr   r   kwargsr   r   e	__class__s          ڂ/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/dependencies/framework.pyr   !ExtraFrameworkDependency.__init__   s    fjj"56+,=>V^_	/3!!%&IJJ&&..2.@.@.U.UVZV^V^._+ 	D  " #a&( %*DMs   ,*B( (
C2CCCc                
   U(       d  U R                   nU H  n[        R                  " SU SU 35        U R                  X15      nUc  M5  UR                  nX0R                   ;   nU R
                  R                  XPR                  U/U5      nUc  M|  Xpl        UR                  5       U l
        XPl        SU R                  -   /U l        U R                  U5      nU(       a  U =R                  SU-   /-  sl        SU l          g    g )NzLooking for framework z in z-Fz
-idirafterT)r   r   debug_get_framework_pathstemr   find_frameworkr   	link_argsas_posixr   r   compile_args_get_framework_include_pathr    )	r"   r   r   pr   framework_nameallow_systemargsincdirs	            r&   r!   ExtraFrameworkDependency.detect&   s    //EAJJ/vT!=>
 "55a>N%+00N  ; ;;L%%44^XXPQsT`aD|!N"0"9"9";D 'I!%(;(;!; <D
 55nEF!!lV&;%<<! DMG     c                    [        U5      nUR                  5       nUR                  S5       H$  nXER                  R                  5       :X  d  M"  Us  $    g )Nz*.framework/)r   lowerglobr+   )r"   pathr   r1   lnameds         r&   r*   ,ExtraFrameworkDependency._get_framework_pathN   sC    J

'A& ( r7   c                ,   / nUR                  S5       HG  nUR                  R                  5       S:X  a  M#  UR                  [	        UR                  5      5        MI     [        U5      S:X  a  gSR                  [        U5      S   R                  5      $ )Nz
Versions/*currentr   HeaderszVersions/{}/Headers)	r:   r   r9   appendr
   lenformatsorted_s)r"   r;   versionseachs       r&   _get_framework_latest_version6ExtraFrameworkDependency._get_framework_latest_versionV   sw    $&IIl+Dyy I-OOGDII./	 ,
 x=A$++F8,<R,@,C,CDDr7   c                    SSU R                  U5      4nU H.  nX-  nUR                  5       (       d  M  UR                  5       s  $    g )NrA   zVersions/Current/Headers)rJ   is_dirr.   )r"   r;   trialsrI   trials        r&   r0   4ExtraFrameworkDependency._get_framework_include_pathb   sM    
 744T:<DKE||~~~~''  r7   c                ,    U R                   =(       d    S$ )N )r   )r"   s    r&   log_info!ExtraFrameworkDependency.log_infoo   s    ""(b(r7   c                     g)N	framework rW   r7   r&   	log_tried"ExtraFrameworkDependency.log_triedr   s    r7   )r/   r   r    r-   r   r   )N)
r   r   r   z'Environment'r#   zT.Dict[str, T.Any]r   T.Optional[str]returnNone)r   r   r   zT.List[str]r[   r\   )r;   r   r   r   r[   zT.Optional[Path])r;   r   r[   r   )r;   r   r[   rZ   )r[   r   )__name__
__module____qualname____firstlineno__r   __annotations__r   r!   r*   rJ   r0   rS   staticmethodrX   __static_attributes____classcell__)r%   s   @r&   r   r      sH    6:3:! !(&P
E)  r7   r   )
__future__r   baser   r   r   mesonlibr	   r
   r   rR   r   pathlibr   typingTTYPE_CHECKINGenvironmentr   r   rW   r7   r&   <module>rm      s8    # M M = =   ??)e1 er7   