509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
�u„jÈN  ã               @   sÚ  d dl Z d dlZd dlZd dlZddlmZ ejjejƒZ	ejjej
ƒZejjejƒZejjejƒZdejkr‚ejjejd ƒZnejjejjejƒƒZejdkrÄejƒ jd+ƒrÄejjejjeƒƒZdd	„ Zeed
dƒZeoòejdkoòejƒ jd,ƒ�r
ejjejjeƒƒZdd„ Zeƒ ZdZye�s*ejZW n ek
�rB   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j'dƒZ(ej'dƒZ)ej'dƒZ*d0dd „Z+d!d"„ Z,da-d#d$„ Z.d%d&„ Z/d'd(„ Z0d)d*„ Z1dS )1é    Né   )ÚDistutilsPlatformErrorZ_PYTHON_PROJECT_BASEÚntú\pcbuild\win32ú\pcbuild\amd64c             C   s.   x(dD ] }t jjt jj| d|ƒƒrdS qW dS )Nú
Setup.distúSetup.localÚModulesTF)r   r   )ÚosÚpathÚisfileÚjoin)ÚdÚfn© r   ú+/usr/lib64/python3.6/distutils/sysconfig.pyÚ_is_python_source_dir)   s    
r   Ú_homec               C   s   t rtt ƒS ttƒS )N)Ú	_sys_homer   Úproject_baser   r   r   r   Ú_python_build2   s    r   Ú c               C   s   dt jd d…  S )Nz%d.%dé   )ÚsysÚversion_infor   r   r   r   Úget_python_versionD   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jt	dƒdƒ}tjj
|ƒS dtƒ  t }tjj|d|ƒS tjdkr‚tjj|dƒS tdtj ƒ‚d S )NÚposixÚsrcdirZIncludeÚpythonÚincluder   zFI 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_flagsr   )Úplat_specificÚprefixZincdirZ
python_dirr   r   r   Úget_python_incL   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j||dtƒ  ƒ}|r`|S tjj|dƒS n<tjdkrž|rŒtjj|dƒS tj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_PREFIXÚPREFIXr
   r"   r   r   r   r   )r'   Ústandard_libr(   r+   Z	libpythonr   r   r   Úget_python_libo   s(    

r/   c          
   C   sú  | j dk�rötjdkr8tdƒs8dd l}|jtƒ dtd< td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¨|j
|ƒ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   ÚTrueÚCCÚCXXÚOPTÚCFLAGSÚCCSHAREDÚLDSHAREDÚSHLIB_SUFFIXÚARÚ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
   ÚenvironÚ
startswithÚlenZset_executablesZshared_lib_extension)r>   rA   ZccZcxxÚoptZcflagsZccsharedZldsharedZshlib_suffixÚarZar_flagsZnewccZcppr?   Zcc_cmdr   r   r   rB   š   s\    


 











rB   c              C   sD   t r,tjdkr"tjjtptdƒ} q6tp(t} n
tdd�} tjj| dƒS )Nr   ÚPCr   )r'   zpyconfig-64.h)r#   r
   r"   r   r   r   r   r)   )Úinc_dirr   r   r   Úget_config_h_filenameã   s    


rL   c              C   s\   t rtjjtptdƒS tddd�} djtƒ t	ƒ}t
tjdƒrL|dtjj 7 }tjj| |dƒS )NÚMakefiler   r   )r'   r.   zconfig-{}{}Ú
_multiarchz-%s)r#   r
   r   r   r   r   r/   Úformatr   r&   Úhasattrr   ÚimplementationrN   )Zlib_dirZconfig_filer   r   r   Úget_makefile_filenameð   s    rR   c             C   sž   |d kri }t jdƒ}t jdƒ}xx| jƒ }|s0P |j|ƒ}|rz|jddƒ\}}yt|ƒ}W n tk
rn   Y nX |||< q"|j|ƒ}|r"d||jdƒ< q"W |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ÚgÚ	define_rxÚundef_rxÚlineÚmÚnÚvr   r   r   Úparse_config_hû   s(    


  

rb   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 }x”|jƒ }|d krFP tj|ƒ}|r4|jddƒ\}}	|	jƒ }	|	jddƒ}
d	|
krŠ|	||< q4yt|	ƒ}	W n$ t	k
rº   |	jdd	ƒ||< Y q4X |	||< q4W d}�x¶|�r„�x¨t
|ƒD �]š}|| }tj|ƒ�ptj|ƒ}|�rx|jdƒ}d}||k�r2t|| ƒ}nˆ||k�rBd}nx|tjk�rZtj| }n`||k�r®|jdƒ�rˆ|dd … |k�rˆd}n$d| |k�rœd}nt|d|  ƒ}nd ||< }|�r~||jƒ d … }|d |jƒ … | | }d	|k�rü|||< nzyt|ƒ}W n" t	k
�r*   |jƒ ||< Y n
X |||< ||= |jdƒ�r~|dd … |k�r~|dd … }||k�r~|||< qâ||= qâW qÐW |jƒ  x.|jƒ D ]"\}}	t|	tƒ�r˜|	jƒ ||< �q˜W |j|ƒ |S )Nr   )ÚTextFiler   Úsurrogateescape)Zstrip_commentsZskip_blanksZ
join_linesÚerrorsr   z$$r   ú$r5   r;   r=   TFÚPY_é   )r5   r;   r=   )Zdistutils.text_filerc   rU   Ú_variable_rxrV   rW   ÚstripÚreplacerX   rY   ÚlistÚ_findvar1_rxÚsearchÚ_findvar2_rxÚstrr
   rE   rF   ÚendÚstartÚcloseÚitemsÚ
