ó
£áSc           @  s«  d  d l  m Z m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l m Z d  d l m Z d  d l m Z d  d l m Z d  d l Te j j d d	 ƒ d
 k Z e j j d d
 ƒ d
 k Z d e f d „  ƒ  YZ e Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d e& d „ Z' e( d k r§d  d l) m* Z* e* d e' ƒ n  d S(   iÿÿÿÿ(   t   divisiont   print_functionN(   t   join(   t   log(   t   newer(   t   get_config_var(   t   *t   NPY_SEPARATE_COMPILATIONt   1t   0t   NPY_RELAXED_STRIDES_CHECKINGt   CallOnceOnlyc           B  s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C  s   d  |  _ d  |  _ d  |  _ d  S(   N(   t   Nonet   _check_typest   _check_ieee_macrost   _check_complex(   t   self(    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   __init__#   s    		c         O  sR   |  j  d  k r3 t | | Ž  } t j | ƒ |  _  n t j t j |  j  ƒ ƒ } | S(   N(   R   R   t   check_typest   picklet   dumpst   copyt   deepcopyt   loads(   R   t   at   kwt   out(    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyR   (   s
    c         O  sR   |  j  d  k r3 t | | Ž  } t j | ƒ |  _  n t j t j |  j  ƒ ƒ } | S(   N(   R   R   t   check_ieee_macrosR   R   R   R   R   (   R   R   R   R   (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyR   0   s
    c         O  sR   |  j  d  k r3 t | | Ž  } t j | ƒ |  _  n t j t j |  j  ƒ ƒ } | S(   N(   R   R   t   check_complexR   R   R   R   R   (   R   R   R   R   (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyR   8   s
    (   t   __name__t
   __module__R   R   R   R   (    (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyR   "   s   			c           C  s3   t  j d k r% t j j t  j d ƒ St d ƒ Sd S(   s    return path where libpython* is.t   win32t   libst   LIBDIRN(   t   syst   platformt   ost   pathR   t   prefixR   (    (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   pythonlib_dirB   s    c           C  s   t  j d k S(   sT   Return True if the NPY_NO_SIGNAL symbol must be defined in configuration
    header.R   (   R"   R#   (    (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   is_npy_no_signalI   s    c          C  sW   t  j d  d k  r d }  n1 y t j d }  d }  Wn t k
 rL d }  n X|  d k S(   sx   Return True if the NPY_NO_SMP symbol must be defined in public
    header (when SMP support cannot be reliably enabled).i   s   2.4.2i   t	   NPY_NOSMPi    (   R"   t   versionR$   t   environt   KeyError(   t   nosmp(    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   is_npy_no_smpN   s    		

c         C  s~   d d l  m } | ƒ  } t d | t j t j f ƒ | d k rR |  j d ƒ n  | d k sj | d k rz |  j d ƒ n  d  S(   Niÿÿÿÿ(   t   get_build_architectures3   BUILD_ARCHITECTURE: %r, os.name=%r, sys.platform=%rt   AMD64t   DISTUTILS_USE_SDKt   Intelt   FORCE_NO_LONG_DOUBLE_FORMATTING(   t   numpy.distutils.misc_utilR/   t   printR$   t   nameR"   R#   t   append(   t   deflistR/   R   (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   win32_checksg   s    	c           s*  ‡ ‡ f d †  ‰  ‡ ‡ ‡ f d †  ‰ ‡  ‡ ‡ f d †  } ˆ t  ƒ sa t d t t  ƒ ƒ ‚ n  x? t D]7 } ˆ j t | ƒ d d d g ƒrh t j | ƒ qh qh W| t ƒ xZ t D]R } ˆ j	 d d	 t
 d
 t
 d | g ƒr´ ˆ j t | ƒ j d d ƒ d f ƒ q´ q´ Wx› t D]“ } d  } t | ƒ d k r>| \ } } n# | d | d | d g } } } ˆ j	 | d	 t
 d
 t d | d | ƒrˆ j t | ƒ d f ƒ qqWxg t D]_ \ }	 }
 ˆ j |
 g d	 t d |	 |
 f t f f ƒ d
 t
 ƒr¯ˆ j t |
 ƒ d f ƒ q¯q¯W| t ƒ | t ƒ d  S(   Nc           s   ˆ  j  |  d ˆ d t d t ƒS(   Nt	   librariest   declt   call(   t
   check_funct   True(   t	   func_name(   t   configt   mathlibs(    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyR=   x   s    c           s   t  g  |  D] } | t f ^ q
 ƒ } ˆ  j |  d ˆ d | d | ƒ} | r{ ˆ j g  |  D] } t | ƒ d f ^ qY ƒ n  | S(   NR:   R;   R<   i   (   t   dictR>   t   check_funcs_oncet   extendt	   fname2def(   t
   funcs_namet   fR;   t   st(   R@   RA   t   moredefs(    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyRC   |   s    %/c           sQ   ˆ |  ƒ sI x6 |  D]. } ˆ  | ƒ r ˆ j  t | ƒ d f ƒ q q Wd Sd Sd  S(   Ni   i    (   R7   RE   (   RF   RG   (   R=   RC   RI   (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   check_funcs„   s     sN   One of the required function to build numpy is not available (the list is %s).t   headerss   Python.hs   math.ht    R;   R<   t   .t   _i   i   i    t	   call_argss   %s %s(   t   MANDATORY_FUNCSt   SystemErrort   strt   OPTIONAL_STDFUNCS_MAYBEt
   check_declRE   t   OPTIONAL_STDFUNCSt   removet   OPTIONAL_HEADERSR=   t   FalseR7   t   replacet   OPTIONAL_INTRINSICSR   t   lenR>   t   OPTIONAL_GCC_ATTRIBUTESRC   RB   t   C99_FUNCS_SINGLEt   C99_FUNCS_EXTENDED(   R@   RI   RA   RJ   RG   t   ht   tupRK   t   argst   dect   fn(    (   R=   RC   R@   RA   RI   sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   check_math_capabilitiesw   s:    	
$,#	 	 
c           s  g  ‰ g  } y1 t  j ƒ  d d k r< t j d ƒ ˆ | f SWn n Xˆ  j d ƒ } | rû ˆ j d ƒ | j d ƒ xL t D]D } ˆ  j | d d g ƒ} | r} | j d	 t | ƒ d f ƒ q} q} W‡  ‡ ‡ f d
 †  } | d ƒ | d ƒ | d ƒ n  ˆ | f S(   Ni    t   Interixs+   Disabling broken complex support. See #1365s	   complex.ht   HAVE_COMPLEX_Hi   t   NPY_USE_C99_COMPLEXRK   s   NPY_HAVE_%sc      	     sä   g  t  D] } | |  ^ q } t g  | D] } | t f ^ q' ƒ } ˆ  j | d | d | d ˆ ƒs´ xz | D]C } ˆ  j | d t d t d ˆ ƒrj ˆ j t | ƒ d f ƒ qj qj Wn, ˆ j g  | D] } t | ƒ d f ^ qÁ ƒ d  S(   NR<   R;   R:   i   (   t   C99_COMPLEX_FUNCSRB   R>   RC   R=   R7   RE   RD   (   t   precRG   t   flistR;   (   R@   RA   t   priv(    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt
   check_precÓ   s    %		#RL   RG   t   l(   s   HAVE_COMPLEX_Hi   (   s   NPY_USE_C99_COMPLEXi   (	   R$   t   unamet   warningst   warnt   check_headerR7   t   C99_COMPLEX_TYPESt
   check_typet   type2def(   R@   RA   t   pubRH   t   tRl   (    (   R@   RA   Rk   sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyR   ¼   s*    $

c           s
  g  ‰  g  ‰ g  } ‡  ‡ f d †  } d d d d g } xˆ | D]€ } t  d | ƒ } |  j | d d d	 g ƒ} | r° |  j | d d d	 g ƒr½ ˆ j d
 t  d | ƒ ƒ q½ q= | j | ƒ q= Wx< | D]4 } |  j | d d d	 g ƒ} | rÈ | | ƒ qÈ qÈ Wˆ  ˆ f S(   Nc           s6   ˆ  j  t d |  ƒ ƒ ˆ j  d t d |  ƒ ƒ d  S(   Ns   decl_%ss   NPY_%s(   R7   RE   (   RG   (   Rk   Ru   (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt	   _add_declë   s    t   isnant   isinft   signbitt   isfinites   decl_%sRK   s   Python.hs   math.hs   NPY_%s(   RE   RT   t   check_macro_trueR7   (   R@   t   macrosRw   t   _macrosRG   t	   py_symbolt   already_declaredRH   (    (   Rk   Ru   sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyR   å   s&    !c      
   C  sº  g  } g  } i  } d g | d <d g | d <d d g | d <d g | d <d g | d <d d	 d
 g | d <d d g | d <d g | d <d g | d <d d g | d <|  j  d ƒ } | sÇ t d ƒ ‚ n  |  j  d ƒ } | rù | j d" ƒ | j d# ƒ n  x¹ d$ D]± } |  j d t | ƒ d d g ƒ} | rX| j d t | ƒ d t | ƒ f ƒ q |  j | d | | ƒ} | d k r¡| j d t | ƒ d | f ƒ q t d | ƒ ‚ q Wx.d% D]&} |  j d t | ƒ d d g ƒ}	 |  j | d | | ƒ} | d k re| j d t | ƒ d | f ƒ |	 ru| d k ru| j d t | ƒ d | f ƒ qun t d | ƒ ‚ d | | f }
 |  j |
 d d | | ƒ} | d k rÒ| j d t | ƒ d | f ƒ q¼t d |
 ƒ ‚ q¼Wx� d& D]• } |  j | d d g d t ƒ  g d | | ƒ} | d k rr| j d t | ƒ d | f ƒ | j d t | ƒ d | f ƒ qít d | ƒ ‚ qíW|  j d d d g ƒr‰|  j d d d g d t ƒ  g d | d ƒ} | d k r| j d t d ƒ d | f ƒ | j d t d ƒ d | f ƒ n t d d ƒ ‚ |  j d d | d ƒ} | d k rv| j d t d ƒ d | f ƒ q‰t d d ƒ ‚ n  |  j d  d d g ƒs°t d! ƒ ‚ n  | | f S('   Ni   t   shorti   t   inti   t   longt   floatt   doublei   i   s   long doublet   Py_intptr_tt   PY_LONG_LONGs	   long longt   off_ts   Python.hsO   Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.s   endian.ht   HAVE_ENDIAN_Hi   t   NPY_HAVE_ENDIAN_Hs	   SIZEOF_%sRK   s   NPY_SIZEOF_%st   expectedi    s   %ds   Checking sizeof (%s) failed !s   struct {%s __x; %s __y;}s   NPY_SIZEOF_COMPLEX_%st   library_dirst   CHAR_BITsC   Config wo CHAR_BIT is not supported, please contact the maintainers(   s   HAVE_ENDIAN_Hi   (   s   NPY_HAVE_ENDIAN_Hi   (   s   shorts   ints   long(   s   floats   doubles   long double(   s   Py_intptr_ts   off_t(   Rq   RQ   R7   RT   t   sym2deft   check_type_sizeR'   t   RuntimeError(   t
   config_cmdt   extt	   build_dirt   private_definest   public_definesR‹   t   resultt   rest   typeR€   t   complex_def(    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyR   
  sˆ    "*$!'$!$!$$c      	   C  s›   g  } g  d g d g g } t  j j d ƒ } | rO | j d | j d ƒ ƒ n  xE | D]1 } |  j d d | d t d	 t ƒrV | } PqV qV Wt d
 ƒ ‚ | S(   Nt   mt   cpmlt   MATHLIBi    t   ,t   expR:   R;   R<   sK   math library missing; rerun setup.py after setting the MATHLIB env variable(   R$   R+   t   gett   insertt   splitR=   R>   t   EnvironmentError(   R‘   RA   t   mathlibs_choicest   mathlibR    (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   check_mathlibo  s    !c         C  s   |  j  ƒ  r d Sd Sd S(   sS   Return the define value to use for NPY_VISIBILITY_HIDDEN (may be empty
    string).s%   __attribute__((visibility("hidden")))RL   N(   t   check_compiler_gcc4(   R@   (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   visibility_define€  s    RL   c      2     sÑ  d d l  m } m } d d l m } m } | d |  | ƒ ‰ ˆ j ‰ t ˆ d ƒ ‰ t ˆ ƒ ru t	 j
 d t ƒ n  t t ˆ ƒ t ˆ d ƒ ‰ | ˆ j d ƒ } t j d	 j | j d
 ƒ ƒ t ˆ d ƒ ˆ d d d f ƒ ‰ d ‰ t ƒ  ‰ ‡ ‡ ‡ f d †  } ‡ ‡ ‡ f d †  } ‡ ‡ ‡ f d †  }	 |	 d ƒ }
 |	 d ƒ } ˆ j t ˆ d d ƒ ƒ ˆ j t ˆ d ƒ ƒ ˆ j t ˆ ƒ ƒ ˆ j d ƒ ˆ j t d d ƒ ƒ ˆ j t d d ƒ ƒ ˆ j t d d ƒ ƒ ˆ j t d d ƒ ƒ ˆ j d d f g ƒ ˆ j d d f g ƒ ˆ j d d f g ƒ ˆ j d  d f g ƒ ˆ j j ˆ j d! ƒ ƒ t d d d" ƒ t d! d# d$ ƒ d% d& t ˆ d' ƒ g } t j d( k r²ˆ j d) ƒ n  ˆ j d* d+ t d d, ƒ | | |
 g ƒt d- t j  j! f d. d/ f g ƒ ‰ ‡ ‡ f d0 †  } t d d d1 ƒ t d d d2 ƒ t d d d3 ƒ t d d d4 ƒ g } ˆ j" d d+ | | g d5 d6 ƒˆ j# d7 d8 ˆ ƒ ˆ j# d9 d8 ˆ ƒ t d d d: ƒ t d d d; ƒ t d d d< ƒ t d d d= ƒ t d d d> ƒ g } ˆ j$ d d+ | d? g  ƒ‡ ‡ f d@ †  } t d d dA ƒ t d d dB ƒ t d d dC ƒ t d d dD ƒ t d d dE ƒ t d d dF ƒ t d d dG ƒ t d d dH ƒ t d d dI ƒ t d d dJ ƒ t d d dK ƒ t d d dL ƒ t d d dM ƒ t d d dN ƒ t d d dO ƒ t d d dP ƒ t d d dQ ƒ t d d dR ƒ t d d dS ƒ t d d dT ƒ t d d dU ƒ t d d dV ƒ t d d dW ƒ t d d dX ƒ t d d dY ƒ t d d dZ ƒ t d d d[ ƒ t d d d\ ƒ t d! d# dA ƒ t d! d# d] ƒ t d! d# d^ ƒ t d! d# d_ ƒ t d! d# d` ƒ t d! d# da ƒ t d! d# db ƒ t d! d# dc ƒ t d! d# dd ƒ t d! d# de ƒ t d! d# df ƒ t d! d# dg ƒ t d! d# dh ƒ t d! d# di ƒ t d! d# dj ƒ t d! d# dk ƒ t d! d# dl ƒ t d! d# dm ƒ t d! d# dn ƒ g/ | | } t d d do ƒ t d d dp ƒ t d d dq ƒ t d d dr ƒ t d d ds ƒ t d d dt ƒ t d d du ƒ t d d dv ƒ t d d dw ƒ t d d dx ƒ t d d dy ƒ t d d dz ƒ t d d d{ ƒ t d d d| ƒ t d d d} ƒ t d d d~ ƒ t d d d ƒ t d d d€ ƒ t d d d� ƒ t d d d‚ ƒ t d d dƒ ƒ t d d d„ ƒ t d d d… ƒ t d d d† ƒ t d d d‡ ƒ t d d dˆ ƒ t d d d‰ ƒ t d d dŠ ƒ t d d d‹ ƒ t d d dŒ ƒ t d d d� ƒ t d d dŽ ƒ t d d d� ƒ t d d d� ƒ t d d d‘ ƒ t d d d’ ƒ t d d d“ ƒ t d d d” ƒ t d d d• ƒ t d d d– ƒ t d d d— ƒ t d d d˜ ƒ g* } t% r˜	| j | ƒ t d d d™ ƒ g } | j& | ƒ n  ˆ j d d+ | | | |
 t ˆ dš ƒ t d› ƒ g dœ | | d� d d g ƒ‡ ‡ f dž †  } ‡ ‡ ‡ f dŸ †  } t d d d  ƒ t d d d¡ ƒ t d d d¢ ƒ t d d d£ ƒ t d d d¤ ƒ t d d d¥ ƒ t d d d¦ ƒ g } ˆ t d d dF ƒ t d d d£ ƒ t ˆ d§ ƒ g | } t% r| j | ƒ t d d d¨ ƒ g } | j& | ƒ | j& t d d d¢ ƒ ƒ | j& t d d d£ ƒ ƒ n  ˆ j d d+ | | | | | g dœ | | d� d g ƒˆ j d© d+ t d dª ƒ t d d d« ƒ | | |
 | g dœ | | d� d g ƒ| d¬ d­ ƒ ‰  ‡  f d® †  } ˆ j d¯ d+ | g dœ t d° d± ƒ t d° d² ƒ g d? d° g d³ ˆ  ƒˆ j d´ d+ t d d dµ ƒ g ƒˆ j d¶ d+ t d d d· ƒ g ƒˆ j d¸ d+ t d d d¹ ƒ g ƒˆ j dº d+ t d d d» ƒ g ƒˆ j d¼ d+ t d d d½ ƒ g ƒˆ j d¾ ƒ ˆ j d¿ ƒ ˆ j' ƒ  ˆ S(À   Niÿÿÿÿ(   t   Configurationt   dot_join(   t   get_infot   default_lib_dirst   coret   code_generatorst   errors   generate_umath.pyt   generate_umathRN   RM   t   Us   .pyi   s   include/numpyc      	     sé  t  | ˆ d ƒ } t j j | ƒ } t j j | ƒ sF t j | ƒ n  t t | ƒ rˆ j ƒ  } t	 j
 d | ƒ ˆ  j | |  | ƒ \ } } t | ƒ } | j d d j  | ƒ f ƒ t | | | ƒ | j ˆ  j | ƒ d ƒ | j ˆ  j | | ƒ d ƒ t ƒ  r| j d ƒ n  t j d k s2t j d k r?t | ƒ n  | j ƒ  } | j d	 d
 d g ƒslt }	 n t }	 t rˆ| j d) ƒ n  t rž| j d* ƒ n  t j d k ròt | ƒ }
 |
 d+ k rß| j d |
 d f ƒ qòt d |
 ƒ ‚ n  t j d d k r| j d, ƒ n  t  | d ƒ } xP | D]H } t! | t" ƒ rT| j# d | ƒ q+| j# d | d | d f ƒ q+W| j# d ƒ | d  k r | j# d! ƒ n | j# d" | ƒ | j# d# ƒ | j# d$ ƒ | j$ ƒ  t% d% | ƒ t  | ƒ } t% | j& ƒ  ƒ | j$ ƒ  t% d& ƒ nz g  } t  | ƒ } x[ | D]S } d' } | j' | ƒ r.| t( | ƒ j) ƒ  } | r�| j | j* d ƒ ƒ q�q.q.W| j$ ƒ  t+ |  d( ƒ r±|  j, j | ƒ n  t j j | ƒ } | ˆ j- k råˆ j- j | ƒ n  | S(-   Ns   config.hs   Generating %sRœ   R�   i    t   __NPY_PRIVATE_NO_SIGNALR   t   ntt   Py_UNICODE_WIDERK   s   Python.ht   ENABLE_SEPARATE_COMPILATIONi   R
   t   darwint   INTEL_EXTENDED_12_BYTES_LEt   INTEL_EXTENDED_16_BYTES_LEt   MOTOROLA_EXTENDED_12_BYTES_BEt   IEEE_QUAD_LEt   IEEE_QUAD_BEt   IEEE_DOUBLE_LEt   IEEE_DOUBLE_BEt   DOUBLE_DOUBLE_BEs   HAVE_LDOUBLE_%ss#   Unrecognized long double format: %si   t   NPY_PY3Kt   ws   #define %s
