+
     hD.  c                   s    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                 s    . # )z6No longer needed, but kept for backward compatibility. r
       M/usr/lib/python3.14/site-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                   s   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.Zcygwinz.oz.az.dll.az.dllzlib%s%szcyg%s%sz.exec                s4  < \         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: Z)zCPython's pyconfig.h doesn't seem to support your compiler. Reason: z>. Compiling may fail because of undefined preprocessor macros.ZCCZ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_hZdebug_printCONFIG_H_OKwarnr   cccxxosZenvironZget
linker_dlllinker_dll_cxxset_executablesr   dll_libraries)selfverbosedry_runforceZstatusZdetailsshared_option	__class__s   &&&&   r   r   ZCompiler.__init__7   s|   51(*0G9ANO$II") $OO ,D%8 **..tww'7'7%8::>>%):):U;''"hh!y 2377)#;< HH:%78#xxj(@A''),)M?C"hhZy1!001M?K 	 		
 '[r   c                s    \         P                  ! R \        ^R7       \        4       ;_uu_ 4        \	        R4      uuRRR4       #   + '       g   i     R# ; i)zgcc_version attribute of CygwinCCompiler is deprecated. Instead of returning actual gcc version a fixed value 11.2.0 is returned.)Z
stacklevelz11.2.0N)warningsr   ZDeprecationWarningr   r   )r%   s   &r   gcc_versionZCompiler.gcc_version[   s>     	X		
 ())) *)))s   AA	c                s   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.Zwindresz-iz-oNzc++).rc.res)Zspawnr   r   Zdetect_languager   r   )r%   ZobjZsrcextZcc_argsextra_postargsZpp_optsZmsgs   &&&&&&& r   _compileZCompiler._compilej   s    /!(

ItS$<=('',5JJ,,!"c*+ )) JJ((72c45EEV & ("3''( & ("3''(s5   B" A	C  -3C  "B=-B88B= CCCc                s  < \         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                  WR,           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 ZEXPORTSzwriting z-s)copyr   _runtime_library_dirs_msgZextendr$   Z
EXECUTABLEr!   r    pathZdirnameZsplitextZbasenameZjoinZexecuter   Zappendr   link)r%   Ztarget_descZobjectsZoutput_filename
output_dirZ	librariesZlibrary_dirsZruntime_library_dirsZexport_symbolsZdebugZextra_preargsr0   Z
build_tempZtarget_langZtemp_dirZdll_nameZdll_extensionZdef_fileZcontentsr*   s   &&&&&&&&&&&&&&     r   r5   ZCompiler.link   s   $ 		-"5"526IIioo2.	))GMMr*II/0 	++, &??*doo.F wwwqz2H(*(8(8  1)%X}
 ww||H.?@H #277#3#3O#D"EF	RHOON+LLh%9XhZ;PQ
 NN8$   & 	
r   c                s0    V P                  \        4       . # N)r   r3   r%   Zdir   &&r   runtime_library_dir_optionZ#Compiler.runtime_library_dir_option   s     			+,	r   c                sb   < \         P                  P                  V4      p\        SV `  WV4      # r7   )r    r4   Znormcaser   _make_out_path)r%   r6   Z	strip_dirZsrc_nameZnorm_src_namer*      &&&& r   r;   ZCompiler._make_out_path   s)    ((2w%j]KKr   c                sj   < / \         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.
)r.   r-   )r   out_extensionsobj_extension)r%   r/   r*   s   & r   r=   ZCompiler.out_extensions   s@    

g$
8GHC,,,,H
 	
Hs   0)r   r   r$   r!   r"   FFF)
NNNNNFNNNN)__name__
__module____qualname____firstlineno____doc__compiler_typer>   Zstatic_lib_extensionZshared_lib_extensionZdylib_lib_extensionZstatic_lib_formatZshared_lib_formatZdylib_lib_formatZexe_extensionr   Zpropertyr,   r1   r5   r:   r;   r=   __static_attributes____classdictcell____classcell__r*   Z__classdict__   @@r   r   r   *   s     CMM# !! M")H * *(0V
pL
 
 
 
r   r   c                   sD   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.Zmingw32c                sz  < \         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"   )r%   r&   r'   r(   r)   r*   r<   r   r   ZMinGW32Compiler.__init__   s    51!twwKLLy	*77)#45#xxj(9: HH:Y/'')=/:"hhZ!001=/B 	 		
r   c                s     \        \        4      hr7   )r   r3   r8   r9   r   r:   Z*MinGW32Compiler.runtime_library_dir_option  s    $%>??r   r
   r?   )r@   rA   rB   rC   rD   rE   r   r:   rF   rG   rH   rI   rJ   r   rK   rK      s     DM
&@ @r   rK   Zokznot okZ	uncertainc                 s   ^ 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__".
)	sysconfigZGCCzsys.version mentions 'GCC'ZClangzsys.version mentions 'Clang'zutf-8)ZencodingZ__GNUC__Zmentionszdoes not mentionrL   zcouldn't read 'z': N)Z	distutilsrN   sysversionr   Zget_config_h_filenamepathlibZPathZ	read_textCONFIG_H_NOTOKZOSErrorCONFIG_H_UNCERTAINZstrerror)rN   ZfnZconfig_hZ	substringZcodeZmention_inflectedZexcs          r   r   r     s    * $ 888 #++::: 
	(	(	*BA<<#--w-? 	 D *!D 2vQ019-@@@  M"obTS\\N$KLLMs   &B C)C CCc                s    \        \        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    shlexZsplitZstripZendswith)r   Z
out_strings   & r   rM   rM   J  s6    ekk"o0@@AJ&&y11r   )!rD   r2   r    rQ   rT   rO   r+   Z
subprocessr    Zerrorsr   r   Z	file_utilr   rN   r   rP   r   r   Z r   r   r	   r   r3   r   rK   r   rR   rS   r   rM   Zget_versionsr
   r   r   <module>rU      s     	   
  # $ ( ? I F
t}} F
T@h @@   .Ab2 r   