a
XC?h� � @ s d Z ddlZddlmZ ddlmZ ddlT zddlmZ W n e yV dd� ZY n0 g d �Z
ej�d
�ddd
gZ
ej�d�dddgZdd� Zd-dd�Zd.dd�Zd/dd�Zd0dd�Zd1dd�Zd2dd�Zd3d d!�Zd4d"d#�Zd5d$d%�Zd6d&d'�Zd7d(d)�Zd*d+� Zed,k�re� dS )8z
dyld emulation
� N)�framework_info)�
dylib_info)�*)� _dyld_shared_cache_contains_pathc G s t �d S )N)�NotImplementedError)�args� r �9/opt/alt/python39/lib64/python3.9/ctypes/macholib/dyld.pyr s r )� dyld_find�framework_findr r z~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libc C s. | d u rt j} | �|�}|d u r$g S |�d�S )N�:)�os�environ�get�split)�env�varZrvalr r r �dyld_env$ s
r c C s | d u rt j} | �d�S )NZDYLD_IMAGE_SUFFIX)r
r r �r r r r �dyld_image_suffix, s r c C s
t | d�S )NZDYLD_FRAMEWORK_PATH�r r r r r �dyld_framework_path1 s r c C s
t | d�S )NZDYLD_LIBRARY_PATHr r r r r �dyld_library_path4 s r c C s
t | d�S )NZDYLD_FALLBACK_FRAMEWORK_PATHr r r r r �dyld_fallback_framework_path7 s r c C s
t | d�S )NZDYLD_FALLBACK_LIBRARY_PATHr r r r r �dyld_fallback_library_path: s r c C s( t |�}|du r| S | |fdd�}|� S )z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNc s sF | D ]<}|� d�r0|d td� � | d V n
|| V |V qd S )Nz.dylib)�endswith�len)�iterator�suffix�pathr r r �_injectB s
z)dyld_image_suffix_search.