grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U Tñf=aã @sddlZddlZddlmZmZddddddd d d d d g ZdhZdddddddddœdddddddddœdddddddddœd d d!d!d"d#d$d%œd&d&d'd(d)d*d$d%œd+d+d,d,d-d*d$d%œd.œZd%Zej   ¡dZ d/ej dd0…Z d1ej dd0…Zej ej¡Zej ej¡Zej ej¡Zej ej¡ZdadZd2d3„Zej�rRej eejƒ¡Zn ee ¡ƒZej d4k�rŽe !¡ "d5¡�rŽeej #eee¡ƒZd6ej$k�r¨eej$d6ƒZd7d8„Z%e&ed9dƒZ'ej d4k�ràd:d;„Z(e(eƒZe(e'ƒZ'did=d>„Z)e)d?ƒZ*e*�rd@D]Z+dAee+dB<dCee+dD<�qüdEdF„Z,dGdH„Z-dIdJ„Z.dKdL„Z/dMdN„Z0djdOdP„Z1dQd„Z2dRdS„Z3dTdU„Z4dVdW„Z5dXdY„Z6dkdZd „Z7d[d„Z8d\d „Z9d]d„Z:e/ƒdd?fd^d „Z;e/ƒdd?fd_d„Zdbd „Z?dcd „Z@ddde„ZAdfdg„ZBeCdhk�rüeBƒdS)léN)ÚpardirÚrealpathÚget_config_h_filenameÚget_config_varÚget_config_varsÚget_makefile_filenameÚget_pathÚget_path_namesÚ get_pathsÚ get_platformÚget_python_versionÚget_scheme_namesÚparse_config_hZMACOSX_DEPLOYMENT_TARGETz/{installed_base}/lib64/python{py_version_short}z){platbase}/lib64/python{py_version_short}z1{base}/lib/python{py_version_short}/site-packagesz7{platbase}/lib64/python{py_version_short}/site-packagesz;{installed_base}/include/python{py_version_short}{abiflags}z?{installed_platbase}/include/python{py_version_short}{abiflags}z {base}/binz{base})ÚstdlibÚ platstdlibÚpurelibÚplatlibÚincludeÚ platincludeÚscriptsÚdataz{installed_base}/lib/pythonz{base}/lib/pythonz{installed_base}/include/pythonz{installed_base}/Libz {base}/Libz{base}/Lib/site-packagesz{installed_base}/Includez{base}/Scriptsz#{userbase}/Python{py_version_nodot}z1{userbase}/Python{py_version_nodot}/site-packagesz+{userbase}/Python{py_version_nodot}/Includez+{userbase}/Python{py_version_nodot}/Scriptsz {userbase})rrrrrrrz){userbase}/lib64/python{py_version_short}z5{userbase}/lib/python{py_version_short}/site-packagesz7{userbase}/lib64/python{py_version_short}/site-packagesz+{userbase}/include/python{py_version_short}z{userbase}/binz{userbase}/lib/pythonz#{userbase}/lib/python/site-packagesz{userbase}/include)Ú posix_prefixÚ posix_homeÚntZnt_userZ posix_userZosx_framework_userú%d.%déz%d%dcCs(z t|ƒWStk r"|YSXdS©N)rÚOSError)Úpath©rú./opt/alt/python38/lib64/python3.8/sysconfig.pyÚ_safe_realpathis r!r)z\pcbuild\win32z\pcbuild\amd64Z_PYTHON_PROJECT_BASEcCs,dD]"}tj tj |d|¡¡rdSqdS)N)ZSetupz Setup.localZModulesTF)ÚosrÚisfileÚjoin)ÚdÚfnrrr Ú_is_python_source_dir~sr'Ú_homecCs0|r,tj |¡ tj tj td¡¡¡r,tS|S)NZPCbuild)r"rÚnormcaseÚ startswithr$Ú_PREFIX)r%rrr Ú _fix_pcbuild‡s ÿr,FcCs|rtrttƒSttƒSr)Ú _sys_homer'Ú _PROJECT_BASE)Z check_homerrr Úis_python_build�sr/T)rrz{srcdir}/Includerz{projectbase}/.rc Csnz|jf|ŽWStk rhz|jftjŽWYStk rb}ztd|ƒd‚W5d}~XYnXYnXdS)Nz{%s})ÚformatÚKeyErrorr"ÚenvironÚAttributeError)ÚsZ local_varsÚvarrrr Ú _subst_varsœsr6cCs0| ¡}| ¡D]\}}||kr"q|||<qdSr)ÚkeysÚitems)Z target_dictZ other_dictZ target_keysÚkeyÚvaluerrr Ú _extend_dict¥s r;cCsbi}|dkri}t|tƒƒt| ¡D]4\}}tjdkrFtj |¡}tj t ||ƒ¡||<q(|S)N)Úposixr) r;rÚ_INSTALL_SCHEMESr8r"ÚnamerÚ expanduserÚnormpathr6)ÚschemeÚvarsÚresr9r:rrr Ú _expand_vars­s   rDcCstjdkrdStjS)Nr<r)r"r>rrrr Ú_get_default_schemeºs rEcCsztj dd¡}|r|Sdd„}tjdkrBtj d¡p6d}||dƒStjdkrptjrp|dd tjd tjdd …ƒS|dd ƒS) NÚPYTHONUSERBASEcWstj tjj|Ž¡Sr)r"rr?r$)Úargsrrr ÚjoinuserÈsz_getuserbase..joinuserrÚAPPDATAú~ÚPythonÚdarwinÚLibraryrrz.local)r"r2Úgetr>ÚsysÚplatformÚ _frameworkÚ version_info)Úenv_baserHÚbaserrr Ú _getuserbaseÃs   ÿrUc Cs`ddl}| d¡}| d¡}| d¡}|dkr2i}i}i}t|dd��}| ¡} W5QRX| D]¦} |  d¡s^|  ¡dkrzq^| | ¡} | r^|  d d ¡\} } |  ¡} |  d d¡}d |kr¾| || <q^z| t krÌt ‚t | ƒ} Wn$t k rú|  d d ¡|| <Yq^X| || <q^t |  ¡ƒ}d }t|ƒdk�r&t|ƒD�]ò}||}| |¡}| |¡}|�rv|�rv| ¡| ¡k�rp|n|} n|�r€|n|} | dk �r |  d ¡} d}| |k�r´t|| ƒ}nˆ| |k�rÄd}nx| tjk�rÜtj| }n`| |k�r0| d¡�r |dd…|k�r d}n$d| |k�rd}nt|d| ƒ}n d|| <}|�r||  ¡d…}|d|  ¡…||}d |k�r~|||<nŒz|t k�rŽt ‚t |ƒ}Wn"t k �rº| ¡||<Yn X|||<| |¡| d¡�r|dd…|k�r|dd…}||k�r|||<n|||<| |¡�q,�q| ¡D]"\}} t| tƒ�r.|  ¡||<�q.| |¡|S)Nrz"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)z\$\(([A-Za-z][A-Za-z0-9_]*)\)z\${([A-Za-z][A-Za-z0-9_]*)}Úsurrogateescape)Úerrorsú#Úérz$$ú$)ZCFLAGSZLDFLAGSZCPPFLAGSTFZPY_é)ÚreÚcompileÚopenÚ readlinesr*ÚstripÚmatchÚgroupÚreplaceÚ _ALWAYS_STRÚ ValueErrorÚintÚlistr7ÚlenÚtupleÚsearchÚstartÚstrr"r2ÚendÚremover8Ú isinstanceÚupdate)ÚfilenamerBr]Z _variable_rxZ _findvar1_rxZ _findvar2_rxZdoneZnotdoneÚfÚlinesÚlineÚmÚnÚvZtmpvZ variablesZrenamed_variablesr>r:Zm1Zm2ÚfoundÚitemZafterÚkrrr Ú_parse_makefileÖs¢                     ÿ       ÿ     r|cCsdtrtj tptd¡Sttdƒr0dttj f}nd}ttj dƒrP|dtj j 7}tj t dƒ|d¡S)NZMakefileÚabiflagsz config-%s%sZconfigÚ _multiarchz-%sr) Ú _PYTHON_BUILDr"rr$r-r.ÚhasattrrOÚ_PY_VERSION_SHORTr}Úimplementationr~r)Zconfig_dir_namerrr rWs  c Cs(tj ddjtjtjttjddƒd�¡S)NZ_PYTHON_SYSCONFIGDATA_NAMEz+_sysconfigdata_{abi}_{platform}_{multiarch}r~rY)ZabirPZ multiarch) r"r2rNr0rOr}rPÚgetattrr‚rrrr Ú_get_sysconfigdata_nameds ýÿr„c CsÊddl}i}tƒ}zt||ƒWnJtk rj}z,d|}t|dƒrR|d|j}t|ƒ‚W5d}~XYnXtƒ}z"t|ƒ�}t||ƒW5QRXWnJtk rÞ}z,d|}t|dƒrÆ|d|j}t|ƒ‚W5d}~XYnXt rð|d|d<t ƒ}dt j k�r$ddl }| |¡} || _| t j|<dtƒtf} tt d ƒ�rF| d 7} tj| d d �tj | |d ¡} t| ddd��(}| d¡| d¡|j||d�W5QRXtdddd��}| | ¡W5QRXdS)Nrz.invalid Python installation: unable to open %sÚstrerrorz (%s)ZLDSHAREDZ BLDSHAREDrLzbuild/lib.%s-%sZgettotalrefcountz-pydebugT)Úexist_okz.pyÚwÚutf8)ÚencodingzB# system configuration generated and used by the sysconfig module zbuild_time_vars = )Ústreamzpybuilddir.txt)Úpprintrr|rr€r…rr_rrr„rOrPÚtypesÚ ModuleTypeÚbuild_time_varsÚmodulesr r�r"Úmakedirsrr$Úwrite) r‹rBZmakefileÚeÚmsgZconfig_hrsr>rŒÚmoduleZ pybuilddirZdestfilerrr Ú_generate_posix_varsmsL          r•cCs0tƒ}t|tƒtƒdgdƒ}|j}| |¡dS)NrŽr)r„Ú __import__ÚglobalsÚlocalsrŽrq)rBr>Z_temprŽrrr Ú _init_posix¬sr™cCsfddl}tdƒ|d<tdƒ|d<tdƒ|d<| ¡d|d<d |d <t|d <tj ttj ƒ¡|d <dS) NrrZLIBDESTrZ BINLIBDESTrZ INCLUDEPYÚ EXT_SUFFIXz.exeZEXEZVERSIONZBINDIR) Ú_imprÚextension_suffixesÚ_PY_VERSION_SHORT_NO_DOTr"rÚdirnamer!rOÚ executable)rBr›rrr Ú_init_non_posix´s   r c Cs®|dkr i}ddl}| d¡}| d¡}| ¡}|s6qª| |¡}|rŒ| dd¡\}}z|tkrbt‚t|ƒ}Wntk r€YnX|||<q(| |¡}|r(d|| d¡<q(|S)Nrz"#define ([A-Z][A-Za-z0-9_]+) (.*) z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/ rZr)r]r^Úreadlinerbrcrerfrg) ÚfprBr]Z define_rxZundef_rxrurvrwrxrrr rÅs,      cCsBtr,tjdkr"tj tptd¡}q4tp(t}ntdƒ}tj |d¡S)NrZPCrz pyconfig.h)rr"r>rr$r-r.r)Zinc_dirrrr rçs   cCs tttƒƒSr)rjÚsortedr=rrrr r óscCstSr)Ú _SCHEME_KEYSrrrr r øscCs|rt||ƒSt|SdSr)rDr=)rArBÚexpandrrr r ýs cCst|||ƒ|Sr)r )r>rArBr¥rrr r scGsxtdk�rFiattd<ttd<ttd<ttd<ttd<ttd<ttd<ttd<ttd <ttd <zt j td <Wnt k rˆd td <YnXt j d krœttƒt j dkr®ttƒt d¡}|dk rÈ|td<tƒtd<t dt¡}t j dk�rt�rt j tƒ¡}t j ||¡}nt j tƒ¡}t|ƒtd<t jdk�rFddl}| t¡|�rpg}|D]}| t |¡¡�qT|StSdS)NÚprefixÚ exec_prefixZ py_versionZpy_version_shortZpy_version_nodotZinstalled_baserTZinstalled_platbaseZplatbaseZ projectbaser}rYrr<ršÚSOÚuserbaseÚsrcdirrLr)Ú _CONFIG_VARSr+Ú _EXEC_PREFIXÚ _PY_VERSIONr�r�Ú _BASE_PREFIXÚ_BASE_EXEC_PREFIXr.rOr}r3r"r>r r™rNrUrrržrr$r!rPÚ _osx_supportZcustomize_config_varsÚappend)rGr¨rªrTr°Zvalsr>rrr rsP          cCs*|dkrddl}| dtd¡tƒ |¡S)Nr¨rz SO is deprecated, use EXT_SUFFIXr)ÚwarningsÚwarnÚDeprecationWarningrrN)r>r²rrr r^sc CsÎtjdkrFdtj ¡krdSdtj ¡kr.dSdtj ¡kr@dStjStjdksZttd ƒs`tjSd tjkrttjd St ¡\}}}}}| ¡  d d ¡}|  d d¡}|  d d¡}|dd…dkrÊd||fS|dd…dk�r,|ddk�rÀd}dt |dƒd|dd…f}dddœ}|d|tj 7}n”|dd…dk�rLd|||fS|dd …d!k�rŽd!}ddl }|  d"¡}| |¡}|�rÀ| ¡}n2|dd …d#k�rÀddl} |  tƒ|||¡\}}}d$|||fS)%NrZamd64z win-amd64z(arm)z win-arm32z(arm64)z win-arm64r<ÚunameZ_PYTHON_HOST_PLATFORMú/rYú Ú_ú-éZlinuxz%s-%sZsunosrÚ5Zsolarisz%d.%sr\rZ32bitZ64bit)iÿÿÿlÿÿÿÿz.%sZaixz%s-%s.%séÚcygwinz[\d.]+rLz%s-%s-%s)r"r>rOÚversionÚlowerrPr€r2rµrdrgÚmaxsizer]r^rbrcr°Zget_platform_osxr) ZosnameZhostÚreleaser¾ÚmachineZbitnessr]Zrel_rervr°rrr r jsT           þ cCstSr)r�rrrr r ºscCsFtt| ¡ƒƒD]0\}\}}|dkr0td|ƒtd||fƒqdS)Nrz%s: z %s = "%s")Ú enumerater£r8Úprint)ÚtitlerÚindexr9r:rrr Ú _print_dict¾s rÇcCsfdtjkrtƒdStdtƒƒtdtƒƒtdtƒƒtƒtdtƒƒtƒtdt ƒƒdS)Nz--generate-posix-varszPlatform: "%s"zPython version: "%s"z!Current installation scheme: "%s"ZPathsZ Variables) rOÚargvr•rÄr r rErÇr rrrrr Ú_mainÅs  rÉÚ__main__)F)N)N)Dr"rOZos.pathrrÚ__all__rer=r¤r¾Úsplitr­rRr�r�rr@r¦r+Ú base_prefixr®r§r¬Úbase_exec_prefixr¯r«Z _USER_BASEr!rŸržr.Úgetcwdr>r¿Úendswithr$r2r'rƒr-r,r/rrAr6r;rDrErUr|rr„r•r™r rrr r r rrrr r rÇrÉÚ__name__rrrr Úsüõÿö ø ø ù ù ùÌ?   ÿ           ? "  M P