
    -Ph<$                       U d dl mZ d dlZd dlZd dlZd dlZddlmZm	Z	m
Z
mZ ddlmZmZmZ ddlmZ ej        reddlmZ dd	lmZmZmZ ej        eeeej        ed
f         f         Zej        ej        eef         d
f         Zej        ej         e         eef         Z! G d dej"                  Z# e#            Z$ e%            Z&de'd<   d-dZ(ddddddddddd d!Z)d.d/d(Z*d0d,Z+dS )1    )annotationsN   )ExternalDependencyDependencyExceptionDependencyMethodsNotFoundDependency   )listifyMachineChoice
PerMachine)mlog)Environment)DependencyFactoryWrappedFactoryFuncDependencyGenerator.c                  8    e Zd ZU ded<   i Zded<   dd	ZddZdS )DependencyPackageszT.Dict[str, PackageTypes]datazT.Dict[str, str]defaultskeystrreturnPackageTypesc                    || j         v r1| j         |         }t          j        d|            | j        |         S t	          |          )Nzmesonbuild.dependencies.)r   	importlibimport_moduler   KeyError)selfr   modns      ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/dependencies/detect.py__missing__zDependencyPackages.__missing__   sM    $-=%D#$Et$E$EFFF9S>!smm    objectboolc                &    || j         v p|| j        v S N)r   r   )r   r   s     r    __contains__zDependencyPackages.__contains__"   s    dm#7sdi'77r"   N)r   r   r   r   )r   r#   r   r$   )__name__
__module____qualname____annotations__r   r!   r'    r"   r    r   r      s[         ####!#H####   8 8 8 8 8 8r"   r   z
T.Set[str]_packages_accept_languagenamer   kwargsT.Dict[str, T.Any]r   
'TV_DepID'c                   d| ff}ddl m} t          |          dk    s
J d            |                                D ]\  }}|dv r
t	          |t
                    rN|D ]!}t	          |t                    s
J |            "t          t          t          |                              }n,t	          |t          t          t          f          s
J |            g |||fR }|S )Nr.   r	   )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)interpreterr3   lenitems
isinstancelistr   tuple	frozensetr
   r$   int)r.   r/   
identifierr3   r   valueis          r    get_dep_identifierrH   )   s   %tn/J999999*++r111l 211llnn 2 2
U  8 8 8eT"" 	> - -!!S)),,1,,,,)GENN3344EEec4%566=====1z1C<11

r"   BoostCUDADUBGMockGTestHDF5LLVMMPINetCDFOpenMP	WxWidgets)boostcudadubgmockgtesthdf5llvmmpinetcdfopenmp	wxwidgetsenv'Environment'T.Dict[str, object]
candidates)T.Optional[T.List['DependencyGenerator']]1T.Union['ExternalDependency', NotFoundDependency]c           	        | sJ |                     dd          }t          |t                    st          d          t          |                     dd          t                    st          d          |                                 }|t          vrd|v rt          |  d          t          |                     d	d          t          t          f          st          d
          t                               ||          }|                     dd          rt          j
        nt          j        }t          dd          |         dz   }|t          | |||          }g }	g }
d}|D ]}	  |            }|                                 |
                    |           |	                    d            |                                }|rd|z   dz   }d|v r|d|j        z   dz   z  }|                                rg }|j        r,|                    t)          j        |j                             |                                }|r|                    d|z   dz              t)          j        |t)          j        |          |dz   t)          j        d          g|R   |c S :# t          $ r}t          |t4          j                  s
