+
    UBi                    B  a  0 t $ ^ RIHt  ^ RIt^ RIt^RIHtHt ^RI	H
t
 ^RIHtHt ]P                  '       d   ^RIHt ^RIHt ]
tM]tR. R	R
.RR
.RR.RR.RR.RR./tR]R&   R. R. /tR]R&    ! R R]
4      t ! R R]4      t ! R R]4      t ! R  R!]4      tR# )"    )annotationsN)GnuCStds
GnuCPPStds)Compiler)EnvironmentExceptionversion_compare)BuildTarget)MachineInfoplain0z-O0g1z-O12z-O23z-O3sz-OsT.Dict[str, T.List[str]]xc16_optimization_argsFTzT.Dict[bool, T.List[str]]xc16_debug_argsc                      ] tR t^+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 R l4       tR R ltRtR# )Xc16Compilerxc16c                   V ^8  d   QhRR/#    returnNone )formats   "J/usr/lib/python3.14/site-packages/mesonbuild/compilers/mixins/microchip.py__annotate__Xc16Compiler.__annotate__/   s     @ @$ @    c                	    V P                   '       g   \        R 4      hV P                  P                  R4       V P                  P                  R4       . pR. RVRV. ,           RV. ,           RV. ,           /V n        R# )	z%xc16 supports only cross-compilation.r   sxr   r   r   r   
everythingN)is_crossr   can_compile_suffixesadd	warn_args)selfdefault_warn_argss   & r   __init__Xc16Compiler.__init__/   s{    }}}&'NOO!!%%c*!!%%d+)+r0025025&(9B(>	@r"   c                   V ^8  d   QhRR/# r   r   T.List[str]r   )r   s   "r   r    r!   <   s       r"   c                	    . # Nr   r*   s   &r   get_always_argsXc16Compiler.get_always_args<       	r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r!   ?   s      k r"   c                	    . # r2   r   r3   s   &r   get_pic_argsXc16Compiler.get_pic_args?   s	     	r"   c                   V ^8  d   QhRR/# )r   r   strr   )r   s   "r   r    r!   D   s       r"   c                	    R # )pchr   r3   s   &r   get_pch_suffixXc16Compiler.get_pch_suffixD       r"   c               $    V ^8  d   QhRRRRRR/# )r   pch_dirr<   headerr   r0   r   )r   s   "r   r    r!   G   s!       S [ r"   c                	    . # r2   r   )r*   rC   rD   s   &&&r   get_pch_use_argsXc16Compiler.get_pch_use_argsG   r6   r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r!   J         k r"   c                	    . # r2   r   r3   s   &r   thread_flagsXc16Compiler.thread_flagsJ   r6   r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r!   M         ; r"   c                	    . # r2   r   r3   s   &r   get_coverage_argsXc16Compiler.get_coverage_argsM   r6   r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r!   P   s      K r"   c                	    R .# )z	-nostdincr   r3   s   &r   get_no_stdinc_argsXc16Compiler.get_no_stdinc_argsP   s
    }r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r!   S   s       r"   c                	    R .# )z
--nostdlibr   r3   s   &r   get_no_stdlib_link_args$Xc16Compiler.get_no_stdlib_link_argsS   s
    ~r"   c                    V ^8  d   QhRRRR/# )r   optimization_levelr<   r   r0   r   )r   s   "r   r    r!   V   s     : : : :r"   c                	    \         V,          # r2   )r   )r*   r[   s   &&r   get_optimization_args"Xc16Compiler.get_optimization_argsV   s    %&899r"   c                    V ^8  d   QhRRRR/# )r   is_debugboolr   r0   r   )r   s   "r   r    r!   Y   s     ) )t ) )r"   c                	    \         V,          # r2   )r   )r*   r`   s   &&r   get_debug_argsXc16Compiler.get_debug_argsY   s    x((r"   c               $    V ^8  d   QhRRRRRR/# )r   argsr0   infor
   r   r   )r   s   "r   r    r!   ]   s!       ; ; r"   c                	P   . pV F  pVP                  R 4      '       d   R VR,          ,           pVP                  R4      '       d   RVR,          ,           pVP                  R4      '       d   Kj  VR8X  d   Ks  VP                  R4      '       d   K  VP                  V4       K  	  V# )z-D:r   NN-Iz-Wl,-rpath=z--print-search-dirsz-L)
