§
    ûµ”c¢  ã                  óÀ   — 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g d	gd	gd
gdgdgdgdœZg g dœZ G d„ de¦  «        ZdS )é    )ÚannotationsNé   )ÚEnvironmentException)ÚMachineInfo)ÚEnvironment)ÚCompiler)ÚplainÚdebugÚdebugoptimizedÚreleaseÚminsizeÚcustomz-O0z-O1z-O2z-O3z-Os)r	   Ú0ÚgÚ1Ú2Ú3Ús)FTc                  ó’   — e Zd 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d)d„Zed*d„¦   «         Zd+d „Zd!S ),ÚXc16CompilerÚxc16ÚreturnÚNonec                ó–   — | j         st          d¦  «        ‚| j                             d¦  «         g }g ||g z   |g z   |g z   dœ| _        d S )Nz%xc16 supports only cross-compilation.r   )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/xc16.pyÚ__init__zXc16Compiler.__init__?   sk   € ØŒ}ð 	PÝ&Ð'NÑOÔOÐOàÔ!×%Ò% cÑ*Ô*Ð*ØÐØ!Ø0Ø0°2Ñ5Ø0°2Ñ5Ø(9¸BÑ(>ð	@ð @ˆŒˆˆó    úT.List[str]c                ó   — g S ©N© ©r    s    r"   Úget_always_argszXc16Compiler.get_always_argsK   ó   € Øˆ	r$   c                ó   — g S r'   r(   r)   s    r"   Úget_pic_argszXc16Compiler.get_pic_argsN   s	   € ð ˆ	r$   Ú	buildtypeÚstrc                ó   — t           |         S r'   )Úxc16_buildtype_args)r    r.   s     r"   Úget_buildtype_argszXc16Compiler.get_buildtype_argsS   s   € Ý" 9Ô-Ð-r$   c                ó   — dS )NÚpchr(   r)   s    r"   Úget_pch_suffixzXc16Compiler.get_pch_suffixV   s   € Øˆur$   Úpch_dirÚheaderc                ó   — g S r'   r(   )r    r6   r7   s      r"   Úget_pch_use_argszXc16Compiler.get_pch_use_argsY   r+   r$   Úenvú'Environment'c                ó   — g S r'   r(   )r    r:   s     r"   Úthread_flagszXc16Compiler.thread_flags\   r+   r$   c                ó   — g S r'   r(   r)   s    r"   Úget_coverage_argszXc16Compiler.get_coverage_args_   r+   r$   c                ó   — dgS )Nz	-nostdincr(   r)   s    r"   Úget_no_stdinc_argszXc16Compiler.get_no_stdinc_argsb   s
   € Øˆ}Ðr$   c                ó   — dgS )Nz
--nostdlibr(   r)   s    r"   Úget_no_stdlib_link_argsz$Xc16Compiler.get_no_stdlib_link_argse   s
   € Øˆ~Ðr$   Úoptimization_levelc                ó   — t           |         S r'   )Úxc16_optimization_args)r    rD   s     r"   Úget_optimization_argsz"Xc16Compiler.get_optimization_argsh   s   € Ý%Ð&8Ô9Ð9r$   Úis_debugÚboolc                ó   — t           |         S r'   )Úxc16_debug_args)r    rH   s     r"   Úget_debug_argszXc16Compiler.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|                     |¦  «         Œ�|S )Nz-Dé   ú-Iz-Wl,-rpath=z--print-search-dirsz-L)Ú
startswithÚappend)ÚclsrM   rN   ÚresultÚis        r"   Ú_unix_args_to_nativez!Xc16Compiler._unix_args_to_nativen   s·   € àˆØð 	ð 	ˆAØ�|Š|˜DÑ!Ô!ð !Ø˜1˜Q˜R˜Rœ5‘L�Ø�|Š|˜DÑ!Ô!ð !Ø˜1˜Q˜R˜Rœ5‘L�Ø�|Š|˜MÑ*Ô*ð ØØÐ+Ò+Ð+ØØ—’˜dÑ#Ô#ð ØØ�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é	   rQ   )Ú	enumerateÚosÚpathÚnormpathÚjoin)r    rX   rY   ÚidxrV   s        r"   Ú&compute_parameters_with_absolute_pathsz3Xc16Compiler.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/   )r6   r/   r7   r/   r   r%   )r:   r;   r   r%   )rD   r/   r   r%   )rH   rI   r   r%   )rM   r%   rN   r   r   r%   )rX   r%   rY   r/   r   r%   )Ú__name__Ú
__module__Ú__qualname__Úidr#   r*   r-   r2   r5   r9   r=   r?   rA   rC   rG   rL   ÚclassmethodrW   rb   r(   r$   r"   r   r   ;   sA  € € € € € à	€Bð
@ð 
@ð 
@ð 
@ðð ð ð ðð ð ð ð
.ð .ð .ð .ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð:ð :ð :ð :ð)ð )ð )ð )ð ðð ð ñ „[ðð ð ð ð ð ð r$   r   )Ú
__future__r   r]   ÚtypingÚTÚmesonlibr   ÚTYPE_CHECKINGÚ	envconfigr   Úenvironmentr   Úcompilers.compilersr   Úobjectr1   rF   rK   r   r(   r$   r"   ú<module>rq      s0  ðð #Ð "Ð "Ð "Ð "Ð "à Gà 	€	€	€	Ø Ð Ð Ð à ,Ð ,Ð ,Ð ,Ð ,Ð ,à„?ð 	Ø(Ð(Ð(Ð(Ð(Ð(Ø*Ð*Ð*Ð*Ð*Ð*Ø/Ð/Ð/Ð/Ð/Ð/Ð/ð €Hð ØØØØØðð Ð ð Ø
ˆØ
ˆØ
ˆØ
ˆØ
ˆØ
ˆðð Ð ð Ø
ðð €ðIð Ið Ið Ið I�8ñ Iô Ið Ið Ið Ir$   