
    <h                        S SK Jr  SSKJr  SSKJr  SSKJr  S SKJ	r	  S SK
r
S SKr\R                  (       a  SS	KJr  SS
KJr  SSKJr  SSKJr  SS jrSS jr " S S5      rSS S.         SS jjrg)    )annotations   )cmake_is_debug   )mlog)Version)PathN)CMakeTraceParser)Environment)Compiler)MissingCompilerc                ,   / 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)	globnamelowerappendr   lenformatsorted_s)pathversionseachs      ~/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/cmake/tracetargets.py_get_framework_latest_versionr      sw     H		,'99??	)		*+	 (
 8} ''x(8(<(?(?@@    c                    SS[        U 5      4nU H.  nX-  nUR                  5       (       d  M  UR                  5       s  $    g )Nr   zVersions/Current/Headers)r   is_diras_posix)r   trialsr   trials       r   _get_framework_include_pathr%   !   sD    35RSW5XYF<<>>>>##  r   c                      \ rS rSrSS jrSrg)ResolvedTarget)   c                X    / U l         / U l        / U l        / U l        / U l        / U l        g N)include_directories
link_flagspublic_link_flagspublic_compile_opts	librariestarget_dependencies)selfs    r   __init__ResolvedTarget.__init__*   s0    02 020202 0202 r   )r+   r/   r,   r.   r-   r0   N)returnNone)__name__
__module____qualname____firstlineno__r2   __static_attributes__ r   r   r'   r'   )   s    3r   r'   c                    g r*   r;   )xs    r   <lambda>r>   7   s    W[r   )clib_compilernot_found_warningc                  [        5       nU /n[        R                  " S5      n[        R                  " S5      n[        U5      n	/ n
[	        U5      S:  Ga  UR                  S5      nX;   a  M(  XR                  ;  Ga  [        U5      nUR                  U5      (       a  U=R                  U/-  sl	        GONUR                  5       (       a  UR                  5       (       a  [        S UR                   5       5      (       a  / nUR                   H,  nUR                  U5        UR                  S5      (       d  M,    O   [        U6 nUR                   nUR"                  nU=R$                  SU 3/-  sl        U=R                  SU 3SU/-  sl	        OpU=R                  U/-  sl	        OYUR                  U5      (       a;  U(       a4  UR'                  X/ 5      nUb  U=R                  U-  sl	        OU" U5        OU" U5        GM  UR                  U   n/ nSn[(        R*                  " U5        S	UR,                  ;   a;  U=R.                  UR,                  S	    Vs/ s H  o(       d  M  UPM     sn-  sl        S
UR,                  ;   aZ  U=R0                  UR,                  S
    Vs/ s H  o(       d  M  UPM     sn-  sl        U=R2                  UR0                  -  sl        SUR,                  ;   aT  U=R$                  UR,                  S    Vs/ s H&  o(       d  M  S[        R4                  " SSU5      -   PM(     sn-  sl        SUR,                  ;   a;  U=R$                  UR,                  S    Vs/ s H  o(       d  M  UPM     sn-  sl        SUR,                  ;   a,  UR,                  S    Vs/ s H  o(       d  M  UPM     nnUS   nU	(       a  SU;   a  SnOSU;   a  SnOSU;   a  SnSU 3UR,                  ;   a?  U=R                  UR,                  SU 3    Vs/ s H  o(       d  M  UPM     sn-  sl	        OSUR,                  ;   a<  U=R                  UR,                  S    Vs/ s H  o(       d  M  UPM     sn-  sl	        O}SU 3UR,                  ;   a/  UUR,                  SU 3    Vs/ s H  o(       d  M  UPM     sn-  nO;SUR,                  ;   a+  UUR,                  S    Vs/ s H  o(       d  M  UPM     sn-  nSUR,                  ;   aA  UR,                  S    Vs/ s H  o(       d  M  UPM     nnUU-  nU=R6                  U-  sl        SUR,                  ;   aA  UR,                  S    Vs/ s H  o(       d  M  UPM     nnUU-  nU=R6                  U-  sl        SU 3UR,                  ;   a/  UUR,                  SU 3    Vs/ s H  o(       d  M  UPM     sn-  nO;SUR,                  ;   a+  UUR,                  S    Vs/ s H  o(       d  M  UPM     sn-  nX/-  n
[	        U5      S:  a  GM  U$ s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf )Nz^(-l[a-zA-Z0-9_]+|-l?pthread)$z^[a-zA-Z0-9_]+$r   c              3  B   #    U  H  oR                  S 5      v   M     g7f)
.frameworkN)endswith).0r=   s     r   	<genexpr>.resolve_cmake_trace_targets.<locals>.<genexpr>N   s     IAzz,//s   rC   z-Fz
-framework INTERFACE_INCLUDE_DIRECTORIESINTERFACE_LINK_OPTIONSINTERFACE_COMPILE_DEFINITIONSz-Dz^-DINTERFACE_COMPILE_OPTIONSIMPORTED_CONFIGURATIONSDEBUGRELEASEIMPORTED_IMPLIB_IMPORTED_IMPLIBIMPORTED_LOCATION_IMPORTED_LOCATIONLINK_LIBRARIESINTERFACE_LINK_LIBRARIES"IMPORTED_LINK_DEPENDENT_LIBRARIES_!IMPORTED_LINK_DEPENDENT_LIBRARIES)r'   recompiler   r   poptargetsr	   matchr/   is_absoluteexistsanypartsr   rD   parentstemr.   find_libraryr   debug
propertiesr+   r-   r,   subr0   )target_nametraceenvr?   r@   resr[   
reg_is_libreg_is_maybe_bare_libis_debugprocessed_targetscurr	curr_pathpath_to_frameworkr=   framework_pathframework_nameflibtgtcfgscfglink_librariess                         r   resolve_cmake_trace_targetsry   2   s    
CmG =>JJJ'9:c"H%'
g,
{{1~ $}}$T
I%%$'&&((Y-=-=-?-?IIII )+%&__)003::l33! - !%&7 8I%.%5%5N%.^^N++"^4D0E/FF+MM>*:&;\>%ZZMMMdV+M&,,T22}
 %11$R@#MMT)M%d+!$'mmD!

3*cnn<##3>>Ba3b'h3bafg3b'hh##s~~5!!@X1Y%_1YA]^a1Y%__!NNc333N*cnn<##S^^\{M|  (CM|  AB(CrvveR/C(CM|  (C  C#&#..8##3>>B]3^'d3^abc3^'dd#$6"~~.GHNH!AAHDNq'C$d"D cU#s~~5MM:J3%8P)QW)QAUVa)QWWM#..0MM8I)JP)JAaa)JPPM!#'3>>93>>4Fse2L#MS#MaQR#MSSG CNN23>>2E#FL#Fa!#FLLGs~~-),8H)IO)IAQa)INO~%G##~5#%7),8R)SY)SAWXa)SNY~%G##~5#/u5G3>>4VWZV[2\#]c#]aab#]ccG0CNNB3>>2U#V\#VaZ[#V\\GV#A g,
N Jo (i &` (C (e O XPSL P Z
 d\s   
Y-Y*
Y8Y
Y"Y8
YY7
YY&
Y4Y2
Y$ Y$9
Y)Y)5
Y.Y./
Y3=Y3 
Y8Y8
Y=&Y=
Z"Z)r   r	   r4   str)r   r	   r4   zT.Optional[str])rg   rz   rh   z'CMakeTraceParser'ri   z'Environment'r?   z&T.Union['MissingCompiler', 'Compiler']r@   zT.Callable[[str], None]r4   r'   )
__future__r   commonr   rH   r   mesonlibr   pathlibr	   rX   typingTTYPE_CHECKINGtraceparserr
   environmentr   	compilersr   dependenciesr   r   r%   r'   ry   r;   r   r   <module>r      s    # "    	 ??-)$.
A3 3 Y]M[w'9w%2w 0V	w
 4Kw
 aowr   