o
    Ô­j   ã                   @   s¨  d dl Z d dlmZ de jv r1dZd dlmZ d dlm	Z	 zd dlm
Z
 W n ey0   dZY n	w 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r¸d 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 ]Q\}}|| vr|| |< q| | }t|tƒr#|t|ƒ | |< qt|tƒr1|t|ƒ | |< qt|tƒr?t|fi |¤Ž qt|ƒrNt|ƒsIJ ‚|| |< qttt	|ƒƒƒ‚d S ©N)
ÚitemsÚ
isinstanceÚtupleÚlistÚdictÚ_dict_appendr   Ú	TypeErrorÚreprÚtype)ÚdÚkwsÚkÚvÚdv© r,   úQ/var/www/html/CropPilot/venv/lib/python3.10/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 r(| d|d  ¡ qtjD ]}| d¡s;|d	ks;||v r?d
} nq,|  |¡ |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>R   s    z$_command_line_ok.<locals>.<listcomp>é   ú-z--helpz-hF)r   Údisplay_option_namesÚdisplay_optionsÚappendÚsysÚargvÚ
startswith)Ú_cacheÚokÚdisplay_optsÚoÚargr,   r,   r-   Ú_command_line_okI   s"   
€
þ
r>   c                 C   s6   t jj}|d urdt|ƒv rd }| r|d u rtƒ }|S )NÚDistributionWithoutHelpCommands)Ú	distutilsÚcoreÚ_setup_distributionr%   r   )ÚalwaysÚdistr,   r,   r-   Úget_distribution]   s   rE   c                  K   s¤  t  ¡ }|  ¡ }d|v r| |d ¡ ||d< d|v rg| d¡}tjj}tjj}d tj_dtj_ztd
i |¤Ž}W |tj_|tj_n	|tj_|tj_w |j	sQt
ƒ sS|S |ƒ }t|dƒr_| ¡ }t|fi |¤Ž g }| dg ¡D ]1}	g }
|	jD ]&}t|ƒrŒ|\}}t|||ƒ |
 |¡ qvt|ƒr–|
 |¡ qvtd|f ƒ‚|
|	_qo|r·d|vr«g |d< |D ]	}t|d |ƒ q­d|v s¿d|v rÇd|vrÇg |d< t|d	< td
i |¤ŽS )NÚcmdclassÚconfigurationÚcommandlineÚtodictÚext_modulesz2invalid description of extension module library %rÚ	librariesÚheadersÚ	distclassr,   )Únumpy_cmdclassÚcopyÚupdateÚpopr@   rA   rB   Ú_setup_stop_afterr   Úhelpr>   ÚhasattrrI   r#   ÚgetrK   r   Ú_check_append_ext_libraryr5   r   r$   Ú_check_append_libraryr   Ú	old_setup)ÚattrrF   Únew_attrrG   Úold_distÚold_stoprD   r	   rK   ÚextÚnew_librariesÚitemÚlib_nameÚ
build_infor,   r,   r-   r   l   s^   

ÿ


ÿr   c                 C   sÖ   | D ]a}t |ƒrCt |ƒr.|d |d kr-|d |d u r d S tjd|d f dd�  n7q||d krBtjd|d f dd�  n"qt |ƒr\|d |kr[tjd|d f dd�  n	q||krc d S q|  |¡ d S )Nr   r1   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Úwarnr5   )rK   r_   Úlibitemr,   r,   r-   rW   ¬   sD   ÿþúÿþüÿþüÿrW   c                 C   s|   | D ]2}t |ƒr$|d |kr#|d |u r d S tjd|f dd�  nq||kr4tjd|f dd�  nq|  ||f¡ d S )Nr   r1   z8[3] libraries list contains %r with different build_inforb   rc   z1[4] libraries list contains %r with no build_infore   )rK   r`   ra   r_   r,   r,   r-   rV   É   s*   ÿþúÿþürV   r   )F)/r6   Údistutils.corer   ÚmodulesÚhave_setuptoolsr   r   rX   Úsetuptools.commandr   r   ÚImportErrorrf   r@   Údistutils.distÚnumpy.distutils.extensionr   Ú"numpy.distutils.numpy_distributionr   Únumpy.distutils.commandr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Únumpy.distutils.misc_utilr   r   r   r   rN   r   r   r#   r>   rE   rW   rV   r,   r,   r,   r-   Ú<module>   s`    
ÿ@ò





@