§
    ûµ”cd  ã                  óÂ   — d dl mZ 	 d dlZd dlZddlmZ ej        rddlm	Z	 ddl
mZ ddlmZ neZg g g g g g dœZd	gd	gd
gdgdgddgdœZg dgdœZ G d„ de¦  «        ZdS )é    )ÚannotationsNé   )ÚEnvironmentException)ÚMachineInfo)ÚEnvironment)ÚCompiler)ÚplainÚdebugÚdebugoptimizedÚreleaseÚminsizeÚcustomz-optimize=0z-optimize=1z-optimize=2z-optimize=maxz-size)Ú0ÚgÚ1Ú2Ú3Úsz-debug)FTc                  ó°   — e Zd Zej        rdZ e¦   «         ZdZd"d„Z	d#d„Z
d$d
„Zd%d„Zd&d„Zd'd„Zd#d„Zd#d„Zd#d„Zd(d„Zd)d„Zed*d„¦   «         Zd+d „Zd!S ),ÚCcrxCompilerTÚccrxÚreturnÚNonec                ó–   — | j         st          d¦  «        ‚| j                             d¦  «         g }g ||g z   |g z   |g z   dœ| _        d S )Nz%ccrx supports only cross-compilation.Úsrc)r   r   r   r   Ú
everything)Úis_crossr   Úcan_compile_suffixesÚaddÚ	warn_args)ÚselfÚdefault_warn_argss     úB/usr/lib/python3/dist-packages/mesonbuild/compilers/mixins/ccrx.pyÚ__init__zCcrxCompiler.__init__B   sk   € ØŒ}ð 	PÝ&Ð'NÑOÔOÐOàÔ!×%Ò% eÑ,Ô,Ð,ØÐØ!Ø0Ø0°2Ñ5Ø0°2Ñ5Ø(9¸BÑ(>ð	@ð @ˆŒˆˆó    úT.List[str]c                ó   — g S ©N© ©r!   s    r#   Úget_pic_argszCcrxCompiler.get_pic_argsN   s	   € ð ˆ	r%   Ú	buildtypeÚstrc                ó   — t           |         S r(   )Úccrx_buildtype_args)r!   r,   s     r#   Úget_buildtype_argszCcrxCompiler.get_buildtype_argsS   s   € Ý" 9Ô-Ð-r%   c                ó   — dS )NÚpchr)   r*   s    r#   Úget_pch_suffixzCcrxCompiler.get_pch_suffixV   s   € Øˆur%   Úpch_dirÚheaderc                ó   — g S r(   r)   )r!   r4   r5   s      r#   Úget_pch_use_argszCcrxCompiler.get_pch_use_argsY   ó   € Øˆ	r%   Úenvú'Environment'c                ó   — g S r(   r)   )r!   r9   s     r#   Úthread_flagszCcrxCompiler.thread_flags\   r8   r%   c                ó   — g S r(   r)   r*   s    r#   Úget_coverage_argszCcrxCompiler.get_coverage_args_   r8   r%   c                ó   — g S r(   r)   r*   s    r#   Úget_no_stdinc_argszCcrxCompiler.get_no_stdinc_argsb   r8   r%   c                ó   — g S r(   r)   r*   s    r#   Úget_no_stdlib_link_argsz$CcrxCompiler.get_no_stdlib_link_argse   r8   r%   Úoptimization_levelc                ó   — t           |         S r(   )Úccrx_optimization_args)r!   rC   s     r#   Úget_optimization_argsz"CcrxCompiler.get_optimization_argsh   s   € Ý%Ð&8Ô9Ð9r%   Úis_debugÚboolc                ó   — t           |         S r(   )Úccrx_debug_args)r!   rG   s     r#   Úget_debug_argszCcrxCompiler.get_debug_argsk   s   € Ý˜xÔ(Ð(r%   ÚargsÚinfor   c                óŠ  — g }|D ]½}|                      d¦  «        rd|dd …         z   }|                      d¦  «        rd|dd …         z   }|                      d¦  «        rŒ\|dk    rŒc|                      d¦  «        rŒy|                      d	¦  «        s|                     d
¦  «        rd	|z   }|                     |¦  «         Œ¾|S )Nz-Dz-define=é   z-Iú	-include=z-Wl,-rpath=z--print-search-dirsz-Lz-lib=)z.az.lib)Ú
startswithÚendswithÚappend)ÚclsrL   rM   ÚresultÚis        r#   Ú_unix_args_to_nativez!CcrxCompiler._unix_args_to_nativen   sé   € àˆØð 	ð 	ˆAØ�|Š|˜DÑ!Ô!ð 'Ø  1 2 2¤Ñ&�Ø�|Š|˜DÑ!Ô!ð (Ø ! A B B¤%Ñ'�Ø�|Š|˜MÑ*Ô*ð  ØØÐ+Ò+Ð+ØØ—’˜dÑ#Ô#ð  ØØ—\’\ 'Ñ*Ô*ð  ¨q¯zªz¸.Ñ/IÔ/Ið  Ø˜a‘K�Ø�MŠM˜!ÑÔÐÐØˆr%   Úparameter_listÚ	build_dirc           
     óò   — t          |¦  «        D ]f\  }}|d d…         dk    rS|d d…         t          j                             t          j                             ||dd …         ¦  «        ¦  «        z   ||<   Œg|S )Né	   rP   )Ú	enumerateÚosÚpathÚnormpathÚjoin)r!   rX   rY   ÚidxrV   s        r#   Ú&compute_parameters_with_absolute_pathsz3CcrxCompiler.compute_parameters_with_absolute_paths�   s}   € Ý Ñ/Ô/ð 	_ð 	_‰FˆC�Ø��!�Œu˜Ò#Ð#Ø&'¨¨¨¤e­b¬g×.>Ò.>½r¼w¿|º|ÈIÐWXÐYZÐY[ÐY[ÔW\Ñ?]Ô?]Ñ.^Ô.^Ñ&^�˜sÑ#øàÐr%   N)r   r   )r   r&   )r,   r-   r   r&   )r   r-   )r4   r-   r5   r-   r   r&   )r9   r:   r   r&   )rC   r-   r   r&   )rG   rH   r   r&   )rL   r&   rM   r   r   r&   )rX   r&   rY   r-   r   r&   )Ú__name__Ú
