+
    UBi                    4  a  0 t $ ^ RIHt  ^ RIt^ RIt^RIHt ^RIH	t	 ^RI
Ht ^RIHt ^RIHt ]P                   '       d   ^RIHt M]tR	. R
R.RR.RR.R. RRR.RR./tR]R&   R	. R
. RR.RR.RR.RR.RR./tR]R&    ! R R]4      t ! R R]4      tR# )    )annotationsN)mesonlib)ArmClangDynamicLinker)	OptionKeyclike_debug_argsclang_color_args)Compilerplain0z-O0gz-g1z-O123z-O3z-OtimeszT.Dict[str, T.List[str]]arm_optimization_argsz-O2z-Ozarmclang_optimization_argsc                      ] tR t^/tRtRtR R ltR R ltR R ltR	 R
 lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltRtR# )ArmCompilerz9Functionality that is common to all ARM family compilers.armc                   V ^8  d   QhRR/#    returnNone )formats   "D/usr/lib/python3.14/site-packages/mesonbuild/compilers/mixins/arm.py__annotate__ArmCompiler.__annotate__5   s     , ,$ ,    c                	   V P                   '       g   \        P                  ! R 4      h. pR. RVRV. ,           RV. ,           RV. ,           /V n        V P                  P                  R4       V P                  P                  R4       R# )	z&armcc supports only cross-compilation.r   r   r   r   
