B { ` @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-unpacked-wheel-4iou4664/numpy/distutils/extension.pyr!s4        zExtension.__init__cCs$x|jD]}tt|rdSqWdS)NTF)r cxx_ext_rer)rsourcer"r"r#has_cxx_sources[s  zExtension.has_cxx_sourcescCs x|jD]}t|rdSqWdS)NTF)rfortran_pyf_ext_re)rr%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