Ñò
–à"Ic           @   sŽ  d  d k  Z  d  d k Z e i d j o d „  Z d „  Z d „  Z n e i d j o d „  Z n e i d j o- e  i d	 j o d  d
 k l Z	 d „  Z nÉ e i d j o¸ d  d k
 Z
 d  d k Z d  d k Z d „  Z e  i d j o d „  Z n
 d „  Z e  i i d ƒ p& e  i i d ƒ p e  i i d ƒ o d „  Z d „  Z qid „  Z d „  Z n d „  Z e d j o e ƒ  n d S(   iÿÿÿÿNt   ntc          C   sµ   d }  t  i i |  ƒ } | d j o d S| t |  ƒ } t  i | i d d ƒ \ } } t | d  ƒ d } t | d d !ƒ d	 } | d j o
 d
 } n | d j o	 | | Sd S(   sÏ   Return the version of MSVC that was used to build Python.

        For Python 2.3 and up, the version number is included in
        sys.version.  For earlier versions, assume the compiler is MSVC 6.
        s   MSC v.iÿÿÿÿi   t    i   iþÿÿÿi   i   g      $@i    N(   t   syst   versiont   findt   lent   splitt   intt   None(   t   prefixt   it   st   restt   majorVersiont   minorVersion(    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   _get_build_version	   s    
	c          C   s}   t  ƒ  }  |  d j o d S|  d j o
 d } n d |  d } d d k } | i ƒ  d d d j o | d	 7} n | d
 S(   s%   Return the name of the VC runtime dlli   t   msvcrts   msvcr%di
   iÿÿÿÿNi    s   _d.pydt   ds   .dll(   R   R   t   impt   get_suffixes(   R   t   clibnameR   (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   find_msvcrt    s    	
c         C   s©   |  d j o t  ƒ  Sx t i d i t i ƒ D]r } t i i | |  ƒ } t i i | ƒ o | S| i ƒ  i	 d ƒ o q/ n | d } t i i | ƒ o | Sq/ Wd  S(   Nt   ct   mt   PATHs   .dll(   R   R   (   R   t   ost   environR   t   pathsept   patht   joint   existst   lowert   endswithR   (   t   namet	   directoryt   fname(    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   find_library1   s     
	t   cec         C   s   |  S(   N(    (   R!   (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyR$   G   s    t   posixt   darwin(   t	   dyld_findc         C   s]   d |  d |  d |  |  f g } x5 | D]- }  y t  |  ƒ SWq( t j
 o
 q( q( Xq( Wd  S(   Ns   lib%s.dylibs   %s.dylibs   %s.framework/%s(   t
   _dyld_findt
   ValueErrorR   (   R!   t   possible(    (    s(   /mit/python/lib/python2.6/ctypes/util.pyR$   L   s     c   	   	   C   sß   d t  i |  ƒ } t i ƒ  \ } } t i | ƒ d | d |  } z) t i | ƒ } | i ƒ  } | i ƒ  Wd  y t i | ƒ Wn/ t	 j
 o# } | i
 t
 i j o ‚  q³ n XXt  i | | ƒ } | p d  S| i d ƒ S(   Ns   [^\(\)\s]*lib%s\.[^\(\)\s]*sG   if type gcc >/dev/null 2>&1; then CC=gcc; else CC=cc; fi;$CC -Wl,-t -o s    2>&1 -li    (   t   ret   escapet   tempfilet   mkstempR   t   closet   popent   readt   unlinkt   OSErrort   errnot   ENOENTt   searchR   t   group(	   R!   t   exprt   fdoutt   ccoutt   cmdt   ft   tracet   et   res(    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   _findLib_gcc[   s"    t   sunos5c         C   sP   |  p d  Sd |  } t i d t i | ƒ i ƒ  ƒ } | p d  S| i d ƒ S(   Ns#   /usr/ccs/bin/dump -Lpv 2>/dev/null s   \[.*\]\sSONAME\s+([^\s]+)i   (   R   R,   R7   R   R1   R2   R8   (   R=   R<   R@   (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   _get_sonames   s    
!c         C   sP   |  p d  Sd |  } t i d t i | ƒ i ƒ  ƒ } | p d  S| i d ƒ S(   Ns#   objdump -p -j .dynamic 2>/dev/null s   \sSONAME\s+([^\s]+)i   (   R   R,   R7   R   R1   R2   R8   (   R=   R<   R@   (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyRC   |   s    
!t   freebsdt   openbsdt	   dragonflyc         C   sk   |  i  d ƒ } g  } y/ x( | o  | i d t | i ƒ  ƒ ƒ q WWn t j
 o n X| p
 t i g S(   Nt   .i    (   R   t   insertR   t   popR*   R   t   maxint(   t   libnamet   partst   nums(    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   _num_versionŠ   s     %c         C   ss   t  i |  ƒ } d | | f } t  i | t i d ƒ i ƒ  ƒ } | p t t |  ƒ ƒ S| i d d „  ƒ | d S(   Ns   :-l%s\.\S+ => \S*/(lib%s\.\S+)s   /sbin/ldconfig -r 2>/dev/nullt   cmpc         S   s   t  t |  ƒ t | ƒ ƒ S(    (   RO   RN   (   t   xt   y(    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   <lambda>œ   s    iÿÿÿÿ(	   R,   R-   t   findallR   R1   R2   RC   RA   t   sort(   R!   t   enameR9   R@   (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyR$   •   s    	c         C   s†   d t  i |  ƒ } t  i | t i d ƒ i ƒ  ƒ } | p> d t i } t  i | t i | ƒ i ƒ  ƒ } | p d  Sn | i	 d ƒ S(   Ns   /[^\(\)\s]*lib%s\.[^\(\)\s]*s   /sbin/ldconfig -p 2>/dev/nulls   ldd %s 2>/dev/nulli    (
   R,   R-   R7   R   R1   R2   R   t
   executableR   R8   (   R!   R9   R@   R<   (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   _findLib_ldconfig¡   s    	!	c         C   s   t  t |  ƒ p
 t |  ƒ ƒ S(   N(   RC   RW   RA   (   R!   (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyR$   ®   s    c          C   sñ   d d k  l }  t i d j o% |  i GH|  i d ƒ GHt d ƒ GHn t i d j o˜ t d ƒ GHt d ƒ GHt d ƒ GHt i d	 j o< |  i	 d
 ƒ GH|  i	 d ƒ GH|  i	 d ƒ GH|  i	 d ƒ GHqí |  i	 d ƒ GH|  i	 d ƒ GHt d ƒ GHn d  S(   Niÿÿÿÿ(   t   cdllR    R   R&   R   R   t   bz2R'   s
   libm.dylibs   libcrypto.dylibs   libSystem.dylibs   System.framework/Systems   libm.sos   libcrypt.sot   crypt(
   t   ctypesRX   R   R!   R   t   loadR$   R   t   platformt   LoadLibrary(   RX   (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   test´   s"    t   __main__(   R   R   R!   R   R   R$   R]   t   ctypes.macholib.dyldR(   R)   R,   R.   R5   RA   RC   t
   startswithRN   RW   R_   t   __name__(    (    (    s(   /mit/python/lib/python2.6/ctypes/util.pyt   <module>   s2   		 $			
			