
    <h                        S SK Jr   S SKrS SKrSSKJr  SSKJr  SSK	J
r
  SS	KJr  SS
KJr  \R                  (       a  SSKJr   " S S\
5      r " S S\5      rg)    )annotationsN   )mesonlib   )CompileCheckMode   )GnuLikeCompiler)VisualStudioLikeCompiler)	OptionKey)Environmentc                     ^  \ rS rSr% Sr/ SS/S.rS\S'   / S/S/S	/S
/S/S/S.rS\S'   SrSU 4S jjr	SS jr
SS jrS S jrS!S jrS"U 4S jjrS#S jrS#S jrS$S jrS%S jrS&S jrSrU =r$ )'IntelGnuLikeCompiler'   zo
Tested on linux for ICC 14.0.3, 15.0.6, 16.0.4, 17.0.1, 19.0
debugoptimized: -g -O2
release: -O3
minsize: -O2
z-gz
-tracebackFTT.Dict[bool, T.List[str]]
DEBUG_ARGSz-O0z-O1z-O2z-O3z-Osplain0g123sT.Dict[str, T.List[str]]
OPTIM_ARGSintelc                |   > [         TU ]  5         S Vs1 s H  n[        U5      iM     snU l        SU l        g s  snf )N)b_pchb_lundef
b_asneededb_pgo
b_coverageb_ndebugb_staticpicb_pienone)super__init__r   base_optionslang_header)selfo	__class__s     ڂ/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/compilers/mixins/intel.pyr)   IntelGnuLikeCompiler.__init__?   sD    40 1 40aYq\ 40 1 "1s   9c                    g)Npchi r,   s    r/   get_pch_suffix#IntelGnuLikeCompiler.get_pch_suffixK   s        c           	     f    SS[         R                  R                  U5      SU R                  SUSS/	$ )Nz-pchz-pch_dirz-xz-includer'   )ospathjoinr+   )r,   pch_dirheaders      r/   get_pch_use_args%IntelGnuLikeCompiler.get_pch_use_argsN   s5    
BGGLL$94  *fdFD 	Dr7   c                h    [         R                  R                  U5      S-   U R                  5       -   $ )N.)r9   r:   basenamer5   r,   names     r/   get_pch_name!IntelGnuLikeCompiler.get_pch_nameR   s*    ww%+d.A.A.CCCr7   c                Z    [         R                  " U R                  S5      (       a  S/$ S/$ )Nz>=15.0.0z-qopenmpz-openmp)r   version_compareversionr,   envs     r/   openmp_flags!IntelGnuLikeCompiler.openmp_flagsU   s)    ##DLL*==<;r7   c                0   > / SQn[         TU ]  U5      U-   $ )N)-diag-error10006rO   10148rO   10155rO   10156rO   10157rO   10158)r(   get_compiler_check_args)r,   mode
extra_argsr.   s      r/   rV   ,IntelGnuLikeCompiler.get_compiler_check_args[   s!    

 w.t4zAAr7   c                    S/$ )Nz-prof-gen=threadsafer3   r4   s    r/   get_profile_generate_args.IntelGnuLikeCompiler.get_profile_generate_argsf   s    &''r7   c                    S/$ )Nz	-prof-user3   r4   s    r/   get_profile_use_args)IntelGnuLikeCompiler.get_profile_use_argsi   s
    }r7   c                     U R                   U   $ Nr   r,   is_debugs     r/   get_debug_args#IntelGnuLikeCompiler.get_debug_argsl       x((r7   c                     U R                   U   $ ra   r   r,   optimization_levels     r/   get_optimization_args*IntelGnuLikeCompiler.get_optimization_argso       122r7   c                
    SS/$ )NrO   1292r3   rC   s     r/   !get_has_func_attribute_extra_args6IntelGnuLikeCompiler.get_has_func_attribute_extra_argsr   s    v&&r7   )r*   r+   )returnNone)rs   str)r<   ru   r=   ru   rs   T.List[str])rD   ru   rs   ru   rK   r   rs   rv   rW   r   rs   rv   )rs   rv   rd   boolrs   rv   rk   ru   rs   rv   )rD   ru   rs   rv   )__name__
__module____qualname____firstlineno____doc__r   __annotations__r   idr)   r5   r>   rE   rL   rV   r[   r^   re   rl   rq   __static_attributes____classcell__r.   s   @r/   r   r   '   s     \"-J)  WWWWWW,J(  
B
"DD	B()3' 'r7   r   c                     ^  \ rS rSr% Sr/ SS/S.rS\S'   / S/S/S	/S
/S/S/S.rS\S'   SrSU 4S jjr	SS jr
SS jrSS jrSS jrSS jrSrU =r$ )IntelVisualStudioLikeCompilerv   z4Abstractions for ICL, the Intel compiler on Windows.z/Ziz
/tracebackr   r   r   z/Odz/O1z/O2z/O3z/Osr   r   r   zintel-clc                r   > [         TU ]  U5      nU[        R                  La  UR	                  / SQ5        U$ )N)z/Qdiag-error:10006z/Qdiag-error:10148z/Qdiag-error:10155z/Qdiag-error:10156z/Qdiag-error:10157z/Qdiag-error:10158)r(   rV   r   LINKextend)r,   rW   argsr.   s      r/   rV   5IntelVisualStudioLikeCompiler.get_compiler_check_args   s9    w.t4',,,KK   r7   c                    [         R                  " S/5      u    p[         R                  " U5      R                  S5      tp4n[	        X4-   5      nU R                  U5      $ )Nzcl.exerA   )r   
Popen_safesearch_versionsplitint_calculate_toolset_version)r,   _errv1v2rI   s         r/   get_toolset_version1IntelVisualStudioLikeCompiler.get_toolset_version   sU     ''
3	1,,S177<
bg,..w77r7   c                    S/$ )Nz/Qopenmpr3   rJ   s     r/   rL   *IntelVisualStudioLikeCompiler.openmp_flags   s
    |r7   c                     U R                   U   $ ra   rb   rc   s     r/   re   ,IntelVisualStudioLikeCompiler.get_debug_args   rg   r7   c                     U R                   U   $ ra   ri   rj   s     r/   rl   3IntelVisualStudioLikeCompiler.get_optimization_args   rn   r7   c                @    [         R                  R                  U5      $ ra   )r9   r:   rB   )r,   r=   s     r/   get_pch_base_name/IntelVisualStudioLikeCompiler.get_pch_base_name   s    ww''r7   r3   rx   )rs   zT.Optional[str]rw   ry   r{   )r=   ru   rs   ru   )r|   r}   r~   r   r   r   r   r   r   rV   r   rL   re   rl   r   r   r   r   s   @r/   r   r   v   s~    > l#-J)  WWWWWW,J(  
B8)3( (r7   r   )
__future__r   r9   typingT r   	compilersr   gnur	   visualstudior
   optionsr   TYPE_CHECKINGenvironmentr   r   r   r3   r7   r/   <module>r      sL    # 
   (   2  ??*L'? L'^5($< 5(r7   