s   #define %s %s
s   #ifndef __cplusplus
t   inlines   /* #undef inline */
s   #define inline %s
s   #endif
ss   
#ifndef _NPY_NPY_CONFIG_H_
#error config.h should never be included directly, include npy_config.h instead
#endif
s   File:t   EOFs   #define MATHLIBR:   (   s   ENABLE_SEPARATE_COMPILATIONi   (   s   NPY_RELAXED_STRIDES_CHECKINGi   (   s   INTEL_EXTENDED_12_BYTES_LEs   INTEL_EXTENDED_16_BYTES_LEs   MOTOROLA_EXTENDED_12_BYTES_BEs   IEEE_QUAD_LEs   IEEE_QUAD_BEs   IEEE_DOUBLE_LEs   IEEE_DOUBLE_BEs   DOUBLE_DOUBLE_BE(   s   NPY_PY3Ki   (.   R   R$   R%   t   dirnamet   existst   makedirsR   t   __file__t   get_config_cmdR   t   infoR   R¥   R7   Rd   RD   R   R   R(   R"   R#   R6   R9   t   check_inlineRT   R>   RX   R´   R
   t    check_long_double_representationt
   ValueErrort   version_infot   opent
   isinstanceRR   t   writet   closeR5   t   readt
   startswithR[   t   stripR¡   t   hasattrR:   t   numpy_include_dirs(   R’   R“   t   targett   dR‘   RI   t   ignoredRA   RÀ   t   PYTHON_HAS_UNICODE_WIDEt   rept   target_ft   linet   st   valuet   incl_dir(   t   cocacheR@   t
   header_dir(    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   generate_config_h¡  sŒ    		    	#

 
c   
        s™  ˆ j  t | d d ƒ ƒ t | ˆ d ƒ } t j j | ƒ } t j j | ƒ s_ t j | ƒ n  t t | ƒ r‚ˆ j	 ƒ  } t
 j d | ƒ ˆ  j | |  | ƒ \ } } t ƒ  r¾ | j d ƒ n  t ƒ  r× | j d ƒ n | j d ƒ t | ƒ } | j ˆ  j | ƒ d ƒ | j ˆ  j | | ƒ d ƒ t r=| j d ƒ n  t rS| j d ƒ n  | j d d d g ƒr{| j d ƒ n  t | ƒ } | j d | f ƒ | j d d t f ƒ | j d d t f ƒ t | d ƒ }	 xP | D]H } t | t ƒ r|	 j d | ƒ qÞ|	 j d | d | d f ƒ qÞW|	 j d ƒ |	 j ƒ  t d | ƒ t | ƒ }	 t |	 j  ƒ  ƒ |	 j ƒ  t d ƒ n  ˆ j! ˆ | f ƒ | S(   s@   Depends on config.h: generate_config_h has to be called before !t   srct   privates   _numpyconfig.hs   Generating %st   NPY_NO_SIGNALi   t
   NPY_NO_SMPi    t   NPY_ENABLE_SEPARATE_COMPILATIONR
   t   PRIdPTRRK   s
   inttypes.ht   NPY_USE_C99_FORMATSt   NPY_VISIBILITY_HIDDENt   NPY_ABI_VERSIONs   0x%.8Xt   NPY_API_VERSIONR¿   s   #define %s
s   #define %s %s
sD   
#ifndef __STDC_FORMAT_MACROS
#define __STDC_FORMAT_MACROS 1
#endif
s   File: %sRÁ   (   s   NPY_NO_SIGNALi   (   s
   NPY_NO_SMPi   (   s
   NPY_NO_SMPi    (   s   NPY_ENABLE_SEPARATE_COMPILATIONi   (   s   NPY_RELAXED_STRIDES_CHECKINGi   (   s   NPY_USE_C99_FORMATSi   ("   t   add_include_dirsR   R$   R%   RÂ   RÃ   RÄ   R   RÅ   RÆ   R   RÇ   R   R(   R7   R.   R¥   RD   R   R   R´   R
   RT   R§   t   C_ABI_VERSIONt   C_API_VERSIONRÌ   RÍ   RR   RÎ   RÏ   R5   RÐ   t   add_data_files(
   R’   R“   RÕ   RÖ   R‘   R×   RI   RA   t   hidden_visibilityRÚ   (   Rß   R@   Rà   (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   generate_numpyconfig_h  sT    		#

c           s   ‡ ‡ ‡ ‡  f d †  } | S(   Nc           sž   t  ˆ  ˆ d ƒ } t j j d ˆ  ƒ zG t ˆ ƒ } t j d | ƒ | j t j j  | ˆ ƒ ƒ \ } } } Wd  t j d =Xˆ j	 ˆ | f ˆ | f ƒ | f S(   Ns   .pyi    s   executing %s(
   R   R"   R%   R    t
   __import__R   RÇ   t   generate_apiR$   Rï   (   R’   R“   t   scriptRš   t   h_filet   c_filet   doc_file(   t   codegen_dirR@   Rà   t   module_name(    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyRó   \  s    +(    (   Rù   Ró   (   Rø   R@   Rà   (   Rù   sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   generate_api_func[  s    t   generate_numpy_apit   generate_ufunc_apiRâ   Rã   s   include/numpy/*.ht   npymatht
   multiarrayt   umatht   npysortt   HAVE_NPY_CONFIG_HR   t   _FILE_OFFSET_BITSt   64t   _LARGEFILE_SOURCEt   _LARGEFILE64_SOURCEt   includes
   _signbit.ct   numpys	   *object.hs   include/numpy/fenv/fenv.cs   include/numpy/fenv/fenv.hs	   genapi.pyt   cygwins   include/numpy/fenvt   _dummyt   sourcess   dummymodule.ct   sept   pkgnames
   numpy.corec            s    ˆ  j  ƒ  } | j d ƒ } | s0 t d ƒ ‚ n  t | ƒ } d j g  | D] } d | ^ qI ƒ } d j g  | D] } d | ^ qo ƒ } | ˆ d <| ˆ d <d  S(   Ns   int main(void) { return 0;}s0   Broken toolchain: cannot link a simple C programt    s   -l%ss   %s.libt   posix_mathlibt   msvc_mathlib(   RÆ   t   try_linkR�   R¥   R   (   Ra   R‘   RH   t   mlibsRm   t
   posix_mlibt	   msvc_mlib(   R@   t
   subst_dict(    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   get_mathlib_infoŸ  s    &&
s   npy_math.c.srcs   ieee754.c.srcs   npy_math_complex.c.srcs   halffloat.ct   install_dirt   libs   npymath.ini.ins   lib/npy-pkg-configs   mlib.ini.ins   quicksort.c.srcs   mergesort.c.srcs   heapsort.c.srcs   npy_partition.h.srcs   selection.c.srct   include_dirsc           s°   d d l  m } t d d ƒ } t ˆ | d ƒ t ˆ | d ƒ t ˆ | d ƒ t ˆ | d ƒ t ˆ | d	 ƒ g } ˆ  j t | | ƒ ƒ | d
 ƒ } | j ƒ  | j | |  ƒ d  S(   Niÿÿÿÿ(   t   get_cmdRâ   Rþ   s   scalartypes.c.srcs   arraytypes.c.srcs   nditer_templ.c.srcs   lowlevel_strided_loops.c.srcs   einsum.c.srct	   build_src(   R4   R  R   Rì   t   ensure_finalizedt   template_sources(   R’   R“   R  t   subpathR
  t   cmd(   R@   t	   local_dir(    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt%   generate_multiarray_templated_sourcesÕ  s    
s   arrayobject.hs   arraytypes.hs   array_assign.hs   buffer.hs   calculation.hs   common.hs   convert_datatype.hs	   convert.hs   conversion_utils.hs   ctors.hs   descriptor.hs   getset.hs   hashdescr.hs   iterators.hs	   mapping.hs	   methods.hs   multiarraymodule.hs   nditer_impl.hs   numpymemoryview.hs   number.hs	   numpyos.hs
   refcount.hs   scalartypes.hs
   sequence.hs   shape.hs   ucsnarrow.hs   usertypes.hs   lowlevel_strided_loops.hs   _neighborhood_iterator_imp.hs   npy_endian.hs   arrayscalars.hs
   noprefix.hs   npy_interrupt.hs   oldnumeric.hs   npy_3kcompat.hs
   npy_math.hs   halffloat.hs   npy_common.hs   npy_os.hs   utils.hs   ndarrayobject.hs	   npy_cpu.hs   numpyconfig.hs   ndarraytypes.hs   npy_1_7_deprecated_api.hs   _numpyconfig.h.ins   arrayobject.cs   arraytypes.c.srcs   array_assign.cs   array_assign_scalar.cs   array_assign_array.cs   buffer.cs   calculation.cs   common.cs	   convert.cs   convert_datatype.cs   conversion_utils.cs   ctors.cs
   datetime.cs   datetime_strings.cs   datetime_busday.cs   datetime_busdaycal.cs   descriptor.cs   dtype_transfer.cs   einsum.c.srcs   flagsobject.cs   getset.cs   hashdescr.cs   item_selection.cs   iterators.cs   lowlevel_strided_loops.c.srcs	   mapping.cs	   methods.cs   multiarraymodule.cs   nditer_templ.c.srcs   nditer_api.cs   nditer_constr.cs   nditer_pywrap.cs   number.cs   numpymemoryview.cs	   numpyos.cs
   refcount.cs
   sequence.cs   shape.cs   scalarapi.cs   scalartypes.c.srcs   usertypes.cs   ucsnarrow.cs   multiarraymodule_onefile.cs   generate_numpy_api.pys   *.pyt   dependsR:   c           sƒ   d d l  m } t d d ƒ } t ˆ | d ƒ t ˆ | d ƒ g } ˆ  j t | | ƒ ƒ | d ƒ } | j ƒ  | j | |  ƒ d  S(   Niÿÿÿÿ(   R  Râ   Rÿ   s   loops.c.srcs   simd.inc.srcR  (   R4   R  R   Rì   R  R  (   R’   R“   R  R  R
  R  (   R@   R  (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt    generate_umath_templated_sources]  s    
c           sš   t  | ˆ d ƒ } t j j | ƒ } t j j | ƒ sF t j | ƒ n  ˆ } t | | ƒ r– t | d ƒ } | j ˆ  j	 ˆ  j
 ˆ  j ƒ ƒ | j ƒ  n  g  S(   Ns   __umath_generated.cR¿   (   R   R$   R%   RÂ   RÃ   RÄ   R   RÌ   RÎ   t	   make_codet   defdictRÅ   RÏ   (   R’   R“   RÕ   t   dirRô   RG   (   R¯   t   generate_umath_pyRà   (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   generate_umath_co  s    s   umathmodule.cs   reduction.cs   funcs.inc.srcs   simd.inc.srcs   loops.c.srcs   ufunc_object.cs   ufunc_type_resolution.cs   generate_ufunc_api.pys   umathmodule_onefile.ct
   scalarmaths   scalarmathmodule.c.srcs   scalarmathmodule.h.srct   blas_opti    c           s1   ˆ  r- d ˆ  j  d g  ƒ k r" d  S|  j d  Sd  S(   Nt   NO_ATLAS_INFOi   t   define_macros(   s   NO_ATLAS_INFOi   (   RŸ   R   R!  (   R’   R“   (   t	   blas_info(    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   get_dotblas_sources²  s
    t   _dotblast   blasdots
   _dotblas.cs   cblas.ht
   extra_infot   umath_testss   umath_tests.c.srct   test_rationals   test_rational.c.srct   struct_ufunc_tests   struct_ufunc_test.c.srct   multiarray_testss   multiarray_tests.c.srct   operand_flag_testss   operand_flag_tests.c.srct   testss
   tests/data((   R4   R¨   R©   t   numpy.distutils.system_infoRª   R«   t
   local_pathR   t   is_releasedRo   t   simplefiltert   MismatchCAPIWarningt   check_api_versionRî   R6   t   impt   load_moduleR¡   RÌ   R   Rì   Rï   t   add_define_macrosRÔ   RD   t   pathsR"   R#   t   add_data_dirt   add_extensionRB   R$   R%   R  t   add_installed_libraryt   add_npy_pkg_configt   add_libraryR´   R7   t   make_svn_version_py(   t   parent_packaget   top_pathR¨   R©   Rª   R«   t   nRá   Rñ   Rú   Rû   Rü   t   depsR  t   npymath_sourcest   npysort_sourcesR   t   multiarray_depst   multiarray_srcR"  R'  t	   umath_srct
   umath_depsR-  (    (	   R,  Rß   Rø   R@   R¯   R&  Rà   R  R  sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   configurationˆ  sn   		rH
$
Cÿ ÿ Ñ
	


	

		
t   __main__(   t   setupRQ  (+   t
   __future__R    R   R=  R$   R"   t   shutilR   R   Ro   t   ret   os.pathR   t   numpy.distutilsR   t   distutils.dep_utilR   t   distutils.sysconfigR   t   setup_commonR+   RŸ   R´   R
   t   objectR   R>   RØ   R'   R(   R.   R9   Rd   R   R   R   R¥   R§   R   RQ  R   t   numpy.distutils.coreRS  (    (    (    sJ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/numpy/core/setup.pyt   <module>   sB   
					E	)	%	e		ÿ ÿ f