
    <h$                       % S SK Jr  S SKrS SKrS SKrS SKrSSKJrJ	r	J
r
Jr  SSKJrJrJr  SSKJr  \R$                  (       ar  SSKJr  SS	KJrJrJr  \R2                  \\\S\R:                  \S
4   4   r\R:                  \R:                  \\4   S
4   r\R2                  \R@                  \   \\4   r! " S S\RD                  5      r#\#" 5       r$\%" 5       r&S\'S'   SS jr(SSSSSSSSSSSS.r)SS S jjr*    S!S jr+g)"    )annotationsN   )ExternalDependencyDependencyExceptionDependencyMethodsNotFoundDependency   )listifyMachineChoice
PerMachine)mlog)Environment)DependencyFactoryWrappedFactoryFuncDependencyGenerator.c                  B    \ rS rSr% S\S'   0 rS\S'   S
S jrSS jrSrg	)DependencyPackages   zT.Dict[str, PackageTypes]datazT.Dict[str, str]defaultsc                    XR                   ;   a7  U R                   U   n[        R                  " SU 35        U R                  U   $ [	        U5      e)Nzmesonbuild.dependencies.)r   	importlibimport_moduler   KeyError)selfkeymodns      /mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/dependencies/detect.py__missing__DependencyPackages.__missing__   sH    --==%D##&>tf$EF99S>!sm    c                H    XR                   ;   =(       d    XR                  ;   $ N)r   r   )r   r   s     r   __contains__DependencyPackages.__contains__"   s    mm#7sii'77r!    N)r   strreturnPackageTypes)r   objectr(   bool)	__name__
__module____qualname____firstlineno____annotations__r   r   r$   __static_attributes__r&   r!   r   r   r      s    
##!#H#8r!   r   z
T.Set[str]_packages_accept_languagec                "   SU 44nSSK Jn  U Vs0 s H  oDR                  UR                  _M     nnUR	                  U5        SSKJn  [        U5      S:X  d   S5       eUR                  5        H  u  pxUS;   a  M  [        U[        5      (       aC  U H  n	[        U	[        5      (       a  M   U	5       e   [        [        [        U5      5      5      nO*Ub'  [        U[        [        [         45      (       d   U5       e/ UQXx4P7nM     U$ s  snf )Nnamer	   )DEPENDENCY_KWS)permitted_dependency_kwargs   z_Extra kwargs have been added to dependency(), please review if it makes sense to handle it here>   nativeversionfallbackrequiredinclude_typeallow_fallbackdefault_optionsnot_found_message)interpreter.type_checkingr5   r4   defaultupdateinterpreterr6   lenitems
isinstancelistr'   tuple	frozensetr
   r+   int)
