Your IP : 18.226.17.99


Current Path : /lib64/python2.7/
Upload File :
Current File : //lib64/python2.7/sysconfig.pyo

�
�mec@sdZddlZddlZddlmZmZiidd6dd6dd	6d
d6dd
6dd6dd6dd6d6idd6dd6dd	6dd6dd
6dd6dd6dd6d6idd6dd6dd	6dd6dd
6dd6dd6dd6d6idd6dd6dd	6dd6dd
6dd6dd6dd6d6idd6dd6d d	6d d6d!d
6d"d6d#d6d$6id%d6d%d6d&d	6d&d6d'd
6d(d6d#d6d)6id*d6d*d6d d	6d+d6d!d
6d"d6d#d6d,6id-d6d-d6d.d	6d.d6d/d
6d"d6d#d6d06ZdWZejj	�d1Z
ejd2 Ze
d1e
d3Zej
jej�Zej
jej�ZdadZd4�Zejr�ej
jeej��Zneej��Zejdkr	d5ed6j�kr	eej
jee��ZnejdkrOd7ed8j�krOeej
jeee��Znejdkr�d9ed:j�kr�eej
jeee��Znd;ejkr�ej
jej
jd<��Znd=�Z e �Z!e!r
x-dXD]"Z"d>ee"d
<d?ee"d<q�Wnd@�Z#dA�Z$dB�Z%dC�Z&dD�Z'ddE�Z(dF�Z)dG�Z*dH�Z+dI�Z,ddJ�Z-dK�Z.dL�Z/dM�Z0e&�de1dN�Z2e&�de1dO�Z3dP�Z4dQ�Z5dR�Z6dS�Z7dT�Z8dU�Z9e:dVkre9�ndS(Ys7Provide access to Python's configuration information.