__module__Ú__qualname__ÚTÚTYPE_CHECKINGr   Úsetr   Úidr$   r+   r0   r3   r7   r<   r>   r@   rB   rF   rK   ÚclassmethodrW   rb   r)   r%   r#   r   r   :   sH  € € € € € à„ð %ØˆØ"˜s™uœuÐà	€Bð
@ð 
@ð 
@ð 
@ðð ð ð ð
.ð .ð .ð .ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð:ð :ð :ð :ð)ð )ð )ð )ð ðð ð ñ „[ðð$ð ð ð ð ð r%   r   )Ú
__future__r   r]   Útypingrf   Úmesonlibr   rg   Ú	envconfigr   Úenvironmentr   Úcompilers.compilersr   Úobjectr/   rE   rJ   r   r)   r%   r#   ú<module>rr      s3  ðð #Ð "Ð "Ð "Ð "Ð "à Dà 	€	€	€	Ø Ð Ð Ð à ,Ð ,Ð ,Ð ,Ð ,Ð ,à„?ð 	Ø(Ð(Ð(Ð(Ð(Ð(Ø*Ð*Ð*Ð*Ð*Ð*Ø/Ð/Ð/Ð/Ð/Ð/Ð/ð €Hð ØØØØØðð Ð ð ˆØ
ˆØ
ˆØ
ˆØ
Ð	Ø
˜Ð	!ðð Ð ð Øˆ*ðð €ðLð Lð Lð Lð L�8ñ Lô Lð Lð Lð Lr%   