o
    U=ºiÄ   ã                   @   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 ]M\}}|| vr|| |< q| | }t|tƒr#|t|ƒ | |< qt|tƒr1|t|ƒ | |< qt|tƒr?t|fi |¤Ž qt|ƒrJ|| | |< qttt	|ƒƒƒ‚d S ©N)
ÚitemsÚ
isinstanceÚtupleÚlistÚdictÚ_dict_appendr   Ú	TypeErrorÚreprÚtype)ÚdÚkwsÚkÚvZdv© r+   úZC:\Users\psant\Downloads\PAF backend\school\venv\Lib\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
} q@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>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 urdt|ƒv rd }| r|d u rtƒ }|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 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=   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 ]a}t |ƒrCt |ƒr.|d |d kr-|d |d u r d S tjd|d f dd�  qdq||d krBtjd|d f dd�  qdqt |ƒr\|d |kr[tjd|d f dd�  qdq||krc 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   «   sD   ÿþúÿþüÿþüÿrT   c                 C   s|   | D ]2}t |ƒr$|d |kr#|d |u r d S tjd|f dd�  q5q||kr4tjd|f dd�  q5q|  ||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   r   )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`    
ÿ@ò





@