î N3{Y|ã@s¼ddlZddlZddlZddlmZeejjƒZdd„Z Gdd„deƒZGdd„deƒZ eej_eej _d ej kr¸eej d _ndS) éN)Ú_get_unpatchedc CsNd}xA|D]9}yt|ddgƒjdSWq tk rEYq Xq WdS)z9 Return True if Cython or Pyrex can be imported. úCython.Distutils.build_extúPyrex.Distutils.build_extÚfromlistÚ build_extTF)rr)Ú __import__rÚ Exception)Z pyrex_implsZ pyrex_impl©r ú//tmp/pip-r2rszybt-build/setuptools/extension.pyÚ have_pyrex s   r c@s.eZdZdZdd„Zdd„ZdS)Ú Extensionz7Extension that uses '.c' files in place of '.pyx' filescOs-tj|||Žtƒs)|jƒndS)N)Ú _ExtensionÚ__init__r Ú_convert_pyx_sources_to_c)ÚselfÚargsÚkwr r r rs zExtension.__init__cCs+dd„}tt||jƒƒ|_dS)zconvert .pyx extensions to .ccSs*|jdƒr&|dd…d}n|S)Nz.pyxéz.céüÿÿÿ)Úendswith)Úsourcer r r Úpyx_to_c"sz5Extension._convert_pyx_sources_to_c..pyx_to_cN)ÚlistÚmapÚsources)rrr r r r s z#Extension._convert_pyx_sources_to_cN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrr r r r r s  r c@seZdZdZdS)ÚLibraryz=Just like a regular Extension, but built as a library insteadN)rrrrr r r r r(s rzdistutils.command.build_ext) ÚsysÚdistutils.coreÚ distutilsÚdistutils.extensionZsetuptools.distrÚcorer r r rÚ extensionÚmodulesr r r r Ús