i����N(tpardirtrealpaths%{base}/lib64/python{py_version_short}tstdlibs){platbase}/lib64/python{py_version_short}t
platstdlibs1{base}/lib/python{py_version_short}/site-packagestpurelibs7{platbase}/lib64/python{py_version_short}/site-packagestplatlibs'{base}/include/python{py_version_short}tincludes+{platbase}/include/python{py_version_short}tplatincludes
{base}/bintscriptss{base}tdatatposix_prefixs{base}/lib64/pythons{base}/lib/pythons{base}/include/pythont
posix_homes
{base}/Libs{base}/Lib/site-packagess{base}/Includes{base}/Scriptstnttos2s'{userbase}/lib/python{py_version_short}s5{userbase}/lib/python{py_version_short}/site-packagess+{userbase}/include/python{py_version_short}s{userbase}/bins
{userbase}tos2_homes#{userbase}/Python{py_version_nodot}s1{userbase}/Python{py_version_nodot}/site-packagess+{userbase}/Python{py_version_nodot}/Includes{userbase}/Scriptstnt_users){userbase}/lib64/python{py_version_short}s7{userbase}/lib64/python{py_version_short}/site-packagest
posix_users{userbase}/lib/pythons#{userbase}/lib/python/site-packagess{userbase}/includetosx_framework_useriiicCs'yt|�SWntk
r"|SXdS(N(RtOSError(tpath((s!/usr/lib64/python2.7/sysconfig.pyt_safe_realpathas
tpcbuildi����s\pc\vi����s\pcbuild\amd64i�t_PYTHON_PROJECT_BASEt.cCs=x6dD].}tjjtjjtd|��rtSqWtS(Ns
Setup.distsSetup.localtModules(s
Setup.distsSetup.local(tosRtisfiletjoint
_PROJECT_BASEtTruetFalse(tfn((s!/usr/lib64/python2.7/sysconfig.pytis_python_build{s
$s{projectbase}/Includes{srcdir}cCscy|j|�SWnKtk
r^y|jtj�SWq_tk
rZ}td|��q_XnXdS(Ns{%s}(tformattKeyErrorRtenvirontAttributeError(tst
local_varstvar((s!/usr/lib64/python2.7/sysconfig.pyt_subst_vars�s
cCsI|j�}x6|j�D](\}}||kr7qn|||<qWdS(N(tkeystitems(ttarget_dictt
other_dictttarget_keystkeytvalue((s!/usr/lib64/python2.7/sysconfig.pyt_extend_dict�s
cCs�i}|dkri}nt|t��xat|j�D]O\}}tjdkrltjj|�}ntjj	t
||��||<q<W|S(NtposixR(sposixsnt(tNoneR0tget_config_varst_INSTALL_SCHEMESR*RtnameRt
expandusertnormpathR((tschemetvarstresR.R/((s!/usr/lib64/python2.7/sysconfig.pyt_expand_vars�s	#cCstjdkrdStjS(NR1R
(RR5(((s!/usr/lib64/python2.7/sysconfig.pyt_get_default_scheme�scCs�tjjdd�}d�}tjdkr\tjjd�pBd}|rO|S||d�Stjdkr�td�}|r�|r�|S|dd	|d
tjd �Sn|r�|S|dd�S(
NtPYTHONUSERBASEcWstjjtjj|��S(N(RRR6R(targs((s!/usr/lib64/python2.7/sysconfig.pytjoinuser�sRtAPPDATAt~tPythontdarwintPYTHONFRAMEWORKtLibrarys%d.%dis.local(	RR#tgetR2R5tsystplatformtget_config_vartversion_info(tenv_baseR?tbaset	framework((s!/usr/lib64/python2.7/sysconfig.pyt_getuserbase�s	
cCsddl}|jd�}|jd�}|jd�}|dkrNi}ni}i}t|��}|j�}	WdQXx�|	D]�}
|
jd�s�|
j�dkr�q�n|j|
�}|r�|jdd	�\}}
|
j�}
|
j	d
d�}d|kr|
||<qZyt
|
�}
Wn'tk
rL|
j	d
d�||<qZX|
||<q�q�Wx^|r�xQ|j�D]C}||}|j
|�p�|j
|�}|r�|jd�}t}||kr�t||�}nB||kr�t}n-|tjkrtj|}nd||<}|r�||j�}||j� ||}d|kre|||<q�yt
|�}Wn!tk
r�|j�||<nX|||<||=q�qt||=qtWqaWx<|j�D].\}}
t|
t�r�|
j�||<q�q�W|j|�|S(s�Parse a Makefile-style file.

    A dictionary containing name/value pairs is returned.  If an
    optional dictionary is passed in as the second argument, it is
    used instead of a new dictionary.
    i����Ns"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)s\$\(([A-Za-z][A-Za-z0-9_]*)\)s\${([A-Za-z][A-Za-z0-9_]*)}t#tiis$$t$(tretcompileR2topent	readlinest
startswithtstriptmatchtgrouptreplacetintt
ValueErrorR)tsearchRtstrRRR#tendtstartR*t
isinstancetupdate(tfilenameR9RRt_variable_rxt_findvar1_rxt_findvar2_rxtdonetnotdonetftlinestlinetmtntvttmpvR5R/tfoundtitemtaftertk((s!/usr/lib64/python2.7/sysconfig.pyt_parse_makefile�sp	
!

	
	




cCs5trtjjtd�Stjjtd�dd�S(NtMakefileRtconfig(t
_PYTHON_BUILDRRRRtget_path(((s!/usr/lib64/python2.7/sysconfig.pyt_get_makefile_filenamesc	Cs;ddl}i}t�}yt||�WnLtk
rz}d|}t|d�rk|d|j}nt|��nXt�}y&t|��}t||�WdQXWnLtk
r�}d|}t|d�r�|d|j}nt|��nXt	r|d|d<nd}d	t
jkrYddl}|j
|�}	||	_|	t
j|<nd
t�t
jd f}
tt
d�r�|
d
7}
nytj|
�Wntk
r�nXtjj|
|d�}t|d��4}|jd�|jd�|j|d|�WdQXtdd��}|j|
�WdQXdS(s;Generate the Python module containing build-time variables.i����Ns.invalid Python installation: unable to open %ststrerrors (%s)t	BLDSHAREDtLDSHAREDt_sysconfigdataRCsbuild/lib.%s-%sitgettotalrefcounts-pydebugs.pytwbsB# system configuration generated and used by the sysconfig module
sbuild_time_vars = tstreamspybuilddir.txttw(tpprintRyRttIOErrorthasattrRztget_config_h_filenameRTtparse_config_hRwRGRHtimpt
new_moduletbuild_time_varstmodulestget_platformtversionRtmakedirsRRRtwrite(R�R9tmakefiletetmsgtconfig_hRiR5R�tmodulet
pybuilddirtdestfile((s!/usr/lib64/python2.7/sysconfig.pyt_generate_posix_varssR	
	

	



cCs!ddlm}|j|�dS(s7Initialize the module as appropriate for POSIX systems.i����(R�N(R}R�Rb(R9R�((s!/usr/lib64/python2.7/sysconfig.pyt_init_posix]scCsqtd�|d<td�|d<td�|d<d|d<d	|d
<t|d<tjjttj��|d<d
S(s+Initialize the module as appropriate for NTRtLIBDESTRt
BINLIBDESTRt	INCLUDEPYs.pydtSOs.exetEXEtVERSIONtBINDIRN(Rxt_PY_VERSION_SHORT_NO_DOTRRtdirnameRRGt
executable(R9((s!/usr/lib64/python2.7/sysconfig.pyt_init_non_posixcs


c	Cs�ddl}|dkr!i}n|jd�}|jd�}x�tr�|j�}|s^Pn|j|�}|r�|jdd�\}}yt|�}Wntk
r�nX|||<qB|j|�}|rBd||jd�<qBqBW|S(s�Parse a config.h-style file.

    A dictionary containing name/value pairs is returned.  If an
    optional dictionary is passed in as the second argument, it is
    used instead of a new dictionary.
    i����Ns"#define ([A-Z][A-Za-z0-9_]+) (.*)
s&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/
iii(	RRR2RSRtreadlineRXRYR[R\(	tfpR9RRt	define_rxtundef_rxRkRlRmRn((s!/usr/lib64/python2.7/sysconfig.pyR�ss*		

cCsUtr6tjdkr-tjjtd�}qBt}ntd�}tjj|d�S(sReturns the path of pyconfig.h.RtPCRs
pyconfig-64.h(RwRR5RRRRx(tinc_dir((s!/usr/lib64/python2.7/sysconfig.pyR��s	cCs tj�}|j�t|�S(s-Returns a tuple containing the schemes names.(R4R)tsortttuple(tschemes((s!/usr/lib64/python2.7/sysconfig.pytget_scheme_names�s
cCstS(s+Returns a tuple containing the paths names.(t_SCHEME_KEYS(((s!/usr/lib64/python2.7/sysconfig.pytget_path_names�scCs|rt||�St|SdS(s�Returns a mapping containing an install scheme.

    ``scheme`` is the install scheme name. If not provided, it will
    return the default scheme for the current platform.
    N(R;R4(R8R9texpand((s!/usr/lib64/python2.7/sysconfig.pyt	get_paths�s
cCst|||�|S(s\Returns a path corresponding to the scheme.

    ``scheme`` is the install scheme name.
    (R�(R5R8R9R�((s!/usr/lib64/python2.7/sysconfig.pyRx�scGs�ddl}tdkr�iattd<ttd<ttd<ttd<tdtdtd	<ttd
<ttd<ttd<tj	dkr�t
t�ntj	dkr�tt�nt�td<dtkr�ttd<nt
rutj	dkrut}ytj�}Wntk
rd}nXtjjtd�ru||krutjj|td�}tjj|�td<quntjdkr�ddl}|jt�q�n|r�g}x$|D]}|jtj|��q�W|StSdS(syWith no arguments, return a dictionary of all configuration
    variables relevant for the current platform.

    On Unix, this means every variable defined in Python's installed Makefile;
    On Windows and Mac OS it's a much smaller set.

    With arguments, return a list of values that result from looking up
    each argument in the configuration variable dictionary.
    i����Ntprefixtexec_prefixt
py_versiontpy_version_shortiitpy_version_nodotRLtplatbasetprojectbaseRR
R1tuserbasetsrcdirRC(sntsos2(RRt_CONFIG_VARSR2t_PREFIXt_EXEC_PREFIXt_PY_VERSIONt_PY_VERSION_SHORTRRR5R�R�RNRwtgetcwdRRtisabsRR7RGRHt_osx_supporttcustomize_config_varstappendRF(R>RRRLtcwdR�R�tvalsR5((s!/usr/lib64/python2.7/sysconfig.pyR3�sJ














cCst�j|�S(s�Return the value of a single variable using the dictionary returned by
    'get_config_vars()'.

    Equivalent to get_config_vars().get(name)
    (R3RF(R5((s!/usr/lib64/python2.7/sysconfig.pyRI�scCs�ddl}tjdkr�d}tjj|�}|dkrFtjStjjd|�}tj|t|�|!j�}|dkr�dS|dkr�d	StjSd
tj	kr�tj	d
Stjdks�t
td�r�tjStj�\}}}}}	|j�jd
d�}|	jdd�}	|	jd
d�}	|d dkrWd||	fS|d dkr�|ddkr�d}dt
|d�d|df}idd6dd6}
|	d |
tj7}	q�n�|d! d"kr�d||fS|d d#kr
d$|||fS|d% d&krYd&}|jd'�}|j|�}|r�|j�}q�nC|d% d(kr�ddl}
|
jt�|||	�\}}}	nd)|||	fS(*s�Return a string that identifies the current platform.

    This is used mainly to distinguish platform-specific build directories and
    platform-specific built distributions.  Typically includes the OS name
    and version and the architecture (as supplied by 'os.uname()'),
    although the exact information included depends on the OS; eg. for IRIX
    the architecture isn't particularly important (IRIX only runs on SGI
    hardware), but for Linux the kernel version isn't particularly
    important.

    Examples of returned values:
       linux-i586
       linux-alpha (?)
       solaris-2.6-sun4u
       irix-5.3
       irix64-6.2

    Windows will return one of:
       win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
       win-ia64 (64bit Windows on Itanium)
       win32 (all others - specifically, sys.platform is returned)

    For other non-POSIX platforms, currently just returns 'sys.platform'.
    i����NRs bit (t)tamd64s	win-amd64titaniumswin-ia64t_PYTHON_HOST_PLATFORMR1tunamet/RPt t_t-itlinuxs%s-%stsunosit5tsolariss%d.%siit32biti���t64bitI�������s.%sitirixtaixs%s-%s.%sitcygwins[\d.]+RCs%s-%s-%s(RRRR5RGR�tfindRHtlentlowerR#R�R�RZR[tmaxintRSRXRYR�tget_platform_osxR3(RRR�titjtlooktosnamethosttreleaseR�tmachinetbitnesstrel_reRlR�((s!/usr/lib64/python2.7/sysconfig.pyR�sZ "cCstS(N(R�(((s!/usr/lib64/python2.7/sysconfig.pytget_python_versionbscCsZxStt|j���D]9\}\}}|dkrCd|GHnd||fGHqWdS(Nis%s: s
	%s = "%s"(t	enumeratetsortedR*(ttitleR	tindexR.R/((s!/usr/lib64/python2.7/sysconfig.pyt_print_dictfs+cCsddtjkrt�dSdt�GHdt�GHdt�GHHtdt��Htdt��dS(s*Display all information sysconfig detains.s--generate-posix-varsNsPlatform: "%s"sPython version: "%s"s!Current installation scheme: "%s"tPathst	Variables(	RGtargvR�R�R�R<R�R�R3(((s!/usr/lib64/python2.7/sysconfig.pyt_mainmst__main__(sstdlibs
platstdlibspurelibsplatlibsincludesscriptssdata(sposix_prefixs
posix_home(;t__doc__RGRtos.pathRRR4R�R�tsplitR�R�R�RR7R�R�R�R�R2R�t
_USER_BASERR�R�RR�R5R�RR#tabspathR RwR8R(R0R;R<RNRtRyR�R�R�R�R�R�R�RR�RxR3RIR�R�R�R�t__name__(((s!/usr/lib64/python2.7/sysconfig.pyt<module>s�
		%%!%!!		
						V		D						G		\