ó Ŕfc@s­ddlZddlZddlZddlZddlZddlmZddlm Z d„Z e Z e ej j ƒZdefd„ƒYZ de fd „ƒYZdS( i˙˙˙˙N(tmapi(t get_unpatchedcCs<d}yt|ddgƒjtSWntk r7nXtS(s0 Return True if Cython can be imported. sCython.Distutils.build_exttfromlistt build_ext(t __import__RtTruet ExceptiontFalse(t cython_impl((s8/usr/lib/python2.7/site-packages/setuptools/extension.pyt _have_cython s t ExtensioncBs eZdZd„Zd„ZRS(s7Extension that uses '.c' files in place of '.pyx' filescOs2|jdtƒ|_tj|||||ŽdS(Ntpy_limited_api(tpopRR t _Extensiont__init__(tselftnametsourcestargstkw((s8/usr/lib/python2.7/site-packages/setuptools/extension.pyR#scCsqtƒr dS|jpd}|jƒdkr4dnd}tjtjd|ƒ}tt||j ƒƒ|_ dS(sÜ 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. Ntsc++s.cpps.cs.pyx$( R tlanguagetlowert functoolstpartialtretsubtlistRR(Rtlangt target_extR((s8/usr/lib/python2.7/site-packages/setuptools/extension.pyt_convert_pyx_sources_to_lang)s  (t__name__t __module__t__doc__RR(((s8/usr/lib/python2.7/site-packages/setuptools/extension.pyR s tLibrarycBseZdZRS(s=Just like a regular Extension, but built as a library instead(RR R!(((s8/usr/lib/python2.7/site-packages/setuptools/extension.pyR"8s(RRtdistutils.coret distutilstdistutils.errorstdistutils.extensiontsetuptools.extern.six.movesRtmonkeyRR t have_pyrextcoreR R R"(((s8/usr/lib/python2.7/site-packages/setuptools/extension.pyts