+
    êhD.  ã                   ó   € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^RI	H
t
Ht ^RIHt ^RIHt ^RIHtHt ^RIHt ^RI	HtHt R	 tR
t ! R R]P2                  4      t ! R R]4      tRtRtRtR tR tRt R# )a  distutils.cygwinccompiler

Provides the CygwinCCompiler class, a subclass of UnixCCompiler that
handles the Cygwin port of the GNU C compiler to Windows.  It also contains
the Mingw32CCompiler class which handles the mingw32 port of GCC (same as
cygwin in no-cygwin mode).
N)Úcheck_output)ÚDistutilsExecErrorÚDistutilsPlatformError)Ú
write_file)Úget_config_vars)ÚLooseVersionÚsuppress_known_deprecation)Úunix)ÚCompileErrorÚErrorc                 ó   € . # )z6No longer needed, but kept for backward compatibility.© r   ó    ÚJ/usr/lib/python3/dist-packages/setuptools/_distutils/compilers/C/cygwin.pyÚ	get_msvcrr      s   € à€Ir   zxUnable to set runtime library search path on Windows, usually indicated by `runtime_library_dirs` parameter to Extensionc                   ó¬   a a€ ] tR t^*t oRtRtRtRtRtRt	Rt
RtRtR	tRV 3R
 llt]R 4       tR tRV 3R lltR tV 3R lt]V 3R l4       tRtVtV ;t# )ÚCompilerz9Handles the Cygwin port of the GNU C compiler to Windows.Úcygwinz.oz.az.dll.az.dllzlib%s%szcyg%s%sz.exec                ó4  <€ \         SV `  WV4       \        4       w  rEV P                  R V RV R24       V\        Jd   V P                  RV R24       \        RR4      w  V n        V n        \        P                  P                  RV P                  ;'       g    R4      V n        \        P                  P                  RV P                  ;'       g    R4      V n        V P                  V n        V P                  V n        R	pV P                  V P                   R
2V P                   R2V P                   R
2V P                   R2V P                   R2V P                   RV 2V P                   R2V P                   RV 2R7       \        4       V n        R# )zPython's GCC status: z (details: Ú)zCPython's pyconfig.h doesn't seem to support your compiler. Reason: z>. Compiling may fail because of undefined preprocessor macros.ÚCCÚCXXÚgcczg++ú-sharedz -mcygwin -O -Wallz -mcygwin -mdll -O -Wallz	 -mcygwinz
 -mcygwin )ÚcompilerÚcompiler_soÚcompiler_cxxÚcompiler_so_cxxÚ
