+
    UBi#                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^RIHt ^RI	H
t
 ^RIHtHtHtHt ^RIHt ^RIHt ^RIHt ^R	IHt ]P0                  '       d   ^R
IHt ^RIHt ^RI	Ht ^RIHt ]! ]P<                  ]P>                  ]P@                  04      R R l4       t!]!]R&    ! R R]4      t" ! R R]4      t#R# )    )annotationsN)detect_cpu_family)
Popen_safe)DependencyExceptionDependencyMethodsdetect_compilerSystemDependency)ConfigToolDependency)packages)factory_methods)PkgConfigDependency)DependencyGenerator)Environment)MachineChoice)DependencyObjectKWsc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )   env'Environment'for_machinez'MachineChoice'kwargsr   methodszT.List[DependencyMethods]returnzT.List['DependencyGenerator'] )formats   "@/usr/lib/python3.14/site-packages/mesonbuild/dependencies/mpi.py__annotate__r      s?     I I] I,I+I 3I 8UI    c           
     z   VP                  R 4      pVf   RpVR9  d   . # . p\        RWV4      pV'       g   . # VP                  4       R9   p\        P                  V9   Ed~   VP                  4       pVR8X  d   R.p	MVR8X  d   R.p	MVR8X  d   . ROp	X	 U
u. uF"  p
\        P                  P                  V
4      NK$  	  pp
V Uu. uF  q'       g   K  VNK  	  ppV'       dw   V P                  V,          P                  4       '       d   ^VR&   VR8X  d   VP                  R	4       M1VR8X  d   VP                  R
4       MVR8X  d   VP                  R4       VR8X  d   VP                  R4       M5VR8X  d   VP                  . RO4       MVR8X  d   VP                  . RO4       WR&   VP                  \        P                  ! \        V^ ,          WVR7      4       \        P                  V9   dU   V P                  V,          P                  4       '       d.   VP                  \        P                  ! \         RWVR7      4       \        P"                  V9   dT   V'       gL   RpVR8X  d   RpMVR8X  d   RpM	VR8X  d   RpVP                  \        P                  ! \$        WW$R7      4       V# u up
i u upi )languageNccppfortranmpiMPICCMPICXXreturncode_valuempiiccmpiicpcmpiifortmpicctoolsr    msmpizompi-czompi-cxxz	ompi-fort>   r!   r"   r#   >   intelintel-cl)MPIFCMPIF90MPIF77)zmpic++mpicxxmpiCC)mpifortmpif90mpif77)getr   get_idr   CONFIG_TOOLcopyosenvironmachines
is_windowsappendextend	functoolspartialMPIConfigToolDependencySYSTEMMSMPIDependency	PKGCONFIGr   )r   r   r   r   r    
candidatescompilercompiler_is_intelnwargsenv_varsenv_name
tool_namestpkg_names   &&&&          r   mpi_factoryrR      su   
 zz*%H..	02JucAH	 )-BB$$/
 s?yH zH"4H?GHx8bjjnnX.x
H!+1Aqaa
1||K(3355-.)*3!!(+U"!!),Y&!!*- s?g&;<"=>$w)++#Z]C(T 	U 7*s||K/H/S/S/U/U)++WcHF 	G
 ""g-6Gs?H!H""H)++K 	L W I1s   (J3	J8J8r$   c                  f   a  ] tR t^itRtRR V 3R llltR R ltR R ltR R	 ltR
 R lt	Rt
V ;t# )rE   z1Wrapper around mpicc, Intel's mpiicc and friends.c               (    V ^8  d   QhRRRRRRRR/# 	r   namestrr   r   r   r   r    zT.Optional[str]r   )r   s   "r   r   $MPIConfigToolDependency.__annotate__l   s*     8 8S 8} 8>Q 8*8r   c                	P  < \         S	V `  WW4R 7       V P                  '       g   R# R F2  w  rV V P                  V.R4      pVe   V P                  V.R4      MTp M	  RV n        R# V P                  V4      V n        V P                  V4      V n        R#   \         d     K{  i ; i)r-   Ncompile_args	link_argsF))z--showme:compilez--showme:link)z-compile_infoz
-link_info)z-showN)	super__init__is_foundget_config_valuer   _filter_compile_argsrZ   _filter_link_argsr[   )
selfrV   r   r   r    complinkc_argsl_args	__class__s
   &&&&&    r   r]    MPIConfigToolDependency.__init__l   s    F>}}} tJD..v~FGKGW..v{C]c  t "DM 55f=//7 ' s   ,BB%$B%c                    V ^8  d   QhRRRR/# r   argsT.List[str]r   r   )r   s   "r   r   rX      s        r   c                
   . pRpV P                   R8X  dO   V P                  P                  P                  V P                  ,          R,          pW4P                  4       ,          pRpV F  pVP                  R	V,           4      '       g=   VR8X  g6   VP                  R4      '       d<   VR8w  d5   VP                  R4      '       g   VP                  V4       Wc9   d   RpKx  Kz  V'       g   K  RpVP                  V4       K  	  V# )
