B ôå;wT&©óã@s¬ddlZddlZddlZddlZddlmZej ej¡Z ej ej ¡Z ej ej ¡Z ej ej¡Zdejkr‚ej ejd¡Zn&ejr ej ej ej¡¡Zne ¡Zdd„ZeeddƒZejdkrÞd d „ZeeƒZeeƒZd d „ZeƒZd ZyesüejZWnek rYnXdd„Z d+dd„Z!d,dd„Z"dd„Z#dd„Z$dd„Z%d-dd„Z&e 'd¡Z(e 'd¡Z)e 'd¡Z*d.dd „Z+d!d"„Z,da-d#d$„Z.d%d&„Z/d'd(„Z0d)d*„Z1dS)/éNé)ÚDistutilsPlatformErrorZ_PYTHON_PROJECT_BASEcCs.x(dD] }tj tj |d|¡¡rdSqWdS)N)z Setup.distz Setup.localZModulesTF)ÚosÚpathÚisfileÚjoin)ÚdÚfn©r ú6/opt/alt/python37/lib/python3.7/distutils/sysconfig.pyÚ_is_python_source_dir,s r Ú_homeÚntcCs0|r,tj |¡ tj tj td¡¡¡r,tS|S)NZPCbuild)rrÚnormcaseÚ startswithrÚPREFIX)rr r r Ú _fix_pcbuild5srcCstr ttƒSttƒS)N)Ú _sys_homer Ú project_baser r r r Ú _python_build=srÚcCsdtjdd…S)Nz%d.%dé)ÚsysÚ version_infor r r r Úget_python_versionQsrcCs¼|dkr|rtpt}tjdkrjtrL|r.tp,tStj t dƒd¡}tj  |¡Sdt ƒt }tj |d|¡Stjdkrªtrœtj |d¡tjj tj |d¡Stj |d¡Stdtjƒ‚dS) NÚposixÚsrcdirZIncludeÚpythonZincluderÚPCzFI don't know where Python installs its C header files on platform '%s')ÚBASE_EXEC_PREFIXÚ BASE_PREFIXrÚnameÚ python_buildrrrrÚget_config_varÚnormpathrÚ build_flagsÚpathsepr)Ú plat_specificÚprefixZincdirZ python_dirr r r Úget_python_incYs$     r)cCsž|dkr&|r|rtpt}n |r"tp$t}tjdkr^tj |ddtƒ¡}|rN|Stj |d¡SncCs\trtj tptd¡Stddd}d tƒt ¡}t t j dƒrL|dt j j 7}tj ||d¡S)NZMakefilerr)r'r,z config-{}{}Ú _multiarchz-%s)r"rrrrrr-Úformatrr%ÚhasattrrÚimplementationr?)Zlib_dirZ config_filer r r Úget_makefile_filenameþs  rCcCsž|dkr i}t d¡}t d¡}xx| ¡}|s0P| |¡}|rz| dd¡\}}y t|ƒ}Wntk rnYnX|||<q"| |¡}|r"d|| d¡<q"W|S)Nz"#define ([A-Z][A-Za-z0-9_]+) (.*) z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/ rrr)ÚreÚcompileÚreadlineÚmatchÚgroupÚintÚ ValueError)ÚfpÚgZ define_rxZundef_rxÚlineÚmÚnÚvr r r Úparse_config_h s(      rQz"([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_]*)}c Csâddlm}||ddddd}|dkr*i}i}i}x”| ¡}|dkrFPt |¡}|r4| dd¡\}} |  ¡} |  dd¡} d | krŠ| ||<q4y t| ƒ} Wn$t k rº|  dd ¡||<Yq4X| ||<q4Wd } xÌ|ršx¾t |ƒD]°} || } t   | ¡pt   | ¡}|rŽ| d¡}d }||kr2t||ƒ}nˆ||krBd }nx|tjkrZtj|}n`|| kr®|  d ¡rˆ| dd…| krˆd}n$d ||krœd }nt|d |ƒ}n d||<}|r”| | ¡d…}| d| ¡…} | ¡| krö| |7} | |7} d |kr| || <nzy t| ƒ} Wn"t k r@|  ¡|| <Yn X| || <|| =|  d ¡r”| dd…| kr”| dd…} | |kr”| || <qâ|| =qâWqÐW| ¡x.| ¡D]"\}} t| tƒr®|  ¡||<q®W| |¡|S)Nr)ÚTextFilerÚsurrogateescape)Zstrip_commentsZ skip_blanksZ join_linesÚerrorsrz$$rú$)r0r1r3TFZPY_é)Zdistutils.text_filerRrFÚ _variable_rxrGrHÚstripÚreplacerIrJÚlistÚ _findvar1_rxÚsearchÚ _findvar2_rxÚstrrr;rÚendÚstartÚcloseÚitemsÚ isinstanceÚupdate)r rLrRrKZdoneZnotdonerMrNrOrPZtmpvZrenamed_variablesr!ÚvalueÚfoundÚitemZafterÚkr r r Úparse_makefile,sŠ                       ricCsZxTt |¡pt |¡}|rP| ¡\}}|d|…| | d¡¡||d…}qPqW|S)Nrr)r[r\r]ÚspanÚgetrH)ÚsÚvarsrNZbegr_r r r Úexpand_makefile_vars™s *rnc CsVtj ddjtjtjttjddƒd¡}t |t ƒt ƒdgdƒ}|j }ia t  |¡dS)NZ_PYTHON_SYSCONFIGDATA_NAMEz+_sysconfigdata_{abi}_{platform}_{multiarch}r?r)Zabir6Z multiarchÚbuild_time_varsr)rr;rkr@rÚabiflagsr6ÚgetattrrBÚ __import__ÚglobalsÚlocalsror9rd)r!Z_tempror r r Ú _init_posix´srucCs~i}tddd|d<tddd|d<tdd|d<t ¡d|d<d |d <tƒ d d ¡|d <tj tj  t j ¡¡|d<|a dS)Nrr)r'r,ZLIBDESTZ BINLIBDEST)r'Z INCLUDEPYÚ EXT_SUFFIXz.exeZEXEÚ.rZVERSIONZBINDIR) r-r)Ú_impÚextension_suffixesrrYrrÚdirnameÚabspathrÚ executabler9)rLr r r Ú_init_ntÄsr}cGs`tdkr*tƒ dtj¡}|r(|ƒniattd<ttd<t d¡}|dk rV|td<t dt¡}tjdkrœtrŽtj   t ƒ¡}tj   ||¡}ntj   t ƒ¡}tj   tj  |¡¡td<tr tjdkr t}tj  td¡s |t ¡kr tj   |td¡}tj  |¡td<tjdkr*d dl}| t¡|rXg}x|D]}| t |¡¡q:W|StSdS) NZ_init_r(Ú exec_prefixrvÚSOrrr.r)r9rsrkrr!rr+rr"rrzrCrr{r$ÚisabsÚgetcwdrr6r7Zcustomize_config_varsÚappend)ÚargsÚfuncrrÚbaser7Zvalsr!r r r r:×s@       r:cCs*|dkrddl}| dtd¡tƒ |¡S)Nrrz SO is deprecated, use EXT_SUFFIXr)ÚwarningsÚwarnÚDeprecationWarningr:rk)r!r†r r r r#!sr#)rN)rrN)N)N)2rxrrDrrTrrr$r(rr~r+Ú base_prefixr Úbase_exec_prefixrr;r{rr|rzrr rqrr!rrr"r%rpÚAttributeErrorrr)r-r8r>rCrQrErWr[r]rirnr9rur}r:r#r r r r Ú sX      ( 'I      mJ