r4   kwargs
identifierr5   knkwargsr6   r   valueis
             r   get_dep_identifierrQ   )   s   %tn/J:*89.Qvvqyy .G9NN69*+r1 mlm1mmo
  8 8eT""!!S)),1,) )GEN34E=JusD#6F$G$GNNG1z1C<1
) &* 7 :s    DBoostCUDADUBGMockGTestHDF5LLVMMPINetCDFOpenMP	WxWidgets)boostcudadubgmockgtesthdf5llvmmpinetcdfopenmp	wxwidgetsc           	     6   U (       d   eUR                  SS5      n[        U[        5      (       d  [        S5      e[        UR                  SS5      [        5      (       d  [        S5      eU R                  5       nU[        ;  a  SU;   a  [        U  S35      e[        UR                  S	S5      [        [        45      (       d  [        S
5      e[        R                  XU5      nUR                  SS5      (       a  [        R                  O[        R                  n[        SS5      U   S-   nUc  [        XXr5      n/ n	/ n
SnU GHF  n U" 5       nUR                  5         U
R                  U5        U	R                  S 5        UR!                  5       nU(       a  SU-   S-   nSU;   a  USUR"                  -   S-   -  nUR%                  5       (       a  / nUR&                  (       a/  UR                  [(        R*                  " UR&                  5      5        UR-                  5       nU(       a  UR                  SU-   S-   5        [(        R.                  " U[(        R0                  " U5      US-   [(        R2                  " S5      /UQ76   Us  $ GMI     U
 Vs/ s H)  oR;                  5       (       d  M  UR;                  5       PM+     nnU(       a  [(        R@                  " U5      nOSn[(        R.                  " U[(        R0                  " U5      US-   [(        RB                  " S5      U(       a  SU S3OS5        U(       a:  U	(       a  U	S   (       a  U	S   e[        SU  S3U(       a  S U 3-   5      eS-   5      e[E        X5      $ ! [         a  n[        U[4        R6                  5      (       d   S5       eSU  SUR8                  R;                  5       < SU 3n[(        R<                  " U5        U4Ul        U	R                  U5         S nAGM  S nAff = fs  snf )!Nr;   Tz%Keyword "required" must be a boolean.method z"Keyword "method" must be a string.languagez7 dependency does not accept "language" keyword argumentr9   z)Keyword "Version" must be string or list.r8   Fz
Build-timezRun-timez dependency(z) zfor  )zfound:YESzfor mypyzDependency lookup for z with method z	 failed: NOz(tried r   zDependency "z" not foundz, tried )#getrF   r+   r   r'   lowerr2   rG   display_name_mapr   BUILDHOSTr   _build_external_dependency_list_check_versionappendlog_detailsrk   foundr9   r   normal_cyanlog_infologboldgreen	functoolspartialfunc	log_trieddebugargsformat_listredr   )r4   envrK   
candidatesr;   lnamedisplay_namefor_machine	type_textpkg_excpkgdepdetailscdinfor|   e	bettermsgtried_methodstrieds                       r   find_external_dependencyr   W   s   K4zz*d+Hh%%!"IJJfjj2.44!"FGGJJLE--*2F!TF*a"bccfjjB/#t==!"MNN $''5L)/He)D)D-%%-J\J\K<4[AMQI 4TT
+-G*,FG	AMM! NN4 mmoG-$.V#6AJJ.44 wwyy-/99KK 0 0 ;<::<KKh 45DIIl$;Wx=OQUQ[Q[\aQbjeij + H -3DFqkkm]Q[[]FMD  /HHY		,/81CTXXd^#(wugQb2  wqz!* "Lk"B9>XeW#5#H I 	IDF#H I 	I d((g # 	a!2!233?Z?30mAFFDTDTDVCYYbcdbefIJJy!\AFNN1	< Es%   
(NP0P
PA9PPc                   SU;   aD  US   [          Vs/ s H  oDR                  PM     sn;  a  [        SR                  US   5      5      eU R	                  5       nU[
        ;   a  [        [
        U   [        5      (       aO  [        R                  " S[
        U   5      n[        U[        5      (       a  [        R                  " XaU5      nU/nW$ [        R                  " S[
        U   5      n	U	" XU5      nU$ / n
UR                  SS5      S:X  a  / SQnOUS   /nSU;   a,  SS	KJn  U
R#                  [        R                  " XX5      5        S
U;   a,  SSKJn  U
R#                  [        R                  " XX5      5        SU;   aN  UR(                  U   R+                  5       (       a,  SSKJn  U
R#                  [        R                  " XX5      5        SU;   a,  SSKJn  U
R#                  [        R                  " XX5      5        U
$ s  snf )Nri   zmethod {!r} is invalidzT.Type[ExternalDependency]z.T.Union[DependencyFactory, WrappedFactoryFunc]auto)
pkg-configextraframeworkcmaker_   r   )DubDependencyr   )PkgConfigDependencyr   )ExtraFrameworkDependencyr   )CMakeDependency)r   rO   r   formatrr   packagesrF   typeTcast
issubclassr   r   r   rq   r_   r   rx   	pkgconfigr   machines	is_darwin	frameworkr   r   r   )r4   r   r   rK   r   r   entry1r   depentry2r   methodsr   r   r   r   s                   r   rv   rv      s    6fX.HY6ZHY1wwHY6ZZ!":"A"A&BR"STT JJLE huot,,VV8(5/JF&"455=F=N=Nv\b=cf 
 VVLhW\o^F62C
02Jzz(F#v-; (#$ &)++MMN w2)++,?sST 7"<<$..00;i//0HPS\]
 '*)++O3OPg 7[s   H)r4   r'   rK   T.Dict[str, T.Any]r(   z
'TV_DepID'r#   )
r4   r'   r   'Environment'rK   zT.Dict[str, object]r   z)T.Optional[T.List['DependencyGenerator']]r(   z1T.Union['ExternalDependency', NotFoundDependency])
r4   r'   r   r   r   r   rK   r   r(   zT.List['DependencyGenerator']),
__future__r   collectionsr   r   typingr   baser   r   r   r   mesonlibr
   r   r   rj   r   TYPE_CHECKINGenvironmentr   factoryr   r   r   Unionr'   r+   rJ   TupleTV_DepIDEntryTV_DepIDTyper)   UserDictr   r   setr2   r0   rQ   rs   r   rv   r&   r!   r   <module>r      s   # ( (  ` ` 9 9 ??)SSGGCsD!''#s(2CCDMwwqwwsM12C78H77166"457HJ\\]L8-- 8  (+ : -B  U)p6,>6C`6r!   