everythingr   sxN)is_crossr   EnvironmentException	warn_argscan_compile_suffixesadd)selfdefault_warn_argss   & r   __init__ArmCompiler.__init__5   s    }}}//0XYY)+r0025025&(9B(>	@ 	!!%%c*!!%%d+r"   c                   V ^8  d   QhRR/# r   r   T.List[str]r   )r   s   "r   r    r!   B   s      k r"   c                	    . # Nr   r+   s   &r   get_pic_argsArmCompiler.get_pic_argsB   s    	r"   c                   V ^8  d   QhRR/# r0   r   )r   s   "r   r    r!   G   s       r"   c                	    . # r3   r   r4   s   &r   get_always_argsArmCompiler.get_always_argsG       	r"   c               $    V ^8  d   QhRRRRRR/# r   	outtargetstroutfiler   r1   r   )r   s   "r   r    r!   J   s&     [ [ [s [{ [r"   c                	    R VRVR.# )z--depend_targetz--dependz--depend_single_liner   r+   r>   r@   s   &&&r   get_dependency_gen_args#ArmCompiler.get_dependency_gen_argsJ   s    !9j'CYZZr"   c               $    V ^8  d   QhRRRRRR/# r   pch_dirr?   headerr   r1   r   )r   s   "r   r    r!   M   s!       S [ r"   c                	    . # r3   r   r+   rG   rH   s   &&&r   get_pch_use_argsArmCompiler.get_pch_use_argsM   s	     	r"   c                   V ^8  d   QhRR/# r   r   r?   r   )r   s   "r   r    r!   U   s       r"   c                	    R # )pchr   r4   s   &r   get_pch_suffixArmCompiler.get_pch_suffixU   s    
 r"   c                   V ^8  d   QhRR/# r0   r   )r   s   "r   r    r!   \   s      { r"   c                	    . # r3   r   r4   s   &r   thread_flagsArmCompiler.thread_flags\   r;   r"   c                   V ^8  d   QhRR/# r0   r   )r   s   "r   r    r!   _   s      ; r"   c                	    . # r3   r   r4   s   &r   get_coverage_argsArmCompiler.get_coverage_args_   r;   r"   c                    V ^8  d   QhRRRR/# r   optimization_levelr?   r   r1   r   )r   s   "r   r    r!   b   s     9 9 9 9r"   c                	    \         V,          # r3   )r   r+   r]   s   &&r   get_optimization_args!ArmCompiler.get_optimization_argsb   s    $%788r"   c                    V ^8  d   QhRRRR/# r   is_debugboolr   r1   r   )r   s   "r   r    r!   e        * *t * *r"   c                	    \         V,          # r3   r   r+   rd   s   &&r   get_debug_argsArmCompiler.get_debug_argse       ))r"   c               $    V ^8  d   QhRRRRRR/# r   parameter_listr1   	build_dirr?   r   r   )r   s   "r   r    r!   h   #      [ ]` ep r"   c           	     	   \        V4       Fv  w  r4VR ,          R8X  g   VR ,          R8X  g   K#  VR ,          \        P                  P                  \        P                  P	                  W$R,          4      4      ,           W&   Kx  	  V# :Nr   Nz-Iz-L:r   NN	enumerateospathnormpathjoinr+   rn   ro   idxis   &&&  r   &compute_parameters_with_absolute_paths2ArmCompiler.compute_parameters_with_absolute_pathsh   c    /FCu}"&'ebgg.>.>rww||IY[W\?].^&^# 0 r"   )r(   N)__name__
__module____qualname____firstlineno____doc__idr-   r5   r9   rC   rK   rQ   rU   rY   r`   ri   r|   __static_attributes__r   r"   r   r   r   /   sG    C	B,
[9* r"   r   c                      ] tR t^ptRtRtR R ltR R ltR R ltR	 R
 lt	R R lt
R R ltR R ltR R ltR R ltRtR# )ArmclangCompilerz
This is the Keil armclang.
armclangc                   V ^8  d   QhRR/# r   r   )r   s   "r   r    ArmclangCompiler.__annotate__w   s     , ,$ ,r"   c                	X   V P                   '       g   \        P                  ! R 4      h\        V P                  \
        4      '       g/   \        P                  ! RV P                  P                   R24      h\        P                  ! V P                  RV P                  P                  ,           4      '       g   \        P                  ! R4      hR Uu0 uF  p\        V4      kK  	  upV n
        V P                  P                  R4       V P                  P                  R4       R# u upi )	z)armclang supports only cross-compilation.zUnsupported Linker z, must be armlinkz==z4armlink version does not match with compiler versionr   r%   N)b_pchb_ltob_pgo
b_sanitize
b_coverageb_ndebugb_staticpic
b_colorout)r&   r   r'   
isinstancelinkerr   exelistversion_compareversionr   base_optionsr)   r*   )r+   os   & r   r-   ArmclangCompiler.__init__w   s    }}}//0[\\$++'<==//2EdkkFYFYEZZk0lmm''dT[[=P=P6PQQ//0fgg676 IaL67
 	!!%%c*!!%%d+7s   D'c                   V ^8  d   QhRR/# r0   r   )r   s   "r   r    r      s      k r"   c                	    . # r3   r   r4   s   &r   r5   ArmclangCompiler.get_pic_args   s	     	r"   c                    V ^8  d   QhRRRR/# )r   	colortyper?   r   r1   r   )r   s   "r   r    r      s     . .3 .; .r"   c                	*    \         V,          R ,          # ):NNNr	   )r+   r   s   &&r   get_colorout_args"ArmclangCompiler.get_colorout_args   s    	*1--r"   c                   V ^8  d   QhRR/# rN   r   )r   s   "r   r    r      s       r"   c                	    R # )gchr   r4   s   &r   rQ   ArmclangCompiler.get_pch_suffix   s    r"   c               $    V ^8  d   QhRRRRRR/# rF   r   )r   s   "r   r    r      s&     R R RS R[ Rr"   c                	b    R \         P                  P                  WP                  V4      4      .# )z-include-pch)ru   rv   rx   get_pch_namerJ   s   &&&r   rK   !ArmclangCompiler.get_pch_use_args   s'     W6G6G6O PQQr"   c               $    V ^8  d   QhRRRRRR/# r=   r   )r   s   "r   r    r      s!     9 9 9s 9{ 9r"   c                	    R RVRV.# )z-MDz-MTz-MFr   rB   s   &&&r   rC   (ArmclangCompiler.get_dependency_gen_args   s    ui88r"   c                    V ^8  d   QhRRRR/# r\   r   )r   s   "r   r    r      s     > > > >r"   c                	    \         V,          # r3   )r   r_   s   &&r   r`   &ArmclangCompiler.get_optimization_args   s    )*<==r"   c                    V ^8  d   QhRRRR/# rc   r   )r   s   "r   r    r      rf   r"   c                	    \         V,          # r3   r   rh   s   &&r   ri   ArmclangCompiler.get_debug_args   rk   r"   c               $    V ^8  d   QhRRRRRR/# rm   r   )r   s   "r   r    r      rp   r"   c           	     	   \        V4       Fv  w  r4VR ,          R8X  g   VR ,          R8X  g   K#  VR ,          \        P                  P                  \        P                  P	                  W$R,          4      4      ,           W&   Kx  	  V# rr   rs   ry   s   &&&  r   r|   7ArmclangCompiler.compute_parameters_with_absolute_paths   r~   r"   )r   N)r   r   r   r   r   r   r-   r5   r   rQ   rK   rC   r`   ri   r|   r   r   r"   r   r   r   p   sA     
B, 
.R9>* r"   r   )__conditional_annotations__
__future__r   ru   typingT r   linkers.linkersr   optionsr   	compilersr   clangr
   TYPE_CHECKINGcompilers.compilersr   objectr   __annotations__r   r   r   )r   s   @r   <module>r      s    # " > 	   4   ( #???/ H R%$%%	%3 /  R$%%%%8 4 >( >B6x 6r"   