Z
MPI wrappers return a bunch of garbage args.
Drop -O2 and everything that is not needed.
r#   F-pthread-W-Wall-WerrorT)-I)z-Dz-f)r    r   coredata	compilersr   get_module_incdir_args
startswithrA   )rb   rk   result
multi_argsfcinclude_nextfs   &&     r   r`   ,MPIConfigToolDependency._filter_compile_args   s    
 (0
==I%"",,T-=-=>yIB3355JA||L:566!z/T**qG|ALLQZD[D[a ?#'L # $a   r   c                    V ^8  d   QhRRRR/# rj   r   )r   s   "r   r   rX      s      k k r   c                    . pRpV FU  pV P                  V4      '       d   VP                  V4       VR9   d   RpK6  K8  V'       g   KB  RpVP                  V4       KW  	  V# )rn   FT>   -L-Xlinker)_is_link_argrA   )rb   rk   rx   r{   r|   s   &&   r   ra   )MPIConfigToolDependency._filter_link_args   se    
 A  ##a **#'L +$a   r   c                    V ^8  d   QhRRRR/# )r   r|   rW   r   boolr   )r   s   "r   r   rX      s     [ [c [d [r   c                	j   V P                   P                  R 8X  d8   VR8H  ;'       g+    VP                  R4      ;'       g    VP                  R4      # VP                  R4      ;'       gJ    VR8H  ;'       g=    VP                  R4      ;'       d$    VR8g  ;'       d    VP                  R4      '       * # )	r0   z/linkz/LIBPATHz.libro   rp   rq   rr   )r   -lr   )clib_compileridrw   endswith)rb   r|   s   &&r   r   $MPIConfigToolDependency._is_link_arg   s      J.<QQ1<<
#;QQqzz&?QQLL!9: Z ZOZ Z\\$'XXALXXiAX=X[r   c               $    V ^8  d   QhRRRRRR/# )r   toolrl   
returncodeintr   z!T.Tuple[bool, T.Union[str, None]]r   )r   s   "r   r   rX      s"        ;  C  Lm  r   c                	   \        VR .,           4      R,          w  r4VP                  V8H  pV'       d9   \        P                  ! RV4      pV'       d   VP	                  ^ 4      pWW3# RpWW3# \        VR.,           4      R,          w  r4VP                  V8H  pVP                  R^R7      ^ ,          p\        P                  ! RV4      pV'       d   WVP	                  ^ 4      3# \        P                  ! RV4      pV'       d   WVP	                  ^ 4      3# \        P                  ! RV4      pV'       d'   WVP	                  ^4       R	VP	                  ^4       23# VR3# )
z--showme:version:Nr   Nz\d+.\d+.\d+Nz-v
)maxsplitz\d+.\d+z(\d{4}) Update (\d).)r   r   researchgroupsplit)	rb   r   r   poutvalidvversion
first_lines	   &&&      r   _check_and_get_version.MPIConfigToolDependency._check_and_get_version   s4   D$6#778<
*		.#.A''!* >! >! DD6M*2.
*YYtaY03
 IInj1''!*$$ IIj*-''!*$$ II,j9WWQZL!''!*666d{r   rZ   r^   r[   N)__name__
__module____qualname____firstlineno____doc__r]   r`   ra   r   r   __static_attributes____classcell__rg   s   @r   rE   rE   i   s*    ;8 8,0"[   r   rE   c                  6   a  ] tR t^tRtRR V 3R llltRtV ;t# )rG   zThe Microsoft MPI.c               (    V ^8  d   QhRRRRRRRR/# rU   r   )r   s   "r   r   MSMPIDependency.__annotate__   s0     K KS K} K>Q K*Kr   c                	  < \         S	V `  WW4R 7       VR9  d
   RV n        R# V P                  P                  V P
                  ,          P                  4       '       g   R# \        P                  P                  R4      p\        V P                  P                  P                  P                  4      pRpVR8X  d#   \        P                  P                  R4      pRpM(VR8X  d"   \        P                  P                  R4      pR	pVe   Vf
   RV n        R# R
V n        R\        P                  P                  VR4      ,           .V n        RV,           R\        P                  P                  VX4      ,           .V n        V P$                  R8X  dC   V P                   P'                  R\        P                  P                  VR4      ,           4       R# R# )r-   r#   NF	MSMPI_INCx86MSMPI_LIB32x86_64MSMPI_LIB64x64Tr   r.   rs   msmpifec>   Nr!   r#   )r\   r]   r^   r   r?   r   r@   r=   r>   r9   r   rt   ru   hostpathjoinr[   rZ   r    rA   )
rb   rV   r   r   r    incdirarchlibdirpostrg   s
   &&&&&    r   r]   MSMPIDependency.__init__   sW   F>11!DMxx  !1!12==??, !2!2!<!<!A!AB5=ZZ^^M2FDXZZ^^M2FD>V^!DMfg!>>?!F]D277<<3M,MN==I%NN!!$fj)I"IJ &r   r   r   )r   r   r   r   r   r]   r   r   r   s   @r   rG   rG      s    K K Kr   rG   )$
__future__r   rC   typingTr=   r   	envconfigr   mesonlibr   baser   r   r   r	   
configtoolr
   detectr   factoryr   	pkgconfigr   TYPE_CHECKINGr   environmentr   r   r   rH   r;   rF   rR   rE   rG   r   r   r   <module>r      s    #   	 	 ) ! [ [ ,  $ *???,)() #--/@/L/LN_NfNfghI iIV j2 jZ!K& !Kr   