linker_exeÚ	linker_soÚlinker_exe_cxxÚlinker_so_cxxN)ÚsuperÚ__init__Úcheck_config_hÚdebug_printÚCONFIG_H_OKÚwarnr   ÚccÚcxxÚosÚenvironÚgetÚ
linker_dllÚlinker_dll_cxxÚset_executablesr   Údll_libraries)ÚselfÚverboseÚdry_runÚforceÚstatusÚdetailsÚshared_optionÚ	__class__s   &&&&   €r   r#   ÚCompiler.__init__7   s|  ø€ Ü‰Ñ˜¨5Ô1ä(Ó*‰ˆØ×ÑÐ0°°¸ÀGÀ9ÈAÐNÔOØœÓ$Ø�I‰IðØ"˜)ð $OðOôô ,¨D°%Ó8ÑˆŒ�”ô —*‘*—.‘.  t§w¡w×'7Ð'7°%Ó8ˆŒÜ—:‘:—>‘> %¨¯©×):Ð):°UÓ;ˆŒàŸ'™'ˆŒØ"Ÿh™hˆÔØ!ˆà×ÑØŸ™�yÐ 2Ð3ØŸ7™7˜)Ð#;Ð<Ø ŸH™H˜:Ð%7Ð8Ø#Ÿx™x˜jÐ(@ÐAØŸ'™'˜ )Ð,ØŸ™Ð)¨°M°?ÐCØ"Ÿh™h˜Z yÐ1Ø!×0Ñ0Ð1°¸M¸?ÐKð 	ô 		
ô '›[ˆÖr   c                ó´   € \         P                  ! R \        ^R7       \        4       ;_uu_ 4        \	        R4      uuRRR4       #   + '       g   i     R# ; i)z�gcc_version attribute of CygwinCCompiler is deprecated. Instead of returning actual gcc version a fixed value 11.2.0 is returned.)Ú
stacklevelz11.2.0N)Úwarningsr'   ÚDeprecationWarningr   r   )r1   s   &r   Úgcc_versionÚCompiler.gcc_version[   s>   € ô 	�ŠðXäØõ		
ô (×)Õ)Ü Ó)÷ *×)×)Ó)ús   °AÁA	c                ó¼  € VR9   d    V P                  RRVRV.4       R#  V P                  V4      R8X  d6   V P                  V P                  V,           VRV.,           V,           4       R# V P                  V P
                  V,           VRV.,           V,           4       R#   \         d   p\        T4      hRp?ii ; i  \         d   p\        T4      hRp?ii ; i)z:Compiles the source by spawning GCC and windres if needed.Úwindresz-iz-oNzc++)ú.rcú.res)Úspawnr   r
   Údetect_languager   r   )r1   ÚobjÚsrcÚextÚcc_argsÚextra_postargsÚpp_optsÚmsgs   &&&&&&& r   Ú_compileÚCompiler._compilej   sÚ   € à�/Ô!ð(Ø—
‘
˜I t¨S°$¸Ð<Ö=ð(Ø×'Ñ'¨Ó,°Ô5Ø—J‘JØ×,Ñ,Ø!õ"à  cÐ*õ+ð )õ)öð —J‘JØ×(Ñ(¨7Õ2°c¸4ÀÐ5EÕEÈÕVöøô &ô (Ü" 3Ó'Ð'ûð(ûô &ô (Ü" 3Ó'Ð'ûð(ús5   ‰B" ¢A	C  Á-3C  Â"B=Â-B8Â8B=Ã CÃCÃCc                óÆ  <€ \         P                   ! T
;'       g    . 4      p
\         P                   ! T;'       g    . 4      p\         P                   ! T;'       g    . 4      pV'       d   V P                  \        4       VP                  V P                  4       VEe   WP
                  8w  g   V P                  R8X  dî   \        P                  P                  V^ ,          4      p\        P                  P                  \        P                  P                  V4      4      w  pp\        P                  P                  WïR,           4      pR\        P                  P                  V4       2R.pVP                  V4       V P                  \        VV3RV 24       VP                  V4       V	'       g   V
P                  R4       \         SV `E  VVVVVVVRV	V
VVV4       R# )zLink the objects.Nr   z.defzLIBRARY ÚEXPORTSzwriting z-s)Úcopyr'   Ú_runtime_library_dirs_msgÚextendr0   Ú
EXECUTABLEr-   r*   ÚpathÚdirnameÚsplitextÚbasenameÚjoinÚexecuter   Úappendr"   Úlink)r1   Útarget_descÚobjectsÚoutput_filenameÚ
output_dirÚ	librariesÚlibrary_dirsÚruntime_library_dirsÚexport_symbolsÚdebugÚextra_preargsrJ   Ú
build_tempÚtarget_langÚtemp_dirÚdll_nameÚdll_extensionÚdef_fileÚcontentsr8   s   &&&&&&&&&&&&&&     €r   r\   ÚCompiler.link‚   s�  ø€ ô$ Ÿ	š	 -×"5Ð"5°2Ó6ˆÜ—I’I˜iŸo˜o¨2Ó.ˆ	Ü—)’)˜GŸM˜M rÓ*ˆçØ�I‰IÔ/Ô0ð 	×Ñ˜×+Ñ+Ô,ð Ó&ØŸ?™?Ô*¨d¯o©oÀÔ.Fô —w‘w—‘ w¨q¥zÓ2ˆHä(*¯©×(8Ñ(8Ü—‘× Ñ  Ó1ó)Ñ%ˆX�}ô
 —w‘w—|‘| H¸Õ.?Ó@ˆHð #¤2§7¡7×#3Ñ#3°OÓ#DÐ"EÐFÈ	ÐRˆHØ�O‰O˜NÔ+Ø�L‰Lœ h°Ð%9¸XÀhÀZÐ;PÔQð
 �N‰N˜8Ô$÷ Ø× Ñ  Ô&ä‰‰ØØØØØØØ ØØØØØØö	
r   c                ó0   € V P                  \        4       . # ©N)r'   rR   ©r1   Údirs   &&r   Úruntime_library_dir_optionÚ#Compiler.runtime_library_dir_optionÚ   s   € ð 	�	‰	Ô+Ô,Øˆ	r   c                ób   <€ \         P                  P                  V4      p\        SV `  WV4      # rp   )r*   rU   Únormcaser"   Ú_make_out_path)r1   r`   Ú	strip_dirÚsrc_nameÚnorm_src_namer8   s   &&&& €r   rw   ÚCompiler._make_out_pathã   s)   ø€ äŸ™×(Ñ(¨Ó2ˆÜ‰wÑ% j¸]ÓKÐKr   c                ój   <€ / \         SV `  CR Uu/ uF  qWP                  ,           bK  	  upC# u upi )z#
Add support for rc and res files.
)rC   rB   )r"   Úout_extensionsÚobj_extension)r1   rH   r8   s   & €r   r}   ÚCompiler.out_extensionsè   s@   ø€ ð

Ü‰gÑ$ð
á8GÓH¹°�C×,Ñ,Õ,Ò,¹ÑHð
ð 	
ùâHs   ‘0)r(   r)   r0   r-   r.   ©FFF)
NNNNNFNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úcompiler_typer~   Ústatic_lib_extensionÚshared_lib_extensionÚdylib_lib_extensionÚstatic_lib_formatÚshared_lib_formatÚdylib_lib_formatÚexe_extensionr#   Úpropertyr>   rM   r\   rs   rw   r}   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r8   Ú__classdict__s   @@r   r   r   *   s…   ù‡ € ÙCà€MØ€MØÐØ#ÐØ ÐØ!ÐØ!ÐØ ÐØ€M÷")ðH ñ*ó ð*ò(÷0V
òpõLð
 ô
