;i dZddlZddlmZejdejjZejdejjZ GddeZdS)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)\ZcLeZdZdZ ddZdZdZdS)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. Nctj||g||||||| | | |  ||_| pg|_t |jt rAddl}d}||td|j |_|pg|_ ||_ |pg|_ |pg|_ |pg|_|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_c_compile_argsextra_cxx_compile_argsextra_f77_compile_argsextra_f90_compile_args)selfnamerrrrr r r r r rrrrrrrr r!r"r#rmsgs MC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\numpy/distutils/extension.pyrzExtension.__init__!s, dB)+))#%9+#5 /- / / / / #b dnc * * 4 OOOHC MM#}M ; ; ;!^1133DN}"   ).B&,"$8$>B!&<&B#&<&B#&<&B#c>td|jDS)Nc3NK|] }tt|V!dSN) cxx_ext_rer.0sources r' z,Extension.has_cxx_sources..`s0FFv:c&kk**FFFFFFr(anyrr$s r'has_cxx_sourceszExtension.has_cxx_sources_s!FFFFFFFFr(c>td|jDS)Nc34K|]}t|VdSr+)fortran_pyf_ext_rer-s r'r0z-Extension.has_f2py_sources..cs+II&%f--IIIIIIr(r1r3s r'has_f2py_sourceszExtension.has_f2py_sourcesbs!IIDLIIIIIIr()NNNNNNNNNNNNNNNNNNN)__name__ __module__ __qualname____doc__rr4r8r(r'rrs"!%# !%#'#'#')<<<<|GGGJJJJJr(r) r<redistutils.extensionrrcompileImatchr,r7r=r(r'rCs ::::::RZ-rt 4 4 : RZ DbdKKQRJRJRJRJRJ RJRJRJRJRJr(