
    -Ph{                        U 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 dgdgd	gd
gdgdgdZded<   g g dZded<    G d de          ZdS )    )annotationsN   )EnvironmentException)MachineInfo)Environment)Compilerz-O0z-O1z-O2z-O3z-Os)plain0g123szT.Dict[str, T.List[str]]xc16_optimization_args)FTzT.Dict[bool, T.List[str]]xc16_debug_argsc                      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ed'd            Zd(dZdS ))Xc16Compilerxc16returnNonec                    | j         st          d          | j                            d           | j                            d           g }g ||g z   |g z   |g z   d| _        d S )Nz%xc16 supports only cross-compilation.r   sx)r
   r   r   r   
everything)is_crossr   can_compile_suffixesadd	warn_args)selfdefault_warn_argss     `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/compilers/mixins/xc16.py__init__zXc16Compiler.__init__,   s    } 	P&'NOOO!%%c***!%%d+++)+!0025025(9B(>	@ @    T.List[str]c                    g S N r   s    r    get_always_argszXc16Compiler.get_always_args9       	r"   c                    g S r%   r&   r'   s    r    get_pic_argszXc16Compiler.get_pic_args<   s	     	r"   strc                    dS )Npchr&   r'   s    r    get_pch_suffixzXc16Compiler.get_pch_suffixA   s    ur"   pch_dirheaderc                    g S r%   r&   )r   r0   r1   s      r    get_pch_use_argszXc16Compiler.get_pch_use_argsD   r)   r"   env'Environment'c                    g S r%   r&   )r   r4   s     r    thread_flagszXc16Compiler.thread_flagsG   r)   r"   c                    g S r%   r&   r'   s    r    get_coverage_argszXc16Compiler.get_coverage_argsJ   r)   r"   c                    dgS )Nz	-nostdincr&   r'   s    r    get_no_stdinc_argszXc16Compiler.get_no_stdinc_argsM   s
    }r"   c                    dgS )Nz
--nostdlibr&   r'   s    r    get_no_stdlib_link_argsz$Xc16Compiler.get_no_stdlib_link_argsP   s
    ~r"   optimization_levelc                    t           |         S r%   )r   )r   r>   s     r    get_optimization_argsz"Xc16Compiler.get_optimization_argsS   s    %&899r"   is_debugboolc                    t           |         S r%   )r   )r   rA   s     r    get_debug_argszXc16Compiler.get_debug_argsV   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)clsrE   rF   resultis        r    _unix_args_to_nativez!Xc16Compiler._unix_args_to_nativeY   s     	 	A||D!! !1QRR5L||D!! !1QRR5L||M** +++d## MM!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	   rI   )	enumerateospathnormpathjoin)r   rP   rQ   idxrN   s        r    &compute_parameters_with_absolute_pathsz3Xc16Compiler.compute_parameters_with_absolute_pathsj   s{    // 	_ 	_FC!u}}&'ebg.>.>rw||IWXYZY[Y[W\?]?].^.^&^s#r"   N)r   r   )r   r#   )r   r,   )r0   r,   r1   r,   r   r#   )r4   r5   r   r#   )r>   r,   r   r#   )rA   rB   r   r#   )rE   r#   rF   r   r   r#   )rP   r#   rQ   r,   r   r#   )__name__
__module____qualname__idr!   r(   r+   r/   r3   r7   r9   r;   r=   r@   rD   classmethodrO   rZ   r&   r"   r    r   r   (   s-       	B@ @ @ @      
                  : : : :) ) ) )    [      r"   r   )
__future__r   rU   typingTmesonlibr   TYPE_CHECKING	envconfigr   environmentr   compilers.compilersr   objectr   __annotations__r   r   r&   r"   r    <module>rj      s:   # " " " " " " G 				     , , , , , ,? 	((((((******/////// H 





4 4      
. .    G G G G G8 G G G G Gr"   