Spade

Mini Shell

Directory:~$ /proc/self/root/usr/lib64/python2.7/ctypes/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //proc/self/root/usr/lib64/python2.7/ctypes/util.pyo

�
s�fc@s�ddlZddlZejdkrEd�Zd�Zd�Znejdkr`d�Znejdkr�ejd	kr�dd
lmZ	d�Zn�ejdkr�ddl
Z
ddlZddlZd�Z
ejd
kr�d�Zn	d�Zejjd�s0ejjd�s0ejjd�rEd�Zd�Zq�ejd
krld�Zed�Zq�d�Zd�Znd�Zedkr�e�ndS(i����NtntcCs�d}tjj|�}|dkr(dS|t|�}tj|jdd�\}}t|d
�d}t|dd!�d	}|dkr�d
}n|dkr�||SdS(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.
        sMSC v.i����it
ii����iig$@iN(tsystversiontfindtlentsplittinttNone(tprefixtitstresttmajorVersiontminorVersion((s#/usr/lib64/python2.7/ctypes/util.pyt_get_build_version	s	cCswt�}|dkrdS|dkr.d}nd|d}ddl}|j�dddkro|d	7}n|d
S(s%Return the name of the VC runtime dllitmsvcrtsmsvcr%di
i����Nis_d.pydtds.dll(RRtimptget_suffixes(RtclibnameR((s#/usr/lib64/python2.7/ctypes/util.pytfind_msvcrt
s		
cCs�|dkrt�Sx�tjdjtj�D]l}tjj||�}tjj|�r^|S|j�j	d�ryq-n|d}tjj|�r-|Sq-WdS(NtctmtPATHs.dll(RR(RtostenvironRtpathseptpathtjointisfiletlowertendswithR(tnamet	directorytfname((s#/usr/lib64/python2.7/ctypes/util.pytfind_library1s

tcecCs|S(N((R!((s#/usr/lib64/python2.7/ctypes/util.pyR$Gstposixtdarwin(t	dyld_findcCs[d|d|d||fg}x3|D]+}yt|�SWq(tk
rRq(q(Xq(WdS(Nslib%s.dylibs%s.dylibs%s.framework/%s(t
_dyld_findt
ValueErrorR(R!tpossible((s#/usr/lib64/python2.7/ctypes/util.pyR$Ls

c
Cs�dtj|�}tj�\}}tj|�d|d|}z3tj|�}z|j�}Wd|j�}XWdytj|�Wn+t	k
r�}|j
t
jkr��q�nXX|dkr�t	d�ntj||�}	|	s�dS|	jd�S(Ns[^\(\)\s]*lib%s\.[^\(\)\s]*srif
type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null
2>&1; then CC=cc;else exit 10; fi;$CC -Wl,-t -o s 2>&1 -li
sgcc or cc command not
foundi(tretescapettempfiletmkstempRtclosetpopentreadtunlinktOSErrorterrnotENOENTtsearchRtgroup(
R!texprtfdouttccouttcmdtfttracetrvtetres((s#/usr/lib64/python2.7/ctypes/util.pyt_findLib_gcc[s(
tsunos5cCsj|s
dSd|}tj|�}z|j�}Wd|j�Xtjd|�}|s]dS|jd�S(Ns#/usr/ccs/bin/dump
-Lpv 2>/dev/null
s\[.*\]\sSONAME\s+([^\s]+)i(RRR1R2R0R,R7R8(R=R<tdataRA((s#/usr/lib64/python2.7/ctypes/util.pyt_get_sonamews
cCs�|s
dSd|}tj|�}|j�}|j�}|dkrWtjj|�Stj|�}z|j�}Wd|j�Xtjd|�}|s�dS|j	d�S(NsWif
! type objdump >/dev/null 2>&1; then exit 10; fi;objdump -p -j
.dynamic 2>/dev/null i
s\sSONAME\s+([^\s]+)i(
RRR1R2R0RtbasenameR,R7R8(R=R<tdumpR?RDRA((s#/usr/lib64/python2.7/ctypes/util.pyRE�s"tfreebsdtopenbsdt	dragonflycCsf|jd�}g}y-x&|r@|jdt|j���qWWntk
rUnX|petjgS(Nt.i(RtinsertRtpopR*Rtmaxint(tlibnametpartstnums((s#/usr/lib64/python2.7/ctypes/util.pyt_num_version�s	$
cCs�tj|�}d||f}tjd�}z|j�}Wd|j�Xtj||�}|sttt|��S|j	dd��|dS(Ns:-l%s\.\S+
=> \S*/(lib%s\.\S+)s/sbin/ldconfig -r
2>/dev/nulltcmpcSstt|�t|��S(N(RSRR(txty((s#/usr/lib64/python2.7/ctypes/util.pyt<lambda>�si����(
R,R-RR1R2R0tfindallRERBtsort(R!tenameR9R=RDRA((s#/usr/lib64/python2.7/ctypes/util.pyR$�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(Ns
/usr/bin/crles*env
LC_ALL=C /usr/bin/crle -64 2>/dev/nulls&env LC_ALL=C /usr/bin/crle
2>/dev/nullsDefault Library Path (ELF):it:slib%s.so(
RRtexistsRR1t	readlineststript
startswithRR(R!tis64R<tlinetpathstdirtlibfile((s#/usr/lib64/python2.7/ctypes/util.pyt
_findLib_crle�s
	cCstt||�pt|��S(N(RERdRB(R!R_((s#/usr/lib64/python2.7/ctypes/util.pyR$�sc	Cs�ddl}|jd�dkr8tj�dd}ntj�dd}idd6dd	6dd
6dd6dd
6}|j|d�}dtj|�|f}tjd�}z|j�}Wd|j	�Xtj
||�}|s�dS|jd�S(Ni����tlis-32s-64slibc6,x86-64s	x86_64-64slibc6,64bitsppc64-64s
sparc64-64ss390x-64slibc6,IA-64sia64-64tlibc6s\s+(lib%s\.[^\s]+)\s+\(%ss/sbin/ldconfig
-p
2>/dev/nulli(
tstructtcalcsizeRtunametgetR,R-R1R2R0R7RR8(	R!Rgtmachinetmach_maptabi_typeR9R=RDRA((s#/usr/lib64/python2.7/ctypes/util.pyt_findSoname_ldconfig�s(
cCst|�ptt|��S(N(RnRERB(R!((s#/usr/lib64/python2.7/ctypes/util.pyR$�scCs�ddlm}tjdkrC|jGH|jd�GHtd�GHntjdkr�td�GHtd�GHtd�GHtjd	kr�|j	d
�GH|j	d�GH|j	d�GH|j	d
�GHq�|j	d�GH|j	d�GHtd�GHndS(Ni����(tcdllRRR&RRtbz2R's
libm.dylibslibcrypto.dylibslibSystem.dylibsSystem.framework/Systemslibm.soslibcrypt.sotcrypt(
tctypesRoRR!RtloadR$RtplatformtLoadLibrary(Ro((s#/usr/lib64/python2.7/ctypes/util.pyttest�s"t__main__(RRR!RRR$Rttctypes.macholib.dyldR(R)R,R.R5RBRER^RRRdtFalseRnRvt__name__(((s#/usr/lib64/python2.7/ctypes/util.pyt<module>s8		$