???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    §Î.eP  ã                   @   s¾  d dl Z d dlZd dlZd dlZddlmZ ddlmZmZ ej	 
ej¡Zej	 
ej¡Zej	 
ej¡Zej	 
ej¡Zdejkr’ej	 ejd ¡Zn&ejr°ej	 ej	 ej¡¡Zne ¡ Zdd„ ZeeddƒZejd	krîd
d„ ZeeƒZeeƒZdd„ Zeƒ ZdZ zesej!Z W n e"k
r&   Y nX dd„ Z#d,dd„Z$d-dd„Z%dd„ Z&dd„ Z'dd„ Z(d.dd„Z)e *d¡Z+e *d¡Z,e *d¡Z-d/d d!„Z.d"d#„ Z/da0d$d%„ Z1d&d'„ Z2d(d)„ Z3d*d+„ Z4dS )0é    Né   )ÚDistutilsPlatformError)Úget_platformÚget_host_platformZ_PYTHON_PROJECT_BASEc                 C   s,   dD ]"}t j t j | d|¡¡r dS qdS )N)ZSetupzSetup.localZModulesTF)ÚosÚpathÚisfileÚjoin)ÚdÚfn© r   ú+/usr/lib64/python3.8/distutils/sysconfig.pyÚ_is_python_source_dir+   s    r   Ú_homeÚntc                 C   s0   | r,t j | ¡ t j t j td¡¡¡r,tS | S )NZPCbuild)r   r   ÚnormcaseÚ
startswithr	   ÚPREFIX)r
   r   r   r   Ú_fix_pcbuild4   s
    ÿr   c                   C   s   t rtt ƒS ttƒS )N)Ú	_sys_homer   Úproject_baser   r   r   r   Ú_python_build<   s    r   Ú c                   C   s   dt jd d…  S )Nz%d.%dé   )ÚsysÚversion_infor   r   r   r   Úget_python_versionP   s    r   c                 C   s¼   |d kr| rt pt}tjdkrjtrL| r.tp,tS tj t	dƒd¡}tj 
|¡S dtƒ  t }tj |d|¡S tjdkrªtrœtj |d¡tjj tj |d¡ S tj |d¡S tdtj ƒ‚d S )	NÚposixÚsrcdirZIncludeÚpythonZincluder   ÚPCzFI don't know where Python installs its C header files on platform '%s')ÚBASE_EXEC_PREFIXÚBASE_PREFIXr   ÚnameÚpython_buildr   r   r   r	   Úget_config_varÚnormpathr   Úbuild_flagsÚpathsepr   )Úplat_specificÚprefixZincdirZ
python_dirr   r   r   Úget_python_incX   s*    

ÿÿÿr+   c                 C   s°   |d kr&|r| rt pt}n| r"tp$t}tjdkrp| s8|r>d}nd}tj ||dtƒ  ¡}|r`|S tj |d¡S n<tjdkrž|rŒtj |d¡S tj |dd¡S nt	dtj ƒ‚d S )	Nr   Úlib64Úlibr   zsite-packagesr   ZLibz?I don't know where Python installs its library on platform '%s')
r!   r"   ÚEXEC_PREFIXr   r   r#   r   r	   r   r   )r)   Ústandard_libr*   r-   Z	libpythonr   r   r   Úget_python_lib€   s0    
 ÿ
ÿÿr0   c              	   C   sö  | j dkròtjdkr8tdƒs8dd l}| t¡ dtd< tdddd	d
dddƒ\}}}}}}}}	dtj	kr¨tj	d }
tjdkr¤d
tj	kr¤| 
|¡r¤|
|t|ƒd …  }|
}dtj	kr¼tj	d }d
tj	krÐtj	d
 }dtj	krætj	d }n|d }dtj	kr|d tj	d  }dtj	kr<|d tj	d  }|d tj	d  }dtj	kr~|d tj	d  }|d tj	d  }|d tj	d  }dtj	kr”tj	d }dtj	kr´|d tj	d  }n|d |	 }|d | }| j|||d | ||||d || _d S )NZunixÚdarwinZCUSTOMIZED_OSX_COMPILERr   ÚTrueZCCZCXXÚCFLAGSZCCSHAREDZLDSHAREDZSHLIB_SUFFIXZARZARFLAGSZCPPz -EÚLDFLAGSú ÚCPPFLAGS)ZpreprocessorÚcompilerZcompiler_soZcompiler_cxxZ	linker_soZ
linker_exeÚarchiver)Zcompiler_typer   Úplatformr%   Ú_osx_supportÚcustomize_compilerÚ_config_varsÚget_config_varsr   Úenvironr   ÚlenZset_executablesZshared_lib_extension)r7   r:   ZccZcxxZcflagsZccsharedZldsharedZshlib_suffixZarZar_flagsZnewccZcppr8   Zcc_cmdr   r   r   r;   «   sn    

    ÿÿ


ÿþ






ù	r;   c                  C   sD   t r,tjdkr"tj tptd¡} q6tp(t} n
tdd} tj | d¡S )Nr   r    r   ©r)   zpyconfig-64.h)r$   r   r#   r   r	   r   r   r+   )Zinc_dirr   r   r   Úget_config_h_filenameô   s    