startswithappend)clsrf   rg   resultis   &&&  r   _unix_args_to_native!Xc16Compiler._unix_args_to_native\   s    A||D!!1R5L||D!!1R5L||M**++d##MM!  r"   c               $    V ^8  d   QhRRRRRR/# )r   parameter_listr0   	build_dirr<   r   r   )r   s   "r   r    r!   m   s#      [ ]` ep r"   c           	     	    \        V4       Fh  w  r4VR ,          R8X  g   K  VR ,          \        P                  P                  \        P                  P	                  W$R,          4      4      ,           W&   Kj  	  V# ):N	   Nri   :ru   NN)	enumerateospathnormpathjoin)r*   rr   rs   idxrn   s   &&&  r   &compute_parameters_with_absolute_paths3Xc16Compiler.compute_parameters_with_absolute_pathsm   sY    /FCu}&'ebgg.>.>rww||IY[W\?].^&^# 0 r"   )r)   N)__name__
__module____qualname____firstlineno__idr,   r4   r9   r?   rF   rK   rP   rT   rX   r]   rc   classmethodro   r|   __static_attributes__r   r"   r   r   r   +   s]    	B@
:)    r"   r   c                      ] tR t^utRtRtRtRtR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4       tR R ltR R ltR R  ltR! R" ltR# R$ ltR%tR&# )'Xc32CompilerzDMicrochip XC32 compiler mixin. GCC based with some options disabled.zxc32-gccz4.5.1>=3.0z>=1.40==-1c                   V ^8  d   QhRR/# r   r   )r   s   "r   r    Xc32Compiler.__annotate__   s     P P$ Pr"   c                	@    V P                   '       g   \        R 4      hR# )z%XC32 supports only cross-compilation.N)r&   r   r3   s   &r   r,   Xc32Compiler.__init__   s    }}}&'NOO r"   c                    V ^8  d   QhRRRR/# )r   instruction_setr<   r   zT.Optional[T.List[str]]r   )r   s   "r   r    r      s       @W r"   c                	    R # r2   r   )r*   r   s   &&r   get_instruction_set_args%Xc32Compiler.get_instruction_set_args   s    r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r      rI   r"   c                	    . # r2   r   r3   s   &r   rK   Xc32Compiler.thread_flags   r6   r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r           + +k +r"   c                	.    \         P                  ! V 4      # r2   )r   openmp_flagsr3   s   &r   r   Xc32Compiler.openmp_flags       $$T**r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r      r   r"   c                	.    \         P                  ! V 4      # r2   )r   r9   r3   s   &r   r9   Xc32Compiler.get_pic_args   r   r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r      r   r"   c                	.    \         P                  ! V 4      # r2   )r   get_pie_argsr3   s   &r   r   Xc32Compiler.get_pie_args   r   r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r      s     8 8; 8r"   c                	.    \         P                  ! V 4      # r2   )r   get_profile_generate_argsr3   s   &r   r   &Xc32Compiler.get_profile_generate_args   s    11$77r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r      s     3 3k 3r"   c                	.    \         P                  ! V 4      # r2   )r   get_profile_use_argsr3   s   &r   r   !Xc32Compiler.get_profile_use_args   s    ,,T22r"   c               $    V ^8  d   QhRRRRRR/# )r   targetzT.Optional[BuildTarget]valuer0   r   r   )r   s   "r   r    r      s#      -D [ ]h r"   c                	    . # r2   r   )r*   r   r   s   &&&r   sanitizer_compile_args#Xc32Compiler.sanitizer_compile_args   r6   r"   c               $    V ^8  d   QhRRRRRR/# )r   linkerr<   versionr   r0   r   )r   s   "r   r    r      s!      S 3 ; r"   c                	    . # r2   r   )rl   r   r   s   &&&r   use_linker_argsXc32Compiler.use_linker_args   s    	r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r      rN   r"   c                	    . # r2   r   r3   s   &r   rP   Xc32Compiler.get_coverage_args   r6   r"   c                   V ^8  d   QhRR/# r/   r   )r   s   "r   r    r      s      K r"   c                	    . # r2   r   r3   s   &r   get_largefile_argsXc32Compiler.get_largefile_args   r6   r"   c               $    V ^8  d   QhRRRRRR/# )r   prelink_namer<   obj_listr0   r   z!T.Tuple[T.List[str], T.List[str]]r   )r   s   "r   r    r      s'     G GS GK GLm Gr"   c                	0    \         P                  ! WV4      # r2   )r   get_prelink_args)r*   r   r   s   &&&r   r   Xc32Compiler.get_prelink_args   s    ((XFFr"   c                   V ^8  d   QhRR/# )r   r   ra   r   )r   s   "r   r    r      s       r"   c                	    R # )Fr   r3   s   &r   get_prelink_append_compile_args,Xc32Compiler.get_prelink_append_compile_args   rA   r"   c                    V ^8  d   QhRRRR/# )r   warn_args_by_versionr   r   r0   r   )r   s   "r   r    r      s      8P U` r"   c                	    . pVP                  4        F2  w  r4\        V P                  R V,           4      '       g   K*  W$,          pK4  	  V# )z>=)itemsr   gcc_version)r*   r   rm   r   r)   s   &&   r   supported_warn_args Xc32Compiler.supported_warn_args   sC     "6"<"<">Gt//@@# #? r"   r   N)r~   r   r   r   __doc__r   r   _COLOR_VERSION_WPEDANTIC_VERSION_LTO_AUTO_VERSION_USE_MOLD_VERSIONr,   r   rK   r   r9   r   r   r   r   r   r   rP   r   r   r   r   r   r   r"   r   r   r   u   s    N	BKN!P+++83  G r"   r   c                  *    ] tR t^tRtRtRtRtRtRt	R# )	Xc32CStdsz4Mixin for setting C standards based on XC32 version.r   r   r   N)
r~   r   r   r   r   _C18_VERSION_C2X_VERSION_C23_VERSION_C2Y_VERSIONr   r   r"   r   r   r      s    >LLLLr"   r   c                  "    ] tR t^tRtRtRtRtR# )Xc32CPPStdsz6Mixin for setting C++ standards based on XC32 version.r   r   N)r~   r   r   r   r   _CPP23_VERSION_CPP26_VERSIONr   r   r"   r   r   r      s    @NNr"   r   )__conditional_annotations__
__future__r   rw   typingTgnur   r   	compilersr   mesonlibr   r   TYPE_CHECKINGbuildr	   	envconfigr
   CompilerBaseobjectr   __annotations__r   r   r   r   r   )r   s   @r   <module>r      s    # " I 	  %   =???$(L L R%%%%%%4 0  
2".* G8 GT>< >@ * r"   