o ~Re@spddlZddlZddlZddlZddlZddlmZddZeZ eej j Z Gddde Z Gdd d e Z dS) N) get_unpatchedcCs0d}z t|dgdjWdStyYdSw)z0 Return True if Cython can be imported. zCython.Distutils.build_ext build_ext)fromlistTF) __import__r Exception)Z cython_implr/builddir/build/BUILDROOT/alt-python310-setuptools-58.3.0-2.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/setuptools/extension.py _have_cython s r c@s eZdZdZddZddZdS) Extensionz7Extension that uses '.c' files in place of '.pyx' filescOs.|dd|_tj|||g|Ri|dS)Npy_limited_apiF)popr _Extension__init__)selfnamesourcesargskwrrr r!s zExtension.__init__cCsNtrdS|jp d}|dkrdnd}ttjd|}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. Nzc++z.cppz.cz.pyx$) r languagelower functoolspartialresublistmapr)rlangZ target_extrrrr _convert_pyx_sources_to_lang's  z&Extension._convert_pyx_sources_to_langN)__name__ __module__ __qualname____doc__rrrrrr r s r c@seZdZdZdS)Libraryz=Just like a regular Extension, but built as a library insteadN)r r!r"r#rrrr r$6sr$)rrdistutils.core distutilsdistutils.errorsdistutils.extensionZmonkeyrr Z have_pyrexcorer rr$rrrr s