Viewing File: /opt/alt/python33/lib64/python3.3/ctypes/__pycache__/util.cpython-33.pyc

�
��f�"c@s�ddlZddlZddlZddlZejdkrfdd�Zdd�Zdd�Znejd	kr�d
d�Znejdkr�ejdkr�dd
l	m
Zdd�Zn�ejdkr�ddlZddl
Z
ddlZdd�Zejdkrdd�Zndd�Zejjd$�rWdd�Zdd�Zq�ejdkr�dd�Zd%dd�Zq�dd�Zd d�Znd!d"�Zed#kr�e�ndS(&iNuntcCs�d}tjj|�}|d
kr(dS|t|�}tj|d�jdd�\}}t|dd��d}t|dd��d}|dkr�d	}n|dkr�||SdS(u�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.
        uMSC v.iiNu iig$@ii����i����(usysuversionufindulenusplituintuNone(uprefixuiusurestumajorVersionuminorVersion((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_get_build_versions%	u_get_build_versioncCsot�}|dkrdS|dkr.d}nd|d}ddl}d|jjkrg|d7}n|d	S(
u%Return the name of the VC runtime dlliumsvcrtumsvcr%di
iNu_d.pydudu.dll(u_get_build_versionuNoneuimportlib.machineryu	machineryuEXTENSION_SUFFIXES(uversionuclibnameu	importlib((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyufind_msvcrts		
ufind_msvcrtcCs�|dkrt�Sx�tjdjtj�D]l}tjj||�}tjj|�r^|S|j�j	d�ryq-n|d}tjj|�r-|Sq-WdS(NucumuPATHu.dll(ucum(ufind_msvcrtuosuenvironusplitupathsepupathujoinuisfileuloweruendswithuNone(unameu	directoryufname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyufind_library0s 
ufind_libraryucecCs|S(N((uname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyufind_libraryFsuposixudarwin(u	dyld_findcCs\d|d|d||fg}x4|D],}yt|�SWq(tk
rSw(Yq(Xq(WdS(Nulib%s.dylibu%s.dylibu%s.framework/%s(u
_dyld_findu
ValueErroruNone(unameupossible((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyufind_libraryKs

c
Csdtj|�}tj�\}}tj|�d|d|}z3tj|�}z|j�}Wd|j�}XWdytj|�Wn=t	k
r�}z|j
t
jkr��nWYdd}~XnXX|dkr�t	d��ntj||�}	|	sdS|	jd�S(Nu[^\(\)\s]*lib%s\.[^\(\)\s]*u�if type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit 10; fi;LANG=C LC_ALL=C $CC -Wl,-t -o u 2>&1 -li
ugcc or cc command not foundi(ureuescapeutempfileumkstempuosucloseupopenureaduunlinkuOSErroruerrnouENOENTusearchuNoneugroup(
unameuexprufdoutuccoutucmdufutraceurvueures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_findLib_gccZs(
u_findLib_gccusunos5c	Csj|s
dSd|}tjtj|���}|j�}WdQXtjd|�}|s]dS|jd�S(Nu#/usr/ccs/bin/dump -Lpv 2>/dev/null u\[.*\]\sSONAME\s+([^\s]+)i(	uNoneu
contextlibuclosinguosupopenureadureusearchugroup(ufucmdudataures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_get_sonamevs
u_get_sonamecCs|s
dSd|}tj|�}|j�}|j�}|dkrVtd��ntjd|�}|srdS|jd�S(NuWif ! type objdump >/dev/null 2>&1; then exit 10; fi;objdump -p -j .dynamic 2>/dev/null i
uobjdump command not foundu\sSONAME\s+([^\s]+)i(	uNoneuosupopenureaducloseuOSErrorureusearchugroup(ufucmdudumpurvures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_get_soname�sufreebsduopenbsdu	dragonflycCsg|jd�}g}y-x&|r@|jdt|j���qWWntk
rVYnX|pftjgS(Nu.i(usplituinsertuintupopu
ValueErrorusysumaxsize(ulibnameupartsunums((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_num_version�s	$
u_num_versionc	Cs�tj|�}d||f}tjtjd���}|j�}WdQXtj||�}|sttt	|��S|j
dt�|dS(Nu:-l%s\.\S+ => \S*/(lib%s\.\S+)u/sbin/ldconfig -r 2>/dev/nullukeyii����(ureuescapeu
contextlibuclosinguosupopenureadufindallu_get_sonameu_findLib_gccusortu_num_version(unameuenameuexprufudataures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyufind_library�scCs�tjjd�sdS|r%d}nd}xKtj|�j�D]4}|j�}|jd�rA|j�d}qAqAW|s�dSxF|jd�D]5}tjj	|d|�}tjj|�r�|Sq�WdS(Nu
/usr/bin/crleu*env LC_ALL=C /usr/bin/crle -64 2>/dev/nullu&env LC_ALL=C /usr/bin/crle 2>/dev/nulluDefault Library Path (ELF):iu:ulib%s.so(
uosupathuexistsuNoneupopenu	readlinesustripu
startswithusplitujoin(unameuis64ucmdulineupathsudirulibfile((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu
_findLib_crle�s 	u
_findLib_crlecCstt||�pt|��S(N(u_get_sonameu
_findLib_crleu_findLib_gcc(unameuis64((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyufind_library�scCsHddl}|jd�dkr7tj�jd}ntj�jd}idd6dd	6dd
6dd6dd
6}|j|d�}tjdtj|�|f�}y�t	j
ddgdt	jdt	jdt	jdidd6dd6��>}tj
||jj��}|r(tj|jd��SWdQXWntk
rCYnXdS(Niuliu-32u-64ulibc6,x86-64u	x86_64-64ulibc6,64bituppc64-64u
sparc64-64us390x-64ulibc6,IA-64uia64-64ulibc6u\s+(lib%s\.[^\s]+)\s+\(%su/sbin/ldconfigu-pustdinustderrustdoutuenvuCuLC_ALLuLANGi(ustructucalcsizeuosuunameumachineugetufsencodeureuescapeu
subprocessuPopenuDEVNULLuPIPEusearchustdoutureadufsdecodeugroupuOSError(unameustructumachineumach_mapuabi_typeuregexupures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_findSoname_ldconfig�s0
			 
u_findSoname_ldconfigcCst|�ptt|��S(N(u_findSoname_ldconfigu_get_sonameu_findLib_gcc(uname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyufind_library�scCs,ddlm}tjdkrRt|j�t|jd��ttd��ntjdkr(ttd��ttd��ttd��tj	d	kr�t|j
d
��t|j
d��t|j
d��t|j
d
��q(t|j
d��t|j
d��ttd��ndS(Ni(ucdlluntumsvcrtuposixumucubz2udarwinu
libm.dylibulibcrypto.dylibulibSystem.dylibuSystem.framework/Systemulibm.soulibcrypt.soucrypt(uctypesucdlluosunameuprintumsvcrtuloadufind_libraryusysuplatformuLoadLibrary(ucdll((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyutest�s"
utestu__main__(ufreebsduopenbsdu	dragonflyF(usysuosu
contextlibu
subprocessunameu_get_build_versionufind_msvcrtufind_libraryuplatformuctypes.macholib.dyldu	dyld_findu
_dyld_findureutempfileuerrnou_findLib_gccu_get_sonameu
startswithu_num_versionu
_findLib_crleuFalseu_findSoname_ldconfigutestu__name__(((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu<module>s8$
Back to Directory File Manager