U C^ @szdZddlmZmZmZddlZddlZddlmZ ej ddkrFe Z e dejjZe dejjZGdd d e ZdS) zdistutils.extension Provides the Extension class, used to describe C/C++ extension modules in setup scripts. Overridden to support f2py. )divisionabsolute_importprint_functionN) Extensionz.*[.](cpp|cxx|cc)\Zz".*[.](f90|f95|f77|for|ftn|f|pyf)\Zc@s*eZdZdZd ddZddZddZdS) ra 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. NcCstj||g||||||| | | | d ||_| p0g|_t|jtrhddl}d}|j|tdd|j |_|png|_ ||_ |p~g|_ |pg|_ |pg|_|pg|_dS)N) include_dirs define_macros undef_macros library_dirs librariesruntime_library_dirs extra_objectsextra_compile_argsextra_link_argsexport_symbolsrz4swig_opts is specified as a string instead of a list) stacklevel) old_Extension__init__sources swig_opts isinstance basestringwarningswarn SyntaxWarningsplitdependslanguage f2py_options module_dirsextra_f77_compile_argsextra_f90_compile_args)selfnamerrrr r r r r rrrrrrrr r!r"rmsgr&s