
    <h                        % S SK Jr   S SKrS SKrS SKr\R                  (       a  SSKJr  SSK	J
r
  SSKJr  O\r/ S/S/S/S	/S
/S/S.rS\S'   / SS/S.rS\S'   SS/rS\S'    " S S\5      rg)    )annotationsN   )MachineInfo)Environment)Compilerz-O0z-O1z-O2z-O3z-Os)plain0g123szT.Dict[str, T.List[str]]ccomp_optimization_argsz-g)FTzT.Dict[bool, T.List[str]]ccomp_debug_argsz^-ffreestanding$z^-r$T.List[str]ccomp_args_to_wulc                      \ rS rSrSrSS jrSS jrSS jrSS jrSS jr	\
SS j5       rSS	 jrSS
 jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSrg)CompCertCompiler-   ccompc                    U R                   R                  S5        U R                   R                  S5        / n/ UU/ -   U/ -   U/ -   S.U l        g )Nr   sx)r	   r   r   r   
everything)can_compile_suffixesadd	warn_args)selfdefault_warn_argss     څ/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/compilers/mixins/compcert.py__init__CompCertCompiler.__init__1   sW    !!%%c*!!%%d+)+""R'"R'+b042    c                    / $ N r   s    r   get_always_args CompCertCompiler.get_always_args=       	r"   c                    / $ r$   r%   r&   s    r   get_pic_argsCompCertCompiler.get_pic_args@   s    	r"   c                    g)Npchr%   r&   s    r   get_pch_suffixCompCertCompiler.get_pch_suffixD   s    r"   c                    / $ r$   r%   )r   pch_dirheaders      r   get_pch_use_args!CompCertCompiler.get_pch_use_argsG   r)   r"   c                    / nU H_  nSn[          H6  n[        R                  " Xd5      (       d  M   UR                  SU-   5        SnM8     U(       a  MN  UR                  U5        Ma     U$ )z7Always returns a copy that can be independently mutatedr   z-WUl,   )r   rematchappend)clsargsinfopatched_argsargaddedptrns          r   _unix_args_to_native%CompCertCompiler._unix_args_to_nativeJ   se     %'CE)88D&& ''#6E * 5##C(  r"   c                    / $ r$   r%   )r   envs     r   thread_flagsCompCertCompiler.thread_flagsX   r)   r"   c                    S/$ )Nz-Er%   r&   s    r   get_preprocess_only_args)CompCertCompiler.get_preprocess_only_args[   	    vr"   c                    S/$ )Nz-cr%   r&   s    r   get_compile_only_args&CompCertCompiler.get_compile_only_args^   rK   r"   c                    / $ r$   r%   r&   s    r   get_coverage_args"CompCertCompiler.get_coverage_argsa   r)   r"   c                    S/$ )Nz	-nostdincr%   r&   s    r   get_no_stdinc_args#CompCertCompiler.get_no_stdinc_argsd   
    }r"   c                    S/$ )Nz	-nostdlibr%   r&   s    r   get_no_stdlib_link_args(CompCertCompiler.get_no_stdlib_link_argsg   rU   r"   c                    [         U   $ r$   )r   )r   optimization_levels     r   get_optimization_args&CompCertCompiler.get_optimization_argsj   s    &'9::r"   c                    [         U   $ r$   )r   )r   is_debugs     r   get_debug_argsCompCertCompiler.get_debug_argsm   s    ))r"   c           
         [        U5       HW  u  p4US S S:X  d  M  US S [        R                  R                  [        R                  R	                  X$SS  5      5      -   X'   MY     U$ )N	   z-I)	enumerateospathnormpathjoin)r   parameter_list	build_diridxis        r   &compute_parameters_with_absolute_paths7CompCertCompiler.compute_parameters_with_absolute_pathsp   s`    /FC!u}&'ebgg.>.>rww||IYZY[W\?].^&^# 0 r"   )r   N)returnNone)rn   r   )rn   str)r2   rp   r3   rp   rn   r   )r<   r   r=   r   rn   r   )rE   z'Environment'rn   r   )rZ   rp   rn   r   )r^   boolrn   r   )rh   r   ri   rp   rn   r   )__name__
__module____qualname____firstlineno__idr    r'   r+   r/   r4   classmethodrB   rF   rI   rM   rP   rS   rW   r[   r_   rl   __static_attributes__r%   r"   r   r   r   -   sa    	B
2  ;*r"   r   )
__future__r   rd   r8   typingTTYPE_CHECKING	envconfigr   environmentr   compilers.compilersr   objectr   __annotations__r   r   r   r%   r"   r   <module>r      s    # A 	 	 ??(*/ H 





5 1  $-/ +  	" ; 
Hx Hr"   