isinstanceÚupdate)r   r[   rc   rZ   ÚdoneÚnotdoner^   r_   r`   ra   ÚtmpvÚrenamed_variablesr"   ÚvalueÚfoundÚitemÚafterÚkr   r   r   Úparse_makefile  s„    








 


r€   c             C   sZ   xTt j| ƒptj| ƒ}|rP|jƒ \}}| d|… |j|jdƒƒ | |d …  } qP qW | S )Nr   r   )rm   rn   ro   ÚspanÚgetrW   )ÚsÚvarsr_   Zbegrq   r   r   r   Úexpand_makefile_varsˆ  s    *r…   c           	   C   sV   t jjddjtjtjttjddƒd�ƒ} t	| t
ƒ tƒ dgdƒ}|j}i atj|ƒ d S )NÚ_PYTHON_SYSCONFIGDATA_NAMEz+_sysconfigdata_{abi}_{platform}_{multiarch}rN   r   )Úabir@   Ú	multiarchÚbuild_time_varsr   )r
   rE   r‚   rO   r   Úabiflagsr@   ÚgetattrrQ   Ú
__import__ÚglobalsÚlocalsr‰   rC   rv   )r"   Ú_tempr‰   r   r   r   Ú_init_posix£  s    r�   c              C   s~   i } t ddd�| d< t ddd�| d< tdd�| d< tjƒ d | d< d	| d
< tƒ jddƒ| d< tjjtjj	t
jƒƒ| d< | ad S )Nr   r   )r'   r.   ÚLIBDESTÚ
BINLIBDEST)r'   Ú	INCLUDEPYÚ
EXT_SUFFIXz.exeÚEXEÚ.r   ÚVERSIONÚBINDIR)r/   r)   Ú_impÚextension_suffixesr   rk   r
   r   ÚdirnameÚabspathr   Ú
executablerC   )r[   r   r   r   Ú_init_nt³  s    rž   c              G   s^  t d k�r(tƒ jdtj ƒ}|r(|ƒ  ni a tt d< tt d< t jdƒ}|d k	rV|t d< t jdtƒ}tjdkrœtrŽtj	j
tƒ ƒ}tj	j||ƒ}ntj	j
tƒ ƒ}tj	jtj	j|ƒƒt d< toÀtjdk�r
t}tj	jt d ƒ oä|tjƒ k�r
tj	j|t d ƒ}tj	j|ƒt d< tjdk�r(d	d l}|jt ƒ | �rVg }x| D ]}|jt j|ƒƒ �q8W |S t S d S )
NZ_init_r(   Úexec_prefixr”   ÚSOr   r   r0   r   )rC   r�   r‚   r
   r"   r-   r,   r   r#   r   r›   rR   r   rœ   r%   ÚisabsÚgetcwdr   r@   rA   Úcustomize_config_varsÚappend)ÚargsÚfuncr    r   ÚbaserA   Úvalsr"   r   r   r   rD   Æ  s@    




rD   c             C   s*   | dkrdd l }|jdtdƒ tƒ j| ƒS )Nr    r   z SO is deprecated, use EXT_SUFFIXr   )ÚwarningsÚwarnÚDeprecationWarningrD   r‚   )r"   r©   r   r   r   r$     s    r$   )r   r   )r   r   )r   N)r   r   N)N)N)2r™   r
   rS   r   re   r   r   r%   r(   r-   rŸ   r,   Úbase_prefixr!   Úbase_exec_prefixr    rE   rœ   r   r›   r�   r"   ÚlowerÚendswithr   r‹   r   r   r#   r&   rŠ   ÚAttributeErrorr   r)   r/   rB   rL   rR   rb   rT   ri   rm   ro   r€   r…   rC   r�   rž   rD   r$   r   r   r   r   Ú<module>   sX   



#
+I




jJ