î
[Y|  ã               @   s¼   d  d l  Z  d  d l Z d  d l Z d  d l m Z e e j j ƒ Z d d „  Z	 Gd d „  d e ƒ Z Gd d „  d e ƒ Z
 e e j _ e e j _ d	 e  j k r¸ e e  j d	 _ n  d S)
é    N)Ú_get_unpatchedc              C   sN   d }  xA |  D]9 } y t  | d d g ƒj d SWq t k
 rE Yq Xq Wd S)z9
    Return True if Cython or Pyrex can be imported.
    úCython.Distutils.build_extúPyrex.Distutils.build_extÚfromlistÚ	build_extTF)r   r   )Ú
__import__r   Ú	Exception)Zpyrex_implsZ
pyrex_impl© r	   úG/home/kubikplay/www/django_dtb/build/setuptools/setuptools/extension.pyÚ
have_pyrex	   s    	r   c               @   s.   e  Z d  Z d Z d d „  Z d d „  Z d S)Ú	Extensionz7Extension that uses '.c' files in place of '.pyx' filesc             O   s-   t  j |  | | Ž t ƒ  s) |  j ƒ  n  d  S)N)Ú
_ExtensionÚ__init__r   Ú_convert_pyx_sources_to_c)ÚselfÚargsÚkwr	   r	   r
   r      s    	zExtension.__init__c             C   s+   d d „  } t  t | |  j ƒ ƒ |  _ d S)zconvert .pyx extensions to .cc             S   s*   |  j  d ƒ r& |  d  d … d }  n  |  S)Nz.pyxé   z.céüÿÿÿ)Úendswith)Úsourcer	   r	   r
   Úpyx_to_c"   s    z5Extension._convert_pyx_sources_to_c.<locals>.pyx_to_cN)ÚlistÚmapÚsources)r   r   r	   r	   r
   r       s    z#Extension._convert_pyx_sources_to_cN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r	   r	   r	   r
   r      s   r   c               @   s   e  Z d  Z d Z d S)ÚLibraryz=Just like a regular Extension, but built as a library insteadN)r   r   r   r   r	   r	   r	   r
   r   (   s   r   zdistutils.command.build_ext)ÚsysÚdistutils.coreÚ	distutilsÚdistutils.extensionZsetuptools.distr   Úcorer   r   r   r   Ú	extensionÚmodulesr	   r	   r	   r
   Ú<module>   s   