o
0i @ s d Z ddlZddlmZ ddlmZ ddlT zddlmZ W n
e y+ dd ZY nw g d Z
ejd
ddd
gZ
ejddddgZdd Zd-ddZd-ddZd-ddZd-ddZd-ddZd-ddZd-d d!Zd-d"d#Zd-d$d%Zd.d&d'Zd.d(d)Zd*d+ Zed,kre dS dS )/z
dyld emulation
N)framework_info)
dylib_info)*) _dyld_shared_cache_contains_pathc G s t N)NotImplementedError)args r ;/opt/alt/python310/lib64/python3.10/ctypes/macholib/dyld.pyr s r ) dyld_findframework_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 rg S |dS )N:)osenvirongetsplit)envvarZrvalr r r
dyld_env$ s
r c C s | d u rt j} | dS )NZDYLD_IMAGE_SUFFIX)r r r r r r r
dyld_image_suffix, s
r c C
t | dS )NZDYLD_FRAMEWORK_PATHr r r r r
dyld_framework_path1
r c C r )NZDYLD_LIBRARY_PATHr r r r r
dyld_library_path4 r r c C r )NZDYLD_FALLBACK_FRAMEWORK_PATHr r r r r
dyld_fallback_framework_path7 r r c C r )NZDYLD_FALLBACK_LIBRARY_PATHr r r r r
dyld_fallback_library_path: r r c C s( t |}|du r
| S | |fdd}| S )z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNc s sH | D ]}| dr|d td | d V n|| V |V qd S )Nz.dylib)endswithlen)iteratorsuffixpathr r r
_injectB s
z)dyld_image_suffix_search.