a
    hÝEbí  ã                   @   s¬  d dl Z d dlmZ de jv rddZd dlmZ d dlm	Z	 zd dlm
Z
 W qt ey`   dZY qt0 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�rtd 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 ]œ\}}|| vr"|| |< q| | }t|tƒrF|t|ƒ | |< qt|tƒrb|t|ƒ | |< qt|tƒr~t|fi |¤Ž 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*   úT/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/numpy/distutils/core.pyr"   7   s    


r"   c                 C   sŽ   | r| d S | du rg } d}dd„ t jD ƒ}t jD ]}|d r2| d|d  ¡ q2tjD ]&}| d¡sv|d	ksv||v 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   ó    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 ur dt|ƒv r d }| r2|d u r2tƒ }|S )NZDistributionWithoutHelpCommands)Ú	distutilsÚcoreÚ_setup_distributionr$   r   )ÚalwaysÚdistr*   r*   r+   Úget_distribution\   s    
ÿrB   c                  K   s¶  t  ¡ }|  ¡ }d|v r&| |d ¡ ||d< d|v rÎ| d¡}tjj}tjj}d tj_dtj_z"tf i |¤Ž}W |tj_|tj_n|tj_|tj_0 |j	s¢t
ƒ s¦|S |ƒ }t|dƒr¾| ¡ }t|fi |¤Ž g }| dg ¡D ]h}	g }
|	jD ]R}t|ƒ�r|\}}t|||ƒ |
 |¡ qìt|ƒ�r0|
 |¡ qìtd|f ƒ‚qì|
|	_qÞ|�rzd|v�r`g |d< |D ]}t|d |ƒ �qdd|v �sŽd|v �r d|v�r g |d< t|d	< tf i |¤Ž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<   ÚhasattrrF   r"   ÚgetrH   r   Ú_check_append_ext_libraryr4   r   r#   Ú_check_append_libraryr   Ú	old_setup)ÚattrrC   Únew_attrrD   Zold_distZold_stoprA   r	   rH   Ú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 u 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   r0   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Úwarnr4   )rH   rY   Zlibitemr*   r*   r+   rT   «   s<    ÿþÿþÿþrT   c                 C   s|   | D ]d}t |ƒrH|d |krh|d |u r. d S tjd|f dd�  qjq||krtjd|f dd�  qjq|  ||f¡ d S )Nr   r0   z8[3] libraries list contains %r with different build_infor\   r]   z1[4] libraries list contains %r with no build_infor_   )rH   rZ   r[   rY   r*   r*   r+   rS   È   s&    ÿþÿþrS   )N)F)/r5   Údistutils.corer   ÚmodulesZhave_setuptoolsr   r   rU   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   rK   r   r   r"   r<   rB   rT   rS   r*   r*   r*   r+   Ú<module>   s\   
@ò





@