+
    UBi\
                        R t ^ RIHt ^ RIt^RIHt ]P                  '       d   ^RIH	t	 ^RI
Ht ^RIHt M]t ! R R]4      t ! R	 R
]4      t ! R R]4      tR# )z$Provides mixins for Apple compilers.)annotationsN)MesonException)ImmutableListProtocol)MachineInfo)Compilerc                     a  ] tR t^t0 o $ RtRR.tR]R&   ]P                  '       d   R]R&   R R	 lt	R
 R lt
R R ltRtR# )AppleCompilerMixinzJHandle differences between Vanilla Clang and the Clang shipped with XCode.z-Xpreprocessorz-fopenmpzImmutableListProtocol[str]#_AppleCompilerMixin__BASE_OMP_FLAGSr   infoc                   V ^8  d   QhRR/#    returnT.List[str] )formats   "F/usr/lib/python3.14/site-packages/mesonbuild/compilers/mixins/apple.py__annotate__AppleCompilerMixin.__annotate__!   s     H Hk H    c                    V P                   P                  P                  R4      '       d   RpMRpV P                  RV R2.,           # )a  Flags required to compile with OpenMP on Apple.

The Apple Clang Compiler doesn't have builtin support for OpenMP, it
must be provided separately. As such, we need to add the -Xpreprocessor
argument so that an external OpenMP can be found.

:return: A list of arguments
x86
/usr/local/opt/homebrewz-Iz/opt/libomp/include)r
   
cpu_family
startswithr	   )selfroots   & r   openmp_flagsAppleCompilerMixin.openmp_flags!   sG     99**511D"D$$"TF2E(F'GGGr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   0   s     	, 	,; 	,r   c                	    V P                   P                  P                  R 4      '       d   RpMRpV P                  RV R2.4      pV'       g   \	        R4      hV P
                  V,           # )r   r   r   ompz/opt/libomp/libzCouldn't find libomp)r
   r   r   find_libraryr   r	   )r   r   links   &  r   openmp_link_flags$AppleCompilerMixin.openmp_link_flags0   sc    99**511D"D  D6)A(BC !788$$t++r   c               $    V ^8  d   QhRRRRRR/# )r   prelink_namestrobj_listr   r   z!T.Tuple[T.List[str], T.List[str]]r   )r   s   "r   r   r   ;   s'     R RS RK RLm Rr   c                	"    V.R RRV.V,           3# )z	-nostdlibz-rz-or   )r   r(   r*   s   &&&r   get_prelink_args#AppleCompilerMixin.get_prelink_args;   s    ~T4FQQQr   r   N)__name__
__module____qualname____firstlineno____doc__r	   __annotations__TTYPE_CHECKINGr   r%   r,   __static_attributes__)__conditional_annotations__s   @r   r   r      s?     T4Dj3Q0QH	,R Rr   r   c                  .    ] tR t^@tRtRtRtRtRtRt	Rt
R# )AppleCStdsMixinz2Provide version overrides for the Apple Compilers.z>=10.0.0z>=11.0.0z>=11.0.3z>=17.0.0r   N)r.   r/   r0   r1   r2   _C17_VERSION_C18_VERSION_C2X_VERSION_C23_VERSION_C2Y_VERSIONr6   r   r   r   r9   r9   @   s    <LLLLLr   r9   c                  "    ] tR t^KtRtRtRtRtR# )AppleCPPStdsMixinz6Provide version overrides for the Apple C++ Compilers.z>=13.0.0z>=16.0.0r   N)r.   r/   r0   r1   r2   _CPP23_VERSION_CPP26_VERSIONr6   r   r   r   r@   r@   K   s    @NNr   r@   )r2   
__future__r   typingr4   mesonlibr   r5   _typingr   	envconfigr   	compilersr   objectr   r9   r@   r   r   r   <module>rJ      sS    + "  &???0($ H&R &RRh    r   