
    -Ph1                        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 neZg g g g g g dZded	<   g d
gdgdgdgdgdgdZded<   g dgdZded<    G d de          ZdS )    )annotationsN   )EnvironmentException	OptionKey)Compiler)plaindebugdebugoptimizedreleaseminsizecustomzT.Mapping[str, T.List[str]]tasking_buildtype_args-O0z-O1z-O2z-O3z-Os)r	   0g123stasking_optimization_argsz-g3)FTzT.Mapping[bool, T.List[str]]tasking_debug_argsc                      e Zd 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d0dZd)dZd1d!Zd2d"Zd3d%Zd)d&Zd'S )4TaskingCompilerzG
    Functionality that is common to all TASKING family compilers.
    z-WlreturnNonec                    | j         st          t           d          d dD             | _        g }g ||g z   |g z   |g z   d| _        | j                            d           d S )Nz! supports only cross-compilation.c                ,    h | ]}t          |          S  r   ).0os     c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/compilers/mixins/tasking.py	<setcomp>z+TaskingCompiler.__init__.<locals>.<setcomp>9   s+     
 
 
IaLL
 
 
    )b_ltob_staticpicb_ndebug)r   r   r   r   
everythingasm)is_crossr   idbase_options	warn_argscan_compile_suffixesadd)selfdefault_warn_argss     r"   __init__zTaskingCompiler.__init__5   s    } 	Q&"'O'O'OPPP
 
#
 
 
 !0025025(9B(>	@ @ 	!%%e,,,,,r$   T.List[str]c                    dgS )Nz--picr   r0   s    r"   get_pic_argszTaskingCompiler.get_pic_argsJ   s
    yr$   	buildtypestrc                    t           |         S N)r   )r0   r7   s     r"   get_buildtype_argsz"TaskingCompiler.get_buildtype_argsM   s    %i00r$   is_debugboolc                    t           |         S r:   )r   )r0   r<   s     r"   get_debug_argszTaskingCompiler.get_debug_argsP   s    !(++r$   c                    dgS )N-cr   r5   s    r"   get_compile_only_argsz%TaskingCompiler.get_compile_only_argsS   	    vr$   	outtargetoutfilec                    d| gS )Nz--dep-file=r   )r0   rD   rE   s      r"   get_dependency_gen_argsz'TaskingCompiler.get_dependency_gen_argsV   s    'g''((r$   c                    dS )Ndepr   r5   s    r"   get_depfile_suffixz"TaskingCompiler.get_depfile_suffixY   s    ur$   c                    dgS )Nz--no-stdincr   r5   s    r"   get_no_stdinc_argsz"TaskingCompiler.get_no_stdinc_args\   s
    r$   c                    dgS )Nz--warnings-as-errorsr   r5   s    r"   get_werror_argszTaskingCompiler.get_werror_args_   s    &''r$   c                    dgS )Nz--no-default-librariesr   r5   s    r"   get_no_stdlib_link_argsz'TaskingCompiler.get_no_stdlib_link_argsb   s    ())r$   
outputnamec                
    d|gS )N-or   )r0   rQ   s     r"   get_output_argszTaskingCompiler.get_output_argse   s    j!!r$   path	is_systemc                    |dk    rd}d|z   gS )N .-Ir   )r0   rU   rV   s      r"   get_include_argsz TaskingCompiler.get_include_argsh   s    2::Dt}r$   optimization_levelc                    t           |         S r:   )r   )r0   r\   s     r"   get_optimization_argsz%TaskingCompiler.get_optimization_argsm   s    ();<<r$   c                    dgS )Nr   r   r5   s    r"   get_no_optimization_argsz(TaskingCompiler.get_no_optimization_argsp   s	    wr$   prelink_nameobj_list!T.Tuple[T.List[str], T.List[str]]c                    g }g }|D ]B}|                     d          r|                    |           -|                    |           C|                    |           |dd|dg|z   fS )Nz.milz
--mil-linkrS   rA   )endswithappend)r0   ra   rb   mil_link_listobj_file_listobjs         r"   get_prelink_argsz TaskingCompiler.get_prelink_argss   s     	* 	*C||F## *$$S))))$$S))))\***|T<FVVVr$   c                    dS )NTr   r5   s    r"   get_prelink_append_compile_argsz/TaskingCompiler.get_prelink_append_compile_args   s    tr$   parameter_list	build_dirc           
        t          |          D ]t\  }}|d d         dk    s|d d         dk    rS|d d         t          j                            t          j                            ||dd                              z   ||<   u|S )N   rZ   z-L)	enumerateosrU   normpathjoin)r0   rm   rn   idxis        r"   &compute_parameters_with_absolute_pathsz6TaskingCompiler.compute_parameters_with_absolute_paths   s    // 	_ 	_FC!u}}"1"&'ebg.>.>rw||IWXYZY[Y[W\?]?].^.^&^s#r$   c                    dgS )Nz-Er   r5   s    r"   get_preprocess_only_argsz(TaskingCompiler.get_preprocess_only_args   rC   r$   N)r   r   )r   r3   )r7   r8   r   r3   )r<   r=   r   r3   )rD   r8   rE   r8   r   r3   )r   r8   )rQ   r8   r   r3   )rU   r8   rV   r=   r   r3   )r\   r8   r   r3   )ra   r8   rb   r3   r   rc   )r   r=   )rm   r3   rn   r8   r   r3   )__name__
__module____qualname____doc__LINKER_PREFIXr2   r6   r;   r?   rB   rG   rJ   rL   rN   rP   rT   r[   r^   r`   rj   rl   rw   ry   r   r$   r"   r   r   .   s         M- - - -*   1 1 1 1, , , ,   ) ) ) )      ( ( ( (* * * *" " " "   
= = = =   
W 
W 
W 
W           r$   r   )
__future__r   rr   typingTmesonlibr   optionsr   TYPE_CHECKINGcompilers.compilersr   objectr   __annotations__r   r   r   r   r$   r"   <module>r      s`   # " " " " " " M 				     , , , , , ,            ? /////// H 7 7      





: :      '4 4     
\ \ \ \ \h \ \ \ \ \r$   