§
    ƒnócˆ  ã                  ó°   — d dl mZ ddlmZ ddlmZ d dlmZ d dlZd dl	Z
e
j        rddlmZ dd	lmZ dd
lmZ ddlmZ  G d„ d¦  «        Zdd„ dœdd„ZdS )é    )Úannotationsé   )Úcmake_is_debugé   )Úmlog)ÚPathN)ÚCMakeTraceParser)ÚEnvironment)ÚCompiler)ÚMissingCompilerc                  ó   — e Zd Zdd„ZdS )ÚResolvedTargetÚreturnÚNonec                ó>   — g | _         g | _        g | _        g | _        d S ©N)Úinclude_directoriesÚ
link_flagsÚpublic_compile_optsÚ	libraries)Úselfs    ú?/usr/lib/python3/dist-packages/mesonbuild/cmake/tracetargets.pyÚ__init__zResolvedTarget.__init__   s$   € Ø02ˆÔ Ø02ˆŒØ02ˆÔ Ø02ˆŒˆˆó    N)r   r   )Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r      s(   € € € € € ð3ð 3ð 3ð 3ð 3ð 3r   r   c                ó   — d S r   r   )Úxs    r   ú<lambda>r!      s   € ÐW[€ r   )Úclib_compilerÚnot_found_warningÚtarget_nameÚstrÚtraceú'CMakeTraceParser'Úenvú'Environment'r"   ú&T.Union['MissingCompiler', 'Compiler']r#   úT.Callable[[str], None]r   c               ó	  — t          ¦   «         }| g}t          j        d¦  «        }t          j        d¦  «        }t          |¦  «        }	g }
t	          |¦  «        dk    �r•|                     d¦  «        }||
v rŒ.||j        vrã|                     |¦  «        r|xj        |gz  c_        nºt          |¦  «         
                    ¦   «         r3t          |¦  «                             ¦   «         r|xj        |gz  c_        nf|j        j                             ¦   «         r=|                     |¦  «        r(|r&|xj        |                     ||g ¦  «        z  c_        n ||¦  «         �Œ|j        |         }g }d}t!          j        |¦  «         d|j        v r%|xj        d„ |j        d         D ¦   «         z  c_        d|j        v r%|xj        d„ |j        d         D ¦   «         z  c_        d	|j        v r%|xj        d
