U
    ;vf                     @   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*   8/tmp/pip-unpacked-wheel-sdaoq5e2/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
} qqX| | |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	st
 s|S | }t|dr| }t|f| g }|dg D ]h}	g }
|	jD ]R}t|r|\}}t||| |
| qt|r|
| qtd|f q|
|	_q|rbd|krHg |d< |D ]}t|d | qLd|ksvd|krd|krg |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 |rt |r\|d |d kr|d |d kr> d S tjd|d f dd  qq||d krtjd|d f dd  qqt |r|d |krtjd|d f dd  qq||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\   
@





@