hyb
2025-11-10 e0a856b5072c5a09f3f6de6da85abf90e00ee704
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Ë
@ñúhD.ãóþ—dZddlZddlZddlZddlZddlZddlZddlmZddl    m
Z
m Z ddl m Z ddlmZddlmZmZd    d
lmZd    d l    mZmZd „Zd ZGd„dej2«ZGd„de«ZdZdZdZd„Zd„ZdZ y)adistutils.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ó—gS)z6No longer needed, but kept for backward compatibility.©róú[H:\Change_password\venv_build\Lib\site-packages\setuptools/_distutils/compilers/C/cygwin.pyÚ    get_msvcrrs€à €IrzxUnable to set runtime library search path on Windows, usually indicated by `runtime_library_dirs` parameter to Extensionc󢇗eZdZdZdZdZdZdZdZdZ    dZ
dZ d    Z dˆfd
„    Z ed „«Zd „Z                                        dˆfd „    Zd„Zˆfd„Zeˆfd„«ZˆxZS)ÚCompilerz9Handles the Cygwin port of the GNU C compiler to Windows.Úcygwinz.oz.az.dll.az.dllzlib%s%szcyg%s%sz.exec ó•—t‰||||«t«\}}|jd|›d|›d«|tur|j d|›d«t dd«\|_|_tjjd|jxsd«|_tjjd|jxsd    «|_|j|_ |j|_ d
}|j|j›d |j›d |j›d |j›d |j›d |j›d|›|j›d |j›d|›¬«t«|_y)NzPython'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Úgcczg++ú-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_cxx)Ú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       €rr&zCompiler.__init__7szø€Ü ‰Ñ˜ '¨5Ô1ä(Ó*‰ˆØ ×ÑÐ0°°¸ ÀGÀ9ÈAÐNÔOØ œÑ $Ø I‰IðØ"˜)ð$OðOô ô ,¨D°%Ó8шŒ”ô—*‘*—.‘.  t§w¡wÒ'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ð    ô        
ô'›[ˆÕrcó—tjdtd¬«t«5t    d«cddd«S#1swYyxYw)Nzgcc_version attribute of CygwinCCompiler is deprecated. Instead of returning actual gcc version a fixed value 11.2.0 is returned.é)Ú
stacklevelz11.2.0)Úwarningsr*ÚDeprecationWarningr
r    )r4s rÚ gcc_versionzCompiler.gcc_version[sA€ô      ‰ ð Xä Øõ        
ô (Ó )ñ    *Ü Ó)÷    *÷    *ò    *ús    § <¼Acót—|dvr    |jdd|d|g«y    |j|«dk(r(|j|j|z|d|gz|z«y|j|j
|z|d|gz|z«y#t$r}t|«‚d}~wwxYw#t$r}t|«‚d}~wwxYw)z:Compiles the source by spawning GCC and windres if needed.)ú.rcú.resÚwindresz-iz-oNzc++)Úspawnrr Údetect_languager r)r4ÚobjÚsrcÚextÚcc_argsÚextra_postargsÚpp_optsÚmsgs        rÚ_compilezCompiler._compilejsڀà /Ñ !ð (Ø—
‘
˜I t¨S°$¸Ð<Õ=ð (Ø×'Ñ'¨Ó,°Ò5Ø—J‘JØ×,Ñ,Ø!ñ"à  cÐ*ñ+ð)ñ)õð—J‘JØ×(Ñ(¨7Ñ2°c¸4ÀÐ5EÑEÈÑVõøô&ò (Ü" 3Ó'Ð'ûð (ûô&ò (Ü" 3Ó'Ð'ûð (ús4†Bž;BÁ'B    B BÂB    B7Â' B2Â2B7cój•—tj|
xsg«}
tj|xsg«}tj|xsg«}|r|jt«|j|j«|||j
k7s|j dk(rætjj|d«}tjjtjj|««\}}tjj||dz«}dtjj|«›dg}|j|«|jt||fd|›«|j|«|    s|
jd«t ‰|E|||||||d|    |
| | | « y)    zLink the objects.Nrrz.defzLIBRARY ÚEXPORTSzwriting z-s)Úcopyr*Ú_runtime_library_dirs_msgÚextendr3Ú
EXECUTABLEr0r-ÚpathÚdirnameÚsplitextÚbasenameÚjoinÚexecuterÚappendr%Úlink)r4Ú target_descÚobjectsÚoutput_filenameÚ
output_dirÚ    librariesÚ library_dirsÚruntime_library_dirsÚexport_symbolsÚdebugÚ extra_preargsrLÚ
build_tempÚ target_langÚtemp_dirÚdll_nameÚ dll_extensionÚdef_fileÚcontentsr;s                   €rr]z Compiler.link‚s~ø€ô$Ÿ    ™     -Ò"5°2Ó6ˆ Ü—I‘I˜išo¨2Ó.ˆ    Ü—)‘)˜GšM rÓ*ˆá Ø I‰IÔ/Ô 0ð    ×ј×+Ñ+Ô,ð Ñ &Ø ˜4Ÿ?™?Ò *¨d¯o©oÀÒ.Fô—w‘w—‘ w¨q¡zÓ2ˆHä(*¯©×(8Ñ(8Ü—‘× Ñ  Ó1ó)Ñ %ˆX}ô
—w‘w—|‘| H¨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Ô $ñØ ×  Ñ   Ô &ä ‰‰ Ø Ø Ø Ø Ø Ø Ø  Ø Ø Ø Ø Ø Ø õ    
rcó0—|jt«gS©N)r*rS©r4Údirs  rÚruntime_library_dir_optionz#Compiler.runtime_library_dir_optionÚs€ð         ‰    Ô+Ô,؈    rcód•—tjj|«}t‰||||«Srp)r-rVÚnormcaser%Ú_make_out_path)r4raÚ    strip_dirÚsrc_nameÚ norm_src_namer;s     €rrvzCompiler._make_out_pathãs+ø€äŸ™×(Ñ(¨Ó2ˆ ܉wÑ% j°)¸]ÓKÐKrcób•—it‰|¥dDcic]}|||jz“Œc}¥Scc}w)z3
        Add support for rc and res files.
        )rDrC)r%Úout_extensionsÚ obj_extension)r4rJr;s  €rr{zCompiler.out_extensionsès@ø€ð
 
܉gÑ$ð
à8GÖH°ˆsC˜$×,Ñ,Ñ,Ñ,ÒHð
ð    
ùâHs‘,©FFF)
NNNNNFNNNN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__Ú compiler_typer|Ústatic_lib_extensionÚshared_lib_extensionÚdylib_lib_extensionÚstatic_lib_formatÚshared_lib_formatÚdylib_lib_formatÚ exe_extensionr&ÚpropertyrArOr]rsrvr{Ú __classcell__©r;s@rrr*sžø„ÙCà€MØ€MØÐØ#ÐØ ÐØ!ÐØ!ÐØ ÐØ€Mõ")ðHñ *óð *ò(ð:ØØØ!ØØØØØØõV
òpôLð
ó
óô
rrcó.‡—eZdZdZdZdˆfd„    Zd„ZˆxZS)ÚMinGW32Compilerz:Handles the Mingw32 port of the GNU C compiler to Windows.Úmingw32c ón•—t‰||||«d}t|j«r t    d«‚|j |j›d|j›d|j ›d|j ›d|j›|j›d|›|j ›|j›d|›¬«y)Nrz1Cygwin gcc cannot be used with --compiler=mingw32z     -O -Wallz -shared -O -Wallú )rrr rr!r"r#r$)    r%r&Ú is_cygwinccr+rr2r,r0r1)r4r5r6r7r:r;s     €rr&zMinGW32Compiler.__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ð    õ        
rcó —tt«‚rp)rrSrqs  rrsz*MinGW32Compiler.runtime_library_dir_option s€Ü$Ô%>Ó?Ð?rr})r~rr€rr‚r&rsr‹rŒs@rrŽrŽôsø„ÙDà€Mõ
ö&@rrŽÚokznot okÚ    uncertaincó„—ddlm}dtjvrtdfSdtjvrtdfS|j «}    t j|«jd¬«}d    }||vr    t}d
}nt}d }||›d |›d |›fS#t$r"}td |›d|j›fcYd}~Sd}~wwxYw)awCheck 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__".
    r)Ú    sysconfigÚGCCzsys.version mentions 'GCC'ÚClangzsys.version mentions 'Clang'zutf-8)ÚencodingÚ__GNUC__Úmentionszdoes not mentionr‘zcouldn'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       rr'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    B?ÂB:Â4B?Â:B?có„—ttj|«dgz«}|j«j    d«S)zCTry to determine if the compiler that would be used is from cygwin.z -dumpmachinescygwin)rÚshlexÚsplitÚstripÚendswith)r+Ú
out_strings  rr’r’Js6€äœeŸk™k¨"›o°Ð0@Ñ@ÓA€JØ × Ñ Ó × &Ñ & yÓ 1Ð1r)!rrRr-r¡r¯ržr?Ú
subprocessrÚerrorsrrÚ    file_utilrr—rrŸr    r
Úr r rrrSrrŽr)r¤r¦r'r’Ú get_versionsrrrú<module>r¹s•ðñó Û    ÛÛ Û
ÛÝ#÷õ$Ý(ß?Ý÷ò ð Iðô F
ˆt}‰}ôF
ôT@hô@ð@€ ؀ؠÐò.Aòb2ð € ðr