U ë˜Re”ã@spddlZddlZddlZddlZddlZddlmZdd„ZeZ eej j ƒZ Gdd„de ƒZ Gdd „d e ƒZ dS) éNé)Ú get_unpatchedcCs4d}zt|dgd�jWdStk r.YnXdS)z0 Return True if Cython can be imported. zCython.Distutils.build_extÚ build_ext)ÚfromlistTF)Ú __import__rÚ Exception)Z cython_impl©rúŠ/builddir/build/BUILDROOT/alt-python38-setuptools-58.3.0-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/setuptools/extension.pyÚ _have_cython sr c@s eZdZdZdd„Zdd„ZdS)Ú Extensionz7Extension that uses '.c' files in place of '.pyx' filescOs(| dd¡|_tj|||f|ž|ŽdS)NÚpy_limited_apiF)Úpopr Ú _ExtensionÚ__init__)ÚselfÚnameÚsourcesÚargsÚkwrrr r!szExtension.__init__cCsNtƒr dS|jpd}| ¡dkr$dnd}t tjd|¡}tt||j ƒƒ|_ dS)zÜ Replace sources with .pyx extensions to sources with the target language extension. This mechanism allows language authors to supply pre-converted sources but to prefer the .pyx sources. NÚzc++z.cppz.cz.pyx$) r ÚlanguageÚlowerÚ functoolsÚpartialÚreÚsubÚlistÚmapr)rÚlangZ target_extrrrr Ú_convert_pyx_sources_to_lang's  z&Extension._convert_pyx_sources_to_langN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrrrr r sr c@seZdZdZdS)ÚLibraryz=Just like a regular Extension, but built as a library insteadN)r r!r"r#rrrr r$6sr$)rrÚdistutils.coreÚ distutilsÚdistutils.errorsÚdistutils.extensionÚmonkeyrr Z have_pyrexÚcorer rr$rrrr Ús