ó ÷
ð 
r   r   c                   óD   a a€ ] tR t^ôt oRtRtRV 3R lltR tRtVt	V ;t
# )ÚMinGW32Compilerz:Handles the Mingw32 port of the GNU C compiler to Windows.Úmingw32c                óz  <€ \         SV `  WV4       R p\        V P                  4      '       d   \	        R4      hV P                  V P                   R2V P                   R2V P                   R2V P                   R2V P                   V P                   RV 2V P                   V P                   RV 2R7       R# )r   z1Cygwin gcc cannot be used with --compiler=mingw32z	 -O -Wallz -shared -O -WallÚ )r   r   r   r   r   r   r    r!   N)	r"   r#   Úis_cygwinccr(   r   r/   r)   r-   r.   )r1   r2   r3   r4   r7   r8   s   &&&& €r   r#   ÚMinGW32Compiler.__init__ù   s¹   ø€ Ü‰Ñ˜¨5Ô1à!ˆä�t—w‘w×ÒÜÐKÓLÐLà×ÑØŸ™�y 	Ð*ØŸ7™7˜)Ð#4Ð5Ø#Ÿx™x˜jÐ(9Ð:Ø ŸH™H˜: YÐ/ØŸ'™'˜ØŸ™Ð)¨¨=¨/Ð:Ø"Ÿh™h˜ZØ!×0Ñ0Ð1°°=°/ÐBð 	ö 		
r   c                ó    € \        \        4      hrp   )r   rR   rq   s   &&r   rs   Ú*MinGW32Compiler.runtime_library_dir_option  s   € Ü$Ô%>Ó?Ð?r   r   r€   )r�   r‚   rƒ   r„   r…   r†   r#   rs   r�   r�   r‘   r’   s   @@r   r•   r•   ô   s   ù‡ € ÙDà€M÷
÷&@ò @r   r•   Úokznot okÚ	uncertainc                 óœ  € ^ RI Hp  R\        P                  9   d	   \        R3# R\        P                  9   d	   \        R3# V P                  4       p \        P                  ! V4      P                  RR7      pRpW29   d
   \        pR	pM\        pR
pWA: RV RV: 23#   \         d#   p\        RT RTP                   23u Rp?# Rp?ii ; i)aK  Check if the current Python installation appears amenable to building
extensions with GCC.

Returns a tuple (status, details), where 'status' is one of the following
constants:

- CONFIG_H_OK: all is well, go ahead and compile
- CONFIG_H_NOTOK: doesn't look good
- CONFIG_H_UNCERTAIN: not sure -- unable to read pyconfig.h

'details' is a human-readable string explaining the situation.

Note there are two ways to conclude "OK": either 'sys.version' contains
the string "GCC" (implying that this Python was built with GCC), or the
installed "pyconfig.h" contains the string "__GNUC__".
)Ú	sysconfigÚGCCzsys.version mentions 'GCC'ÚClangzsys.version mentions 'Clang'zutf-8)ÚencodingÚ__GNUC__Úmentionszdoes not mentionr˜   zcouldn't read 'z': N)Ú	distutilsr    ÚsysÚversionr&   Úget_config_h_filenameÚpathlibÚPathÚ	read_textÚCONFIG_H_NOTOKÚOSErrorÚCONFIG_H_UNCERTAINÚstrerror)r    ÚfnÚconfig_hÚ	substringÚcodeÚmention_inflectedÚexcs          r   r$   r$     sÜ   € õ* $ð ”—‘ÔÜÐ8Ð8Ð8ð ”#—+‘+ÔÜÐ:Ð:Ð:ð 
×	(Ñ	(Ó	*€BðAÜ—<’< Ó#×-Ñ-°wÐ-Ó?ˆð ˆ	ØÔ ÜˆDØ *Ñä!ˆDØ 2ÐØ‘v˜QÐ0Ð1°°9±-Ð@Ð@Ð@øô ô MÜ" o°b°T¸¸S¿\¹\¸NÐ$KÐLÕLûðMús   Á&B ÂCÂ)CÃ CÃCc                óŽ   € \        \        P                  ! V 4      R.,           4      pVP                  4       P	                  R4      # )zCTry to determine if the compiler that would be used is from cygwin.z-dumpmachines   cygwin)r   ÚshlexÚsplitÚstripÚendswith)r(   Ú
out_strings   & r   r™   r™   J  s6   € äœeŸkšk¨"›o°Ð0@Õ@ÓA€JØ×ÑÓ×&Ñ& yÓ1Ð1r   )!r…   rQ   r*   rª   r¸   r§   r<   Ú
subprocessr   Úerrorsr   r   Ú	file_utilr   r    r   r¨   r   r   Ú r	   r
   r   r   rR   r   r•   r&   r­   r¯   r$   r™   Úget_versionsr   r   r   Ú<module>rÂ      s•   ðñó Û 	Û Û Û 
Û Ý #÷õ $Ý (ß ?Ý ÷òðIð ôF
ˆt�}‰}ô F
ôT@�hô @ð@ €Ø€Ø Ð ò.Aòb2ð €ñr   