U
    ,d                     @   sP   d dl Z d dlZd dlZdd Zdddddddd	Zd
ZdddZdddZdS )    Nc                  C   s6   t jdkrdtjddg} ndg} dd | D }|S )z
    Anaconda specific
    win32ZDLLsLibrarybinlibc                 S   s   g | ]}t jtj|qS  )ospathjoinsysprefix).0xr   r   6/tmp/pip-unpacked-wheel-eu7e0c37/numba/misc/findlib.py
<listcomp>   s     z get_lib_dirs.<locals>.<listcomp>)r
   platformr   r   r	   )dirnameslibdirsr   r   r   get_lib_dirs   s
    
r   zlib%(name)s\.so\.%(ver)s$zlib%(name)s\.a$zlib%(name)s\.%(ver)s\.dylib$z%(name)s%(ver)s\.dll$z%(name)s\.lib$)linuxZlinux2zlinux-staticdarwinr   zwin32-staticbsdz[0-9]*([_\.][0-9]+)*Fc                 C   sZ   |pt j}d|krdn|}|r(| d}|tkr4g S t| | td }t|}t||S )Nr   z-static)namever)r
   r   
DLLNAMEMAPRE_VERrecompile	find_file)Zlibnamelibdirr   Zstaticpatregexr   r   r   find_lib!   s    


r!   c                    sn   |d krt  }nt|tr"|g}nt|}g }|D ]6 t } fdd|D }|dd |D  q2|S )Nc                    s$   g | ]} |rtj |qS r   )matchr   r   r	   )r   entZldirr   r   r   r   9   s    
zfind_file.<locals>.<listcomp>c                 S   s   g | ]}t j|r|qS r   )r   r   isfile)r   cr   r   r   r   ;   s      )r   
isinstancestrlistr   listdirextend)r   r   r   filesentries
candidatesr   r$   r   r   /   s    

r   )NNF)N)r
   r   r   r   r   r   r!   r   r   r   r   r   <module>   s   

