U
    ¸mœdí  ã                   @   s®  d dl Z d dlmZ de jkrfdZd dlmZ d dlm	Z	 zd dlm
Z
 W qv ek
rb   dZY qvX nd dlmZ dZd dlZd dlZd dlZd d	lmZ d d
lmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z! d dl"m#Z#m$Z$ ejejejej%ej&ejejejejejejeje!j!eje j dœZ'e�rvd dlm(Z(m)Z) e
j
e'd< e(j(e'd< e	j	e'd< e)j)e'd< dd„ Z*ddd„Z+d dd„Z,dd„ Zdd„ Z-dd„ Z.dS )!é    N)ÚDistributionÚ
setuptoolsT)Úsetup)Úeasy_install)Ú	bdist_eggF)Ú	Extension)ÚNumpyDistribution)ÚconfigÚconfig_compilerÚbuildÚbuild_pyÚ	build_extÚ
build_clibÚ	build_srcÚbuild_scriptsÚsdistÚinstall_dataÚinstall_headersÚinstallÚ	bdist_rpmÚinstall_clib)Úis_sequenceÚ	is_string)r   r   r   Ú	config_ccÚ	config_fcr	   r   r   r   r   r   r   r   r   r   )ÚdevelopÚegg_infor   r   r   r   c                 K   s¦   |  ¡ D ]˜\}}|| kr"|| |< q| | }t|tƒrF|t|ƒ | |< qt|tƒrb|t|ƒ | |< qt|tƒrzt|f|Ž qt|ƒr�|| | |< qttt	|ƒƒƒ‚qd S )N)
ÚitemsÚ
isinstanceÚtupleÚlistÚdictÚ_dict_appendr   Ú	TypeErrorÚreprÚtype)ÚdÚkwsÚkÚvZdv© r*   úM/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numpy/distutils/core.pyr"   7   s    


r"   c                 C   sŽ   | r| d S | dkrg } d}dd„ t jD ƒ}t jD ]}|d r2| d|d  ¡ q2tjD ]&}| d¡sv|d	ksv||krXd
} q€qX|  |¡ |S )zT Return True if command line does not contain any
    help or display requests.
    r   NTc                 S   s   g | ]}d | ‘qS )z--r*   )Ú.0Únr*   r*   r+   Ú
<listcomp>Q   s     z$_command_line_ok.<locals>.<listcomp>é   ú-z--helpz-hF)r   Údisplay_option_namesÚdisplay_optionsÚappendÚsysÚargvÚ
startswith)Ú_cacheÚokZdisplay_optsÚoÚargr*   r*   r+   Ú_command_line_okH   s    


r;   c                 C   s6   t jj}|d k	r dt|ƒkr d }| r2|d kr2tƒ }|S )NZDistributionWithoutHelpCommands)Ú	distutilsÚcoreÚ_setup_distributionr$   r   )ÚalwaysÚdistr*   r*   r+   Úget_distribution\   s    
ÿrA   c                  K   sš  t  ¡ }|  ¡ }d|kr&| |d ¡ ||d< d|kr¶| d¡}tjj}tjj}d tj_dtj_ztf |Ž}W 5 |tj_|tj_X |j	sŽt
ƒ s’|S |ƒ }t|dƒrª| ¡ }t|f|Ž g }| dg ¡D ]h}	g }
|	jD ]R}t|ƒ�r|\}}t|||ƒ |
 |¡ qÔt|ƒ�r|
 |¡ qÔtd|f ƒ‚qÔ|
|	_qÆ|�rbd|k�rHg |d< |D ]}t|d |ƒ �qLd|k�svd|k�rˆd|k�rˆg |d< t|d	< tf |ŽS )
NÚcmdclassÚconfigurationÚcommandlineÚtodictÚext_modulesz2invalid description of extension module library %rÚ	librariesÚheadersÚ	distclass)Únumpy_cmdclassÚcopyÚupdateÚpopr<   r=   r>   Ú_setup_stop_afterr   Úhelpr;   ÚhasattrrE   r"   ÚgetrG   r   Ú_check_append_ext_libraryr3   r   r#   Ú_check_append_libraryr   Ú	old_setup)ÚattrrB   Únew_attrrC   Zold_distZold_stopr@   r	   rG   ÚextZnew_librariesÚitemÚlib_nameÚ
build_infor*   r*   r+   r   k   s\    





ÿ
ÿr   c                 C   sÖ   | D ]Â}t |ƒr†t |ƒr\|d |d kr„|d |d kr> d S tjd|d f dd�  qÈqÆ||d krÆtjd|d f dd�  qÈqt |ƒr¸|d |krÆtjd|d f dd�  qÈq||kr d S q|  |¡ d S )Nr   r/   z8[0] libraries list contains %r with different build_infoé   ©Ú
stacklevelz1[1] libraries list contains %r with no build_infoz1[2] libraries list contains %r with no build_info©r   ÚwarningsÚwarnr3   )rG   rX   Zlibitemr*   r*   r+   rS   «   s<    ÿþÿþÿþrS   c                 C   s|   | D ]d}t |ƒrH|d |krh|d |kr. d S tjd|f dd�  qjq||krtjd|f dd�  qjq|  ||f¡ d S )Nr   r/   z8[3] libraries list contains %r with different build_infor[   r\   z1[4] libraries list contains %r with no build_infor^   )rG   rY   rZ   rX   r*   r*   r+   rR   È   s&    ÿþÿþrR   )N)F)/r4   Údistutils.corer   ÚmodulesZhave_setuptoolsr   r   rT   Zsetuptools.commandr   r   ÚImportErrorr_   r<   Údistutils.distZnumpy.distutils.extensionr   Z"numpy.distutils.numpy_distributionr   Znumpy.distutils.commandr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Znumpy.distutils.misc_utilr   r   r   r   rJ   r   r   r"   r;   rA   rS   rR   r*   r*   r*   r+   Ú<module>   s\   
@ò





@