„ |j        d	         D ¦   «         z  c_        d|j        v r%|xj        d„ |j        d         D ¦   «         z  c_        d|j        v rd„ |j        d         D ¦   «         }|d         }|	rd|v rd}nd|v rd}nd|v rd}d|› �|j        v r)|xj        d„ |j        d|› �         D ¦   «         z  c_        n’d|j        v r&|xj        d„ |j        d         D ¦   «         z  c_        ncd|› �|j        v r)|xj        d„ |j        d|› �         D ¦   «         z  c_        n.d|j        v r%|xj        d„ |j        d         D ¦   «         z  c_        d|j        v r|d„ |j        d         D ¦   «         z  }d|j        v r|d„ |j        d         D ¦   «         z  }d|› �|j        v r|d„ |j        d|› �         D ¦   «         z  }n#d|j        v r|d „ |j        d         D ¦   «         z  }|
|gz  }
t	          |¦  «        dk    �°•t-          t/          |j        ¦  «        ¦  «        |_        t-          t/          |j        ¦  «        ¦  «        |_        t-          t/          |j        ¦  «        ¦  «        |_        t-          t/          |j        ¦  «        ¦  «        |_        |S )!Nz^(-l[a-zA-Z0-9_]+|-l?pthread)$z^[a-zA-Z0-9_]+$r   Ú ÚINTERFACE_INCLUDE_DIRECTORIESc                ó   — g | ]}|¯|‘ŒS r   r   ©Ú.0r    s     r   ú
<listcomp>z/resolve_cmake_trace_targets.<locals>.<listcomp>E   s   € Ð'hÐ'hÐ'h¨aÐfgÐ'h¨Ð'hÐ'hÐ'hr   ÚINTERFACE_LINK_OPTIONSc                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>H   s   € ÐXÐXÐX QÐVWÐX˜qÐXÐXÐXr   ÚINTERFACE_COMPILE_DEFINITIONSc                óD   — g | ]}|¯d t          j        dd|¦  «        z   ‘ŒS )z-Dz^-Dr-   )ÚreÚsubr0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>K   sJ   € ð  (Cð  (Cð  (CÈð  ABð  (C¨­r¬v°e¸RÀÑ/CÔ/CÑ(Cð  (Cð  (Cð  (Cr   ÚINTERFACE_COMPILE_OPTIONSc                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>N   s   € Ð'dÐ'dÐ'd¨aÐbcÐ'd¨Ð'dÐ'dÐ'dr   ÚIMPORTED_CONFIGURATIONSc                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>Q   s   € ÐNÐNÐN˜!ÈAÐN�AÐNÐNÐNr   ÚDEBUGÚRELEASEÚIMPORTED_IMPLIB_c                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>^   s   € ÐWÐWÐW AÐUVÐW˜aÐWÐWÐWr   ÚIMPORTED_IMPLIBc                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>`   s   € ÐPÐPÐP AÈaÐP˜aÐPÐPÐPr   ÚIMPORTED_LOCATION_c                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>b   s   € ÐYÐYÐY AÐWXÐY˜aÐYÐYÐYr   ÚIMPORTED_LOCATIONc                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>d   s   € ÐRÐRÐR AÐPQÐR˜aÐRÐRÐRr   ÚLINK_LIBRARIESc                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>g   s   € ÐIÐIÐI˜aÀqÐI˜ÐIÐIÐIr   ÚINTERFACE_LINK_LIBRARIESc                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>i   s   € ÐSÐSÐS˜aÐQRÐS˜ÐSÐSÐSr   Ú"IMPORTED_LINK_DEPENDENT_LIBRARIES_c                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>l   s   € ÐcÐcÐc˜aÐabÐc˜ÐcÐcÐcr   Ú!IMPORTED_LINK_DEPENDENT_LIBRARIESc                ó   — g | ]}|¯|‘ŒS r   r   r0   s     r   r2   z/resolve_cmake_trace_targets.<locals>.<listcomp>n   s   € Ð\Ð\Ð\˜aÐZ[Ð\˜Ð\Ð\Ð\r   )r   r7   Úcompiler   ÚlenÚpopÚtargetsÚmatchr   r   Úis_absoluteÚexistsÚmachinesÚbuildÚ
is_windowsÚfind_libraryr   ÚdebugÚ
propertiesr   r   r   ÚsortedÚset)r$   r&   r(   r"   r#   ÚresrR   Ú
reg_is_libÚreg_is_maybe_bare_libÚis_debugÚprocessed_targetsÚcurrÚtgtÚcfgsÚcfgs                  r   Úresolve_cmake_trace_targetsrg      s:  € õ Ñ
Ô
€CØˆm€Gõ ”Ð=Ñ>Ô>€JÝœJÐ'9Ñ:Ô:Ðå˜cÑ"Ô"€Hà%'ÐÝ
ˆg‰,Œ,˜Ò
Ñ
Ø�{Š{˜1‰~Œ~ˆð Ð$Ð$Ð$Øà�u”}Ð$Ð$Ø×Ò Ñ%Ô%ð (Ø�” $ Ñ'�”�Ý�d‘”×'Ò'Ñ)Ô)ð 	(­d°4©j¬j×.?Ò.?Ñ.AÔ.Að 	(Ø�” $ Ñ'�”�Ø”Ô#×.Ò.Ñ0Ô0ð (Ð5J×5PÒ5PÐQUÑ5VÔ5Vð (Ð[hð (ð
 �” ×!;Ò!;¸DÀ#ÀrÑ!JÔ!JÑJ�”�à!Ð! $Ñ'Ô'Ð'ÙàŒm˜DÔ!ˆØˆØˆÝŒ
�3‰Œˆà*¨c¬nÐ<Ð<ØÐ#Ô#Ð'hÐ'h°3´>ÐBaÔ3bÐ'hÑ'hÔ'hÑhÐ#Ô#à# s¤~Ð5Ð5ØˆNŒNÐXÐX¨#¬.Ð9QÔ*RÐXÑXÔXÑXˆNŒNà*¨c¬nÐ<Ð<ØÐ#Ô#ð  (Cð  (CÈSÌ^Ð\{ÔM|ð  (Cñ  (Cô  (Cñ  CÐ#Ô#à&¨#¬.Ð8Ð8ØÐ#Ô#Ð'dÐ'd°3´>ÐB]Ô3^Ð'dÑ'dÔ'dÑdÐ#Ô#à$¨¬Ð6Ð6ØNÐN˜sœ~Ð.GÔHÐNÑNÔNˆDØ�q”'ˆCàð 	 Ø˜$ˆˆØ��Ø˜dÐ"Ð"Ø�øà˜DÐ Ð Ø�à#˜cÐ#Ð# s¤~Ð5Ð5ØˆMŒMÐWÐW¨¬Ð8PÈ3Ð8PÐ8PÔ)QÐWÑWÔWÑWˆMŒMˆMØ #¤.Ð0Ð0ØˆMŒMÐPÐP¨¬Ð8IÔ)JÐPÑPÔPÑPˆMŒMˆMØ' #Ð'Ð'¨3¬>Ð9Ð9ØˆMŒMÐYÐY¨¬Ð8RÈSÐ8RÐ8RÔ)SÐYÑYÔYÑYˆMŒMˆMØ  C¤NÐ2Ð2ØˆMŒMÐRÐR¨¬Ð8KÔ)LÐRÑRÔRÑRˆMŒMà˜sœ~Ð-Ð-ØÐIÐI 3¤>Ð2BÔ#CÐIÑIÔIÑIˆGØ%¨¬Ð7Ð7ØÐSÐS 3¤>Ð2LÔ#MÐSÑSÔSÑSˆGà5°Ð5Ð5¸¼ÐGÐGØÐcÐc 3¤>Ð2\ÐWZÐ2\Ð2\Ô#]ÐcÑcÔcÑcˆGˆGØ0°C´NÐBÐBØÐ\Ð\ 3¤>Ð2UÔ#VÐ\Ñ\Ô\Ñ\ˆGà˜d˜VÑ#ÐõO ˆg‰,Œ,˜Ò
Ñ
õR %¥S¨Ô)@Ñ%AÔ%AÑBÔB€CÔÝ�C ¤Ñ/Ô/Ñ0Ô0€C„NÝ$¥S¨Ô)@Ñ%AÔ%AÑBÔB€CÔÝ�3˜sœ}Ñ-Ô-Ñ.Ô.€C„Mà€Jr   )r$   r%   r&   r'   r(   r)   r"   r*   r#   r+   r   r   )Ú
__future__r   Úcommonr   r-   r   Úpathlibr   r7   ÚtypingÚTÚTYPE_CHECKINGÚtraceparserr	   Úenvironmentr
   Ú	compilersr   Údependenciesr   r   rg   r   r   r   ú<module>rr      s  ðð #Ð "Ð "Ð "Ð "Ð "à "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð à„?ð /Ø-Ð-Ð-Ð-Ð-Ð-Ø)Ð)Ð)Ð)Ð)Ð)Ø$Ð$Ð$Ð$Ð$Ð$Ø.Ð.Ð.Ð.Ð.Ð.ð3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð Y]ØM[È^ð^ð ^ð ^ð ^ð ^ð ^ð ^ð ^r   