J d            d|  d|j                                        d| }t)          j        |           |f|_        |	                    |           Y d }~d }~ww xY wd |
D             }|rt)          j         |          }nd}t)          j        |t)          j        |          |dz   t)          j!        d          |rd| dnd           |r/|	r|	d         r|	d         t          d|  d |rd!| ndz             tE          | |          S )"Nr8   Tz%Keyword "required" must be a boolean.method z"Keyword "method" must be a string.languagez7 dependency does not accept "language" keyword argumentr6   z)Keyword "Version" must be string or list.r5   Fz
Build-timezRun-timez dependency(z) zfor  )zfound:YESzfor mypyzDependency lookup for z with method z	 failed: c                ^    g | ]*}|                                 |                                 +S r,   )	log_tried).0ds     r    
<listcomp>z,find_external_dependency.<locals>.<listcomp>   s-    DDDqakkmmDQ[[]]DDDr"   NOz(tried r   zDependency "z" not foundz, tried )#getr@   r$   r   r   lowerr-   rA   display_name_mapr   BUILDHOSTr   _build_external_dependency_list_check_versionappendlog_detailsrh   foundr6   r   normal_cyanlog_infologboldgreen	functoolspartialfuncrn   debugargsformat_listredr   )r.   r_   r/   rb   r8   lnamedisplay_namefor_machine	type_textpkg_excpkgdepdetailscrp   infor~   e	bettermsgtried_methodstrieds                       r    find_external_dependencyr   S   sU   KKKzz*d++Hh%% K!"IJJJfjj2..44 H!"FGGGJJLLE---*2F2F!T"b"b"bcccfjjB//#t== O!"MNNN $''u55L)/He)D)D\-%%-J\K<44[AMQI 4T3VTT
+-G*,FG ! !	AMM! NN4   mmooG /-$.V##6AJ.44 wwyy -/9 =KK 0 ; ;<<<::<< 6KKh 4555DIl$;$;Wx=OQUQ[\aQbQbjeijjjj # 	 	 	a!233??Z???fffAFDTDTDVDVffcdffIJy!!!\AFNN1	< EDFDDDM  //HY	,//81CTXd^^#(0ub2 2 2  
I  	wqz 	!* ""B"B"B"B9>#F#5e#5#5#5B#H I I 	I dC(((s   +3J!!
L-+A7L((L-r   r   T.List['DependencyGenerator']c                8   d|v rA|d         d t           D             vr(t          d                    |d                             |                                 }|t          v rt          t          |         t                    rOt          j        dt          |                   }t          |t                    rt          j        |||          }|g}n-t          j        dt          |                   } ||||          }|S g }	|                    dd          dk    rg d}
n	|d         g}
d|
v r0d	d
lm} |	                    t          j        || ||                     d|
v r0d	dlm} |	                    t          j        || ||                     d|
v rO|j        |                                         r0d	dlm} |	                    t          j        || ||                     d|
v r0d	dlm} |	                    t          j        || ||                     |	S )Nrf   c                    g | ]	}|j         
S r,   )rF   )ro   r   s     r    rq   z3_build_external_dependency_list.<locals>.<listcomp>   s    6Z6Z6Z1qw6Z6Z6Zr"   zmethod {!r} is invalidzT.Type[ExternalDependency]z.T.Union[DependencyFactory, WrappedFactoryFunc]auto)
pkg-configextraframeworkcmakerV   r   )DubDependencyr   )PkgConfigDependencyr   )ExtraFrameworkDependencyr   )CMakeDependency)r   r   formatrt   packagesr@   typeTcast
issubclassr   r   r   rs   rV   r   rz   	pkgconfigr   machines	is_darwin	frameworkr   r   r   )r.   r_   r   r/   r   entry1r   depentry2rb   methodsr   r   r   r   s                  r    rx   rx      sh    6fX.6Z6ZHY6Z6Z6ZZZ!":"A"A&BR"S"STTT JJLLE huot,, 	3V8(5/JJF&"455 =F=NvWZ\b=c=cfVLhW\o^^F&k622C
02Jzz(F##v--;;; (#$ &&&&&&)+M4fMMNNN w222222)+,?sFSSTTT 7""<$..00 	^;;;;;;i/0H$PSU[\\]]]
 '******)+OT3OOPPPr"   )r.   r   r/   r0   r   r1   r&   )
r.   r   r_   r`   r/   ra   rb   rc   r   rd   )
r.   r   r_   r`   r   r   r/   r0   r   r   ),
__future__r   collectionsr   r   typingr   baser   r   r   r   mesonlibr
   r   r   rg   r   TYPE_CHECKINGenvironmentr   factoryr   r   r   Unionr   r$   rD   TupleTV_DepIDEntryTV_DepIDTyper   UserDictr   r   setr-   r+   rH   ru   r   rx   r,   r"   r    <module>r      s   # " " " " " " ( ( ( ( ( ( ( ( ( ( ( (     ` ` ` ` ` ` ` ` ` ` ` ` 9 9 9 9 9 9 9 9 9 9      ? ^))))))SSSSSSSSSSGCsAGCH,==>MwqwsM12C78H716"457HJ\\]L8 8 8 8 8- 8 8 8  (+  - - - -   :   U) U) U) U) U)p6 6 6 6 6 6r"   