a
    LfT	                     @   st   d dl mZ ddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlZddlZddlZddlZG dd	 d	eZdS )
   )Backend    )setup	Extension)get_info)dict_append)VisibleDeprecationWarningNc                       s$   e Zd Z fddZdd Z  ZS )DistutilsBackendc                    s&   t jdtdd t j|i | d S )Nz
distutils has been deprecated since NumPy 1.26.x
Use the Meson backend instead, or generate wrappers without -c and use a custom build script   )
stacklevel)warningswarnr   super__init__)Zsefargskwargs	__class__ X/var/www/ai-form-bot/venv/lib/python3.9/site-packages/numpy/f2py/_backends/_distutils.pyr      s    zDistutilsBackend.__init__c              
   C   sB  i }|r| j |dg  | j| j| j | j| j| j| j| j	| j
d	}| jr| jD ]4}t|}|svtdt| d t|fi | qRtf i |}tjd g| j t_tjdd| jd| jd	d
dg | jrtjdg| j  | jrtjdg| j  t|gd | jr>tj| jr>td| j  t| j d S )Ninclude_dirs)	namesourcesr   library_dirs	librariesdefine_macrosundef_macrosextra_objectsZf2py_optionszNo z2 resources foundin system (try `f2py --help-link`)r   buildz--build-tempz--build-basez--build-platlib.z--disable-optimizationZ	config_fc	build_ext)ext_moduleszRemoving build directory )r   extendget
modulenamer   r   r   r   r   r   Z
f2py_flagsZsysinfo_flagsr   printreprr   r   sysargvZsetup_flags	build_dirZfc_flagsZ
flib_flagsr   Zremove_build_dirospathexistsshutilrmtree)selfZnum_infoZext_argsniextr   r   r   compile   sT    
zDistutilsBackend.compile)__name__
__module____qualname__r   r3   __classcell__r   r   r   r   r	      s   
r	   )Z_backendr   Znumpy.distutils.corer   r   Znumpy.distutils.system_infor   Znumpy.distutils.misc_utilr   Znumpy.exceptionsr   r*   r'   r-   r   r	   r   r   r   r   <module>   s   