o 6a @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@sLeZdZdZ                 d 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 ||_| pg|_t|jtr4ddl}d}|j|tdd|j |_|p7g|_ ||_ |p?g|_ |pDg|_ |pIg|_|pNg|_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";/usr/lib/python3/dist-packages/numpy/distutils/extension.pyr!s6        zExtension.__init__cCs"|jD] }tt|rdSqdSNTF)r cxx_ext_rerrsourcer"r"r#has_cxx_sources[s  zExtension.has_cxx_sourcescCs|jD] }t|r dSqdSr$)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