U Dx` @sLdZddlZddlmZedejjZedejjZ GdddeZdS)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@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 isinstancestrwarningswarn SyntaxWarningsplitdependslanguage f2py_options module_dirsextra_f77_compile_argsextra_f90_compile_args)selfnamerrrrrrrr r r r rrrrrrrrmsgr"@/tmp/pip-target-zr53vnty/lib/python/numpy/distutils/extension.pyr!s:        zExtension.__init__cCs"|jD]}tt|rdSqdSNTF)r cxx_ext_rerrsourcer"r"r#has_cxx_sources[s  zExtension.has_cxx_sourcescCs|jD]}t|rdSqdSr$)rfortran_pyf_ext_rer&r"r"r#has_f2py_sourcesas zExtension.has_f2py_sources)NNNNNNNNNNNNNNNNN)__name__ __module__ __qualname____doc__rr(r*r"r"r"r#rs* :r) r.redistutils.extensionrrcompileImatchr%r)r"r"r"r#s