
    -Phe"                        U d dl mZ 	 d dlZd dlZddlmZ ddlmZ ej	        rddl
mZ ddlmZmZ neZi dd	dgd
d	d
gdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgdd	dgd	dgd	dgd	dgd	dgd	dgd	dgd	d gd	d!gd	d"gd	d#gd	d$gd	d%gd&Zd'ed(<   i dd	dgd)d	d)gd*d	d*gd+d	d+gd,d	d,gd-d	d-gd.d	d.gd/d	d/gd0d	d0gd1d	d1gd2d	d2gd3d	d3gd4d	d4gd5d	d5gd6d	d6gd7d	d7gd8d	d8gd	d9gd	d:gd	d;gd	d<gd	d=gd	d>gd	d?gd	d@gdAZd'edB<   d	dCgd	dDgd	dEgd	dFgd	dGgd	dHgd	dIgd	dJgd	dKgd	dLgd	dMgd	dNgdOZd'edP<   i d)d	d)gd*d	d*gd+d	d+gd,d	d,gd-d	d-gdQd	dQgd.d	d.gd/d	d/gd0d	d0gd1d	d1gd2d	d2gd3d	d3gd4d	d4gdRd	dRgd5d	d5gdSd	dSgd6d	d6gi d7d	d7gd8d	d8gd9d	d9gdTd	dTgd:d	d:gdUd	dUgdVd	dVgdWd	dWgdXd	dXgdYd	dYgd;d	d;gdZd	dZgd<d	d<gd[d	d[gd\d	d\gd=d	d=gd]d	d]gi d>d	d>gd^d	d^gd_d	d_gd`d	d`gdad	dagdbd	dbgdcd	dcgddd	ddgded	degd?d	d?gdfd	dfgdgd	dggdhd	dhgdid	digd@d	d@gdd	dgZd'edj<   g dkgdlgdmgdngdogdpgdqZd'edr<   g dsgdtZduedv<    G dw dxe          ZdS )y    )annotationsN   )EnvironmentException	OptionKey)MachineInfo)CompilerCompileCheckModegenericz-procv4v4tv5tv5tev6arm7tdmiarm710tarm720tarm740tarm7ejarm9tdmiarm920tarm922tarm940tarm9ejarm926ejarm946earm966earm1020earm1022e	arm1026ejdbmx1dbmxlXScalepxa255pxa261pxa262pxa263)r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   zT.Dict[str, T.List[str]]mwccarm_instruction_set_args401403505509555601602603603e604604e7407508018218238508607400745082408260e500gekko)r9   r:   r;   r<   r=   r>   r?   r@   mwcceppc_instruction_set_argsarm4arm4tarm4xmarm4txmarm5arm5Tarm5xMarm5TxMarm5TEarm5TExParm6xscale)rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   mwasmarm_instruction_set_args56X74X75X85X86X87X88X51005200744X745X82XX824X827X8280e300e300c2e300c3e300c4e60085xxe500v2Zen55655674mwasmeppc_instruction_set_argsz-O0z-Opz-O1z-O2z-O4,pz-Os)plain0g123smwcc_optimization_argsz-g)FTzT.Dict[bool, T.List[str]]mwcc_debug_argsc                      e Zd ZdZdZd5dZd6d	Zd7dZd8dZd7dZ	d9dZ
d:dZd;dZd<dZd7dZd7dZd7dZd=dZd>d Zd7d!Zd7d"Zd7d#Zd?d&Zd@d(Zd;d)ZdAd+Zd7d,ZedBd0            ZdCd3Zd4S )DMetrowerksCompilermwccFreturnNonec                    | j         st          t           d          d dD             | _        ddgg ddgddgddgd	| _        d S )
Nz! supports only cross-compilation.c                ,    h | ]}t          |          S  r   ).0os     f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/compilers/mixins/metrowerks.py	<setcomp>z.MetrowerksCompiler.__init__.<locals>.<setcomp>   s+     9 9 9IaLL9 9 9    )b_pchb_ndebugz	-warningsoffzon,nocmdlinezon,allzon,full)rj   rl   rm   rn   
everything)is_crossr   idbase_options	warn_argsselfs    r|   __init__zMetrowerksCompiler.__init__   s|    } 	Q&"'O'O'OPPP9 9"79 9 9 u%~.x(&	244 44r~   objfilestrT.Optional[str]c                |    t           j                            |          d         dz   |                                 z   S )Nr   .)ospathsplitextget_depfile_suffix)r   r   s     r|   depfile_for_objectz%MetrowerksCompiler.depfile_for_object   s5     w((+c1D4K4K4M4MMMr~   T.List[str]c                    dgS )Nz-gccincry   r   s    r|   get_always_argsz"MetrowerksCompiler.get_always_args   s
    {r~   moder
   c                    g S Nry   )r   r   s     r|   get_compiler_check_argsz*MetrowerksCompiler.get_compiler_check_args   s    	r~   c                    dgS )Nz-cry   r   s    r|   get_compile_only_argsz(MetrowerksCompiler.get_compile_only_args   	    vr~   is_debugboolc                    t           |         S r   )rq   )r   r   s     r|   get_debug_argsz!MetrowerksCompiler.get_debug_args   s    x((r~   	outtargetoutfilec                
    ddgS )Nz-gccdepz-MDry   )r   r   r   s      r|   get_dependency_gen_argsz*MetrowerksCompiler.get_dependency_gen_args   s    5!!r~   c                    dS )Ndry   r   s    r|   r   z%MetrowerksCompiler.get_depfile_suffix   s    sr~   r   	is_systemc                    |sd}d|z   gS )Nr   -Iry   )r   r   r   s      r|   get_include_argsz#MetrowerksCompiler.get_include_args   s     	Dt}r~   c                
    ddgS )Nz-optr   ry   r   s    r|   get_no_optimization_argsz+MetrowerksCompiler.get_no_optimization_args   s    r~   c                    dgS )Nz	-nostdincry   r   s    r|   get_no_stdinc_argsz%MetrowerksCompiler.get_no_stdinc_args   
    }r~   c                    dgS )Nz	-nostdlibry   r   s    r|   get_no_stdlib_link_argsz*MetrowerksCompiler.get_no_stdlib_link_args   r   r~   optimization_levelc                    t           |         S r   )rp   )r   r   s     r|   get_optimization_argsz(MetrowerksCompiler.get_optimization_args   s    %&899r~   
outputnamec                
    d|gS )Nz-ory   )r   r   s     r|   get_output_argsz"MetrowerksCompiler.get_output_args   s    j!!r~   c                    dgS )Nz-picry   r   s    r|   get_pic_argszMetrowerksCompiler.get_pic_args   s	    xr~   c                    dgS )Nz-Ery   r   s    r|   get_preprocess_only_argsz+MetrowerksCompiler.get_preprocess_only_args   r   r~   c                    dgS )Nz-Pry   r   s    r|   get_preprocess_to_file_argsz.MetrowerksCompiler.get_preprocess_to_file_args   r   r~   pch_dirheaderc                0    d|                      |          gS )Nz-prefix)get_pch_name)r   r   r   s      r|   get_pch_use_argsz#MetrowerksCompiler.get_pch_use_args   s    4,,V4455r~   namec                p    t           j                            |          dz   |                                 z   S )Nr   )r   r   basenameget_pch_suffix)r   r   s     r|   r   zMetrowerksCompiler.get_pch_name   s.    w%%+d.A.A.C.CCCr~   c                    dS )Nmchry   r   s    r|   r   z!MetrowerksCompiler.get_pch_suffix   s    ur~   levelc                    | j         |         S r   )r   )r   r   s     r|   get_warn_argsz MetrowerksCompiler.get_warn_args   s    ~e$$r~   c                
    ddgS )Nz-werrorry   r   s    r|   get_werror_argsz"MetrowerksCompiler.get_werror_args   s    g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   r   z-Wl,-rpath=z--print-search-dirsz-L)
