o
    DfT	                     @   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__)sefargskwargs	__class__ X/home/ubuntu/webapp/venv/lib/python3.10/site-packages/numpy/f2py/_backends/_distutils.pyr      s   zDistutilsBackend.__init__c              
   C   sF  i }|r| j |dg  | j| j| j | j| j| j| j| j	| j
d	}| jrD| jD ]}t|}|s;tdt| d t|fi | q)tdi |}tjd g| j t_tjdd| jd| jd	d
dg | jrrtjdg| j  | jrtjdg| j  t|gd | jrtj| jrtd| j  t| j d S d S d S )Ninclude_dirs)	namesourcesr   library_dirs	librariesdefine_macrosundef_macrosextra_objectsf2py_optionszNo z2 resources foundin system (try `f2py --help-link`)r   buildz--build-tempz--build-basez--build-platlib.z--disable-optimization	config_fc	build_ext)ext_moduleszRemoving build directory r   )r   extendget
modulenamer   r   r   r   r   r   
f2py_flagssysinfo_flagsr   printreprr   r   sysargvsetup_flags	build_dirfc_flags
flib_flagsr   remove_build_dirospathexistsshutilrmtree)selfnum_infoext_argsniextr   r   r   compile   sV   
zDistutilsBackend.compile)__name__
__module____qualname__r   r>   __classcell__r   r   r   r   r	      s    
r	   )_backendr   numpy.distutils.corer   r   numpy.distutils.system_infor   numpy.distutils.misc_utilr   numpy.exceptionsr   r3   r,   r6   r   r	   r   r   r   r   <module>   s    