File: //opt/alt/python27/lib64/python2.7/ctypes/util.pyo
�
T~gc           @   s�  d  d l  Z  d  d l Z d  d l Z e  j d k rQ d �  Z d �  Z d �  Z n  e  j d k rl d �  Z n  e  j d k r� e j d	 k r� d  d
 l m	 Z
 d �  Z n� e  j d k r�d  d l Z d  d l Z d  d l
 Z
 d �  Z e j d
 k r� d �  Z n	 d �  Z e j j d � s<e j j d � s<e j j d � rQd �  Z d �  Z q�e j d
 k rxd �  Z e d � Z q�d �  Z d �  Z n  d �  Z e d k r�e �  n  d S(   i����Nt   ntc          C   s�   d }  t  j j |  � } | d k r( d S| t |  � } t  j | j d d � \ } } t | d  � d } t | d d !� d	 } | d k r� d
 } n  | d k r� | | Sd 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(    (    s0   /opt/alt/python27/lib64/python2.7/ctypes/util.pyt   _get_build_version   s    	c          C   sw   t  �  }  |  d k r d S|  d k r. d } n d |  d } d d l } | j �  d d d k ro | 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   (    (    s0   /opt/alt/python27/lib64/python2.7/ctypes/util.pyt   find_msvcrt   s    		
c         C   s�   |  d k r t  �  Sx� t j d j t j � D]l } t j j | |  � } t j j | � r^ | S| j �  j	 d � ry q- n  | d } t j j | � r- | Sq- Wd  S(   Nt   ct   mt   PATHs   .dll(   R   R   (   R   t   ost   environR   t   pathsept   patht   joint   isfilet   lowert   endswithR   (   t   namet	   directoryt   fname(    (    s0   /opt/alt/python27/lib64/python2.7/ctypes/util.pyt   find_library0   s     
t   cec         C   s   |  S(   N(    (   R!   (    (    s0   /opt/alt/python27/lib64/python2.7/ctypes/util.pyR$   F   s    t   posixt   darwin(   t	   dyld_findc         C   s[   d |  d |  d |  |  f g } x3 | D]+ }  y t  |  � SWq( t k
 rR q( q( Xq( Wd  S(   Ns   lib%s.dylibs   %s.dylibs   %s.framework/%s(   t
   _dyld_findt
   ValueErrorR   (   R!   t   possible(    (    s0   /opt/alt/python27/lib64/python2.7/ctypes/util.pyR$   K   s    
c   	      C   s�   d t  j |  � } d } t j �  } zC t j | d |  | j f d t d t j �} | j	 �  \ } } Wd  y | j
 �  Wn+ t k
 r� } | j t j
 k r� �  q� n XXt  j | | � } | s� d  S| j d � S(   Ns   [^\(\)\s]*lib%s\.[^\(\)\s]*s�   if type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit; fi;LANG=C LC_ALL=C $CC -Wl,-t -o "$2" 2>&1 -l"$1"t   _findLib_gcct   shellt   stdouti    (   t   ret   escapet   tempfilet   NamedTemporaryFilet
   subprocesst   PopenR!   t   Truet   PIPEt   communicatet   closet   OSErrort   errnot   ENOENTt   searchR   t   group(	   R!   t   exprt   cmdt   tempt   proct   tracet   _t   et   res(    (    s0   /opt/alt/python27/lib64/python2.7/ctypes/util.pyR,   Z   s"