
    -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dgdgd	gd
gdgd
dgdZded<   g dgdZded<    G d de          ZdS )    )annotationsN   )EnvironmentException)MachineInfo)Environment)Compilerz-optimize=0z-optimize=1z-optimize=2z-optimize=maxz-size)0g123szT.Dict[str, T.List[str]]ccrx_optimization_argsz-debug)FTzT.Dict[bool, T.List[str]]ccrx_debug_argsc                      e Zd Zej        r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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     `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/compilers/mixins/ccrx.py__init__zCcrxCompiler.__init__.   si    } 	P&'NOOO!%%e,,,)+""R'"R'+b042 42    T.List[str]c                    g S N r   s    r   get_pic_argszCcrxCompiler.get_pic_args;   s	     	r!   strc                    dS )Npchr%   r&   s    r   get_pch_suffixzCcrxCompiler.get_pch_suffix@   s    ur!   pch_dirheaderc                    g S r$   r%   )r   r,   r-   s      r   get_pch_use_argszCcrxCompiler.get_pch_use_argsC       	r!   env'Environment'c                    g S r$   r%   )r   r1   s     r   thread_flagszCcrxCompiler.thread_flagsF   r0   r!   c                    g S r$   r%   r&   s    r   get_coverage_argszCcrxCompiler.get_coverage_argsI   r0   r!   c                    g S r$   r%   r&   s    r   get_no_stdinc_argszCcrxCompiler.get_no_stdinc_argsL   r0   r!   c                    g S r$   r%   r&   s    r   get_no_stdlib_link_argsz$CcrxCompiler.get_no_stdlib_link_argsO   r0   r!   optimization_levelc                    t           |         S r$   )r   )r   r;   s     r   get_optimization_argsz"CcrxCompiler.get_optimization_argsR   s    %&899r!   is_debugboolc                    t           |         S r$   )r   )r   r>   s     r   get_debug_argszCcrxCompiler.get_debug_argsU   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)clsrB   rC   resultis        r   _unix_args_to_nativez!CcrxCompiler._unix_args_to_nativeX   s      	 	A||D!! '122&||D!! (!ABB%'||M**  +++d##  \\'**  qzz./I/I  aK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	   rF   )	enumerateospathnormpathjoin)r   rN   rO   idxrL   s        r   &compute_parameters_with_absolute_pathsz3CcrxCompiler.compute_parameters_with_absolute_pathsk   s}    // 	_ 	_FC!u##&'ebg.>.>rw||IWXYZY[Y[W\?]?].^.^&^s#r!   N)r   r   )r   r"   )r   r(   )r,   r(   r-   r(   r   r"   )r1   r2   r   r"   )r;   r(   r   r"   )r>   r?   r   r"   )rB   r"   rC   r   r   r"   )rN   r"   rO   r(   r   r"   )__name__
__module____qualname__TTYPE_CHECKINGr   idr    r'   r+   r/   r4   r6   r8   r:   r=   rA   classmethodrM   rX   r%   r!   r   r   r   '   s$        	B2 2 2 2   
                  : : : :) ) ) )    [$     r!   r   )
__future__r   rS   typingr\   mesonlibr   r]   	envconfigr   environmentr   compilers.compilersr   objectr   __annotations__r   r   r%   r!   r   <module>rh      s=   # " " " " " " D 				     , , , , , ,? 	((((((******/////// H 



	
	!4 4      *. .    I I I I I8 I I I I Ir!   