rA   c                  C   s\   t rtj tptd¡S tddd} d tƒ t	¡}t
tjdƒrL|dtjj 7 }tj | |d¡S )NZMakefiler   r   ©r)   r/   zconfig-{}{}Ú
_multiarchz-%s)r$   r   r   r	   r   r   r0   Úformatr   r'   Úhasattrr   ÚimplementationrC   )Zlib_dirZconfig_filer   r   r   Úget_makefile_filename  s    rG   c                 C   sš   |d kri }t  d¡}t  d¡}|  ¡ }|s.q–| |¡}|rx| dd¡\}}zt|ƒ}W n tk
rl   Y nX |||< q | |¡}|r d|| d¡< q |S )Nz"#define ([A-Z][A-Za-z0-9_]+) (.*)
z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/
r   r   r   )ÚreÚcompileÚreadlineÚmatchÚgroupÚintÚ
ValueError)ÚfpÚgZ	define_rxZundef_rxÚlineÚmÚnÚvr   r   r   Úparse_config_h  s&    


  

rU   z"([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              	   C   s¶  ddl m} || ddddd}|d kr*i }i }i }| ¡ }|d krDqÄt |¡}|r2| dd¡\}}	|	 ¡ }	|	 dd¡}
d	|
krˆ|	||< q2zt|	ƒ}	W n$ t	k
r¸   |	 dd	¡||< Y q2X |	||< q2d
}|rtt
|ƒD ]˜}|| }t |¡pöt |¡}|rj| d¡}d}||kr$t|| ƒ}nˆ||kr4d}nx|tjkrLtj| }n`||kr | d¡rz|dd … |krzd}n$d| |krŽd}nt|d|  ƒ}nd ||< }|rp|| ¡ d … }|d | ¡ … | | }d	|krî|||< nzzt|ƒ}W n" t	k
r   | ¡ ||< Y n
X |||< ||= | d¡rp|dd … |krp|dd … }||krp|||< qÖ||= qÖqÈ| ¡  | ¡ D ]"\}}	t|	tƒr„|	 ¡ ||< q„| |¡ |S )Nr   )ÚTextFiler   Úsurrogateescape)Zstrip_commentsZskip_blanksZ
join_linesÚerrorsr   z$$r   ú$)r3   r4   r6   TFZPY_é   )Zdistutils.text_filerV   rJ   Ú_variable_rxrK   rL   ÚstripÚreplacerM   rN   ÚlistÚ_findvar1_rxÚsearchÚ_findvar2_rxÚstrr   r>   r   ÚendÚstartÚcloseÚitemsÚ
isinstanceÚupdate)r   rP   rV   rO   ZdoneZnotdonerQ   rR   rS   rT   ZtmpvZrenamed_variablesr#   ÚvalueÚfoundÚitemZafterÚkr   r   r   Úparse_makefile/  s„    








 ÿ



rm   c                 C   sV   t  | ¡pt | ¡}|rR| ¡ \}}| d|… | | d¡¡ | |d …  } q qRq | S )Nr   r   )r_   r`   ra   ÚspanÚgetrL   )ÚsÚvarsrR   Zbegrc   r   r   r   Úexpand_makefile_vars™  s    *rr   c               
   C   sV   t j ddjtjtjttjddƒd¡} t	| t
ƒ tƒ dgdƒ}|j}i at |¡ d S )NZ_PYTHON_SYSCONFIGDATA_NAMEz+_sysconfigdata_{abi}_{platform}_{multiarch}rC   r   )Zabir9   Z	multiarchÚbuild_time_varsr   )r   r>   ro   rD   r   Úabiflagsr9   ÚgetattrrF   Ú
__import__ÚglobalsÚlocalsrs   r<   rh   )r#   Z_temprs   r   r   r   Ú_init_posix´  s    ýÿry   c                  C   s~   i } t ddd| d< t ddd| d< tdd| d< t ¡ d | d< d	| d
< tƒ  dd¡| d< tj tj 	t
j¡¡| d< | ad S )Nr   r   rB   ZLIBDESTZ
BINLIBDESTr@   Z	INCLUDEPYÚ
EXT_SUFFIXz.exeZEXEÚ.r   ZVERSIONZBINDIR)r0   r+   Ú_impÚextension_suffixesr   r]   r   r   ÚdirnameÚabspathr   Ú
executabler<   )rP   r   r   r   Ú_init_ntÄ  s    r   c                  G   s\  t d kr*tƒ  dtj ¡}|r(|ƒ  ni a tt d< tt d< t  d¡}|d k	rV|t d< t  dt¡}tjdkrœtrŽtj	 
tƒ ¡}tj	 ||¡}ntj	 
tƒ ¡}tj	 tj	 |¡¡t d< trtjdkrt}tj	 t d ¡s|t ¡ krtj	 |t d ¡}tj	 |¡t d< tjdkr*d	d l}| t ¡ | rTg }| D ]}| t  |¡¡ q8|S t S d S )
NZ_init_r*   Úexec_prefixrz   ÚSOr   r   r1   r   )r<   rw   ro   r   r#   r   r.   r   r$   r   r~   rG   r	   r   r&   ÚisabsÚgetcwdr   r9   r:   Zcustomize_config_varsÚappend)ÚargsÚfuncrƒ   r   Úbaser:   Zvalsr#   r   r   r   r=   ×  sB    



ÿ
r=   c                 C   s*   | dkrdd l }| dtd¡ tƒ  | ¡S )Nrƒ   r   z SO is deprecated, use EXT_SUFFIXr   )ÚwarningsÚwarnÚDeprecationWarningr=   ro   )r#   rŠ   r   r   r   r%   !  s    r%   )r   N)r   r   N)N)N)5r|   r   rH   r   rX   r   Úutilr   r   r   r&   r*   r   r‚   r.   Úbase_prefixr"   Úbase_exec_prefixr!   r>   r   r   r€   r~   r…   r   ru   r   r#   r   r   r$   r'   rt   ÚAttributeErrorr   r+   r0   r;   rA   rG   rU   rI   r[   r_   ra   rm   rr   r<   ry   r   r=   r%   r   r   r   r   Ú<module>   sZ   



(
+I




jJ