startswithappend)clsr   r   resultis        r|   _unix_args_to_nativez'MetrowerksCompiler._unix_args_to_native  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 )Nr   r   )	enumerater   r   normpathjoin)r   r   r   idxr   s        r|   &compute_parameters_with_absolute_pathsz9MetrowerksCompiler.compute_parameters_with_absolute_paths  s{    // 	_ 	_FC!u}}&'ebg.>.>rw||IWXYZY[Y[W\?]?].^.^&^s#r~   N)ru   rv   )r   r   ru   r   )ru   r   )r   r
   ru   r   )r   r   ru   r   )r   r   r   r   ru   r   )ru   r   )r   r   r   r   ru   r   )r   r   ru   r   )r   r   ru   r   )r   r   r   r   ru   r   )r   r   ru   r   )r   r   ru   r   )r   r   r   r   ru   r   )r   r   r   r   ru   r   )__name__
__module____qualname__r   INVOKES_LINKERr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   classmethodr   r   ry   r~   r|   rs   rs      s       	B N4 4 4 4N N N N
         ) ) ) )" " " "      
         : : : :" " " "         6 6 6 6D D D D   % % % %       [      r~   rs   )
__future__r   r   typingTmesonlibr   optionsr   TYPE_CHECKING	envconfigr   compilers.compilersr	   r
   objectr(   __annotations__rA   rN   rh   rp   rq   rs   ry   r~   r|   <module>r      s   # " " " " " " Z 				     , , , , , ,            ? ((((((AAAAAAAAA H:#:7D/: 
GU: 
GU	:
 Wf: 	7D/: *%: #: #: #: w!: *%: #: #: #:  w!!:" *%#:$ ##*%*%;'ww!!!!!;: : :     @;#;	GU; 
GU; 
GU	;
 
GU; 
GU; 
GU; 
GU; 
GU; Wf; 
GU; Wf; 
GU; 
GU; 
GU;  
GU!;" 
GU#;$ UUfffffw3; ; ;     : fw!#fw!#!*%f!; ;     3<	GU3<	GU3< 
GU3< 
GU	3<
 
GU3< 
GU3< 
GU3< 
GU3< 
GU3< Wf3< 
GU3< Wf3< 
GU3< 
GU3< 
GU3<  
GU!3<" 
GU#3< 3<$ 
GU%3<& 
GU'3<( 
GU)3<* 
GU+3<, 
GU-3<. 
GU/3<0 
GU13<2 
GU33<4 Wf53<6 Wf73<8 Wf93<: Wf;3<< Wf=3<> Wf?3<@ WfA3<B WfC3<D WfE3< 3< 3<F WfG3<H WfI3<J WfK3<L WfM3<N w!O3<P w!Q3<R w!S3<T WfU3<V WfW3<X WfY3<Z w![3<\ 
GU]3<^ Wf_3<` Wfa3<b gwc3<d #e3< 3<  3 3 3 3l 





4 4      &. .    o o o o o o o o o or~   