Hacked By AnonymousFox
�
�܋f�
� � � d Z ddlZddlmZ ej dej � � j Z ej dej � � j Z G d� de� � ZdS )z�distutils.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 �L � e Zd ZdZ dd�Zd� Zd� ZdS )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 � � t j | |g ||||||| |
||��
�
|| _ |
pg | _ t | j t
� � rAdd l}d}|� |t d�� � | j � � � | _ |pg | _
|| _ |pg | _ |pg | _
|pg | _ |pg | _ |pg | _ |pg | _ 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"