o
    "g                     @   sL   d Z ddlZddlmZ edejjZedejjZ	G dd deZdS )zdistutils.extension

Provides the Extension class, used to describe C/C++ extension
modules in setup scripts.

Overridden to support f2py.

    N)	Extensionz.*\.(cpp|cxx|cc)\Zz!.*\.(f90|f95|f77|for|ftn|f|pyf)\Zc                   @   sP   e Zd ZdZ																			d	ddZdd Zdd ZdS )
r   a  
    Parameters
    ----------
    name : str
        Extension name.
    sources : list of str
        List of source file locations relative to the top directory of
        the package.
    extra_compile_args : list of str
        Extra command line arguments to pass to the compiler.
    extra_f77_compile_args : list of str
        Extra command line arguments to pass to the fortran77 compiler.
    extra_f90_compile_args : list of str
        Extra command line arguments to pass to the fortran90 compiler.
    Nc                 C   s   t j| |g |||||||	|
||d || _|pg | _t| jtr4dd l}d}|j|tdd | j	 | _|p7g | _
|| _|p?g | _|pDg | _|pIg | _|pNg | _|pSg | _|pXg | _d S )N)
include_dirsdefine_macrosundef_macroslibrary_dirs	librariesruntime_library_dirsextra_objectsextra_compile_argsextra_link_argsexport_symbolsr   z4swig_opts is specified as a string instead of a list   )
stacklevel)old_Extension__init__sources	swig_opts
isinstancestrwarningswarnSyntaxWarningsplitdependslanguagef2py_optionsmodule_dirsextra_c_compile_argsextra_cxx_compile_argsextra_f77_compile_argsextra_f90_compile_args)selfnamer   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r    r   msg r$   [/var/www/html/ecg_monitoring/venv/lib/python3.10/site-packages/numpy/distutils/extension.pyr   !   s:   







zExtension.__init__c                 C      t dd | jD S )Nc                 s   s    | ]	}t t|V  qd S N)
cxx_ext_rer   .0sourcer$   r$   r%   	<genexpr>`   s    z,Extension.has_cxx_sources.<locals>.<genexpr>anyr   r!   r$   r$   r%   has_cxx_sources_      zExtension.has_cxx_sourcesc                 C   r&   )Nc                 s   s    | ]}t |V  qd S r'   )fortran_pyf_ext_rer)   r$   r$   r%   r,   c   s    z-Extension.has_f2py_sources.<locals>.<genexpr>r-   r/   r$   r$   r%   has_f2py_sourcesb   r1   zExtension.has_f2py_sources)NNNNNNNNNNNNNNNNNNN)__name__
__module____qualname____doc__r   r0   r3   r$   r$   r$   r%   r      s0    
>r   )
r7   redistutils.extensionr   r   compileImatchr(   r2   r$   r$   r$   r%   <module>   s    