HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python2.7/distutils/sysconfig.pyc
�
;;Wgc@s�dZdZddlZddlZddlZddlZddlZddlmZej	j
ej�Zej	j
ej
�Zejr�ej	jej	jej��Znej�Zejdkr
dedj�kr
ej	jej	jeej	j��Znejdkrbded	j�krbej	jej	jeej	jej	j��Znejdkr�d
edj�kr�ej	jej	jeej	jej	j��Zndejkr�ej	j
ejd�Znd
�Ze�Zd�Zddd�Zdddd�Zd�Zd�Z d�Z!dd�Z"ej#d�Z$ej#d�Z%ej#d�Z&dd�Z'd�Z(da)d�Z*d�Z+d�Z,d�Z-d�Z.dS( s�Provide access to Python's configuration information.  The specific
configuration variables available depend heavily on the platform and
configuration.  The values may be retrieved using
get_config_var(name), and the list of variables is available via
get_config_vars().keys().  Additional convenience functions are also
available.

Written by:   Fred L. Drake, Jr.
Email:        <fdrake@acm.org>
s$Id$i����N(tDistutilsPlatformErrortnttpcbuildi����s\pc\vi����s\pcbuild\amd64i�t_PYTHON_PROJECT_BASEcCs=x6dD].}tjjtjjtd|��rtSqWtS(Ns
Setup.distsSetup.localtModules(s
Setup.distsSetup.local(tostpathtisfiletjointproject_basetTruetFalse(tfn((s)/usr/lib/python2.7/distutils/sysconfig.pyt
_python_build8s
$cCstjd S(s�Return a string containing the major and minor Python version,
    leaving off the patchlevel.  Sample return values could be '1.5'
    or '2.2'.
    i(tsystversion(((s)/usr/lib/python2.7/distutils/sysconfig.pytget_python_version@sicCsEtjdkr�tr�tjr6tjjtj�}ntj�}|rQ|}n<tjjtjj	|t
d���}tjj	|d�}|S|d
k	r�tjj	|ddt��tj
r�dp�dS|r�t
d�St
d	�SnWtjd
krtjj	|d�Stjdkr.tjj	|d�Stdtj��d
S(s�Return the directory containing installed Python header files.

    If 'plat_specific' is false (the default), this is the path to the
    non-platform-specific header files, i.e. Python.h and so on;
    otherwise, this is the path to platform-specific header files
    (namely pyconfig.h).

    If 'prefix' is supplied, use it instead of sys.prefix or
    sys.exec_prefix -- i.e., ignore 'plat_specific'.
    tposixtsrcdirtIncludetincludetpythont_dtt
CONFINCLUDEPYt	INCLUDEPYRtos2sFI don't know where Python installs its C header files on platform '%s'N(Rtnametpython_buildRt
executableRtdirnametgetcwdtabspathRtget_config_vartNoneRtpydebugR(t
plat_specifictprefixtbuildirtinc_dirR((s)/usr/lib/python2.7/distutils/sysconfig.pytget_python_incHs0		!

cCsq|ptjj|�dk}|dkr@|r7tp:t}ntjdkr�tjj|ddt��}|rx|S|r�dtj	kr�dt
jkr�tjj|d�Stjj|d	�Sn�tjd
kr|r�tjj|d�St�dkr|Stjj|dd	�SnTtjd
krZ|rAtjj|d�Stjj|dd	�Sntdtj��dS(sIReturn the directory containing the Python library (standard or
    site additions).

    If 'plat_specific' is true, return the directory containing
    platform-specific modules, i.e. any module from a non-pure-Python
    module distribution; otherwise, return the platform-shared library
    directory.  If 'standard_lib' is true, return the directory
    containing standard Python library modules; otherwise, return the
    directory for site-specific modules.

    If 'prefix' is supplied, use it instead of sys.prefix or
    sys.exec_prefix -- i.e., ignore 'plat_specific'.
    s/usrs
/usr/localRtlibRtPYTHONUSERBASEtreal_prefixs
dist-packagess
site-packagesRtLibs2.2Rs?I don't know where Python installs its library on platform '%s'N(s/usrs
/usr/local(
RRtnormpathR"tEXEC_PREFIXtPREFIXRRRtenvironRt__dict__R(R$tstandard_libR%tis_default_prefixt	libpython((s)/usr/lib/python2.7/distutils/sysconfig.pytget_python_libxs0$cCs�|jdkr�tjdkrStd�sSddl}|jt�dtd<qSndtjk}|r�t	dd	d
ddd
dddddddd�\}}}}}}}	}
}}}
}}}nWt	dd	d
dddddddddd�
\
}}}}}}	}
}}}
}}}dtjkr�tjd}tjdkrdtjkr|
j
|�r||
t|�}
n|}nd	tjkr�tjd	}ntj
||gd�r�|jdd�}|
jdd�}
|jdd�}ndtjkrtjd}
ndtjkr6tjd}n
|d}dtjkrg|
dtjd}
n|r~|
d|}
ndtjkr�tjd}nd
tjkr�djd�|tjd
|fD��}|
dtjd
}
n�|rmdGHdGHd GH|r5d!GHdjd"�||||fD��}n'd#GHdjd$�|||fD��}|
d|}
nd%tjkr�|dtjd%}|dtjd%}|
dtjd%}
n3|r�|d|}|d|}|
d|}
ndtjkrtjd}ndtjkr7|dtjd}n|d|
}|d|}|jd&|d'|d(|d|	d)|d*|
d|	d+|d,|�||_ndS(-s�Do any platform-specific customization of a CCompiler instance.

    Mainly needed on Unix, so we can plug in the information that
    varies across Unices and is stored in Python's Makefile.
    tunixtdarwintCUSTOMIZED_OSX_COMPILERi����NR
t(APPLY_LP2002043_UBUNTU_CFLAGS_WORKAROUNDtCCtCXXtCFLAGStEXTRA_CFLAGSt
BASECFLAGStOPTtCCSHAREDtLDSHAREDtSOtARtARFLAGStCONFIGURE_CPPFLAGStCONFIGURE_CFLAGStCONFIGURE_LDFLAGSs	*-4.[0-8]s-fstack-protector-strongs-fstack-protectortCPPs -EtLDFLAGSt css!|]}|rt|�VqdS(N(tstr(t.0tx((s)/usr/lib/python2.7/distutils/sysconfig.pys	<genexpr>�ssOThere is a workaround to now inherit optimization CFLAGS when compiling wheels.sDTo enable this, set APPLY_LP2002043_UBUNTU_CFLAGS_WORKAROUND in yoursLenvironment. See LP: https://launchpad.net/bugs/2002043 for further context.sDAPPLY_LP2002043_UBUNTU_CFLAGS_WORKAROUND detected, using workaround.css!|]}|rt|�VqdS(N(RK(RLRM((s)/usr/lib/python2.7/distutils/sysconfig.pys	<genexpr>�ss6APPLY_LP2002043_UBUNTU_CFLAGS_WORKAROUND not detected.css!|]}|rt|�VqdS(N(RK(RLRM((s)/usr/lib/python2.7/distutils/sysconfig.pys	<genexpr>�stCPPFLAGStpreprocessortcompilertcompiler_sotcompiler_cxxt	linker_sot
linker_exetarchiver(t
compiler_typeRtplatformR!t_osx_supporttcustomize_compilert_config_varsRR0tget_config_varst
startswithtlentfnmatchtfiltertreplaceRtset_executablestshared_lib_extension(RPRXt"lp2002043_ubuntu_cflags_workaroundtcctcxxtcflagstextra_cflagst
basecflagstopttccsharedtldsharedtso_exttartar_flagstconfigure_cppflagstconfigure_cflagstconfigure_ldflagstnewcctcppRUtcc_cmd((s)/usr/lib/python2.7/distutils/sysconfig.pyRY�s�
<6
	
)("	cCsvtr6tjdkr-tjjtd�}qEt}ntdd�}t�dkr]d}nd}tjj||�S(s2Return full pathname of installed pyconfig.h file.RtPCR$is2.2sconfig.hs
pyconfig.h(RRRRRR	R(R(R'tconfig_h((s)/usr/lib/python2.7/distutils/sysconfig.pytget_config_h_filenames		cCsGtrtjjtd�Stdddd�}tjjtd�d�S(sAReturn full pathname of installed Makefile from the Python build.tMakefileR$iR2tLIBPL(RRRRR	R5R!(tlib_dir((s)/usr/lib/python2.7/distutils/sysconfig.pytget_makefile_filename(scCs�|dkri}ntjd�}tjd�}x�|j�}|sLPn|j|�}|r�|jdd�\}}yt|�}Wntk
r�nX|||<q6|j|�}|r6d||jd�<q6q6W|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.
    s"#define ([A-Z][A-Za-z0-9_]+) (.*)
s&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/
iiiN(R"tretcompiletreadlinetmatchtgrouptintt
ValueError(tfptgt	define_rxtundef_rxtlinetmtntv((s)/usr/lib/python2.7/distutils/sysconfig.pytparse_config_h0s(	

s"([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_]*)}cCs�ddlm}||dddddd�}|dkrCi}ni}i}x�|j�}|dkrnPntj|�}|rR|jdd�\}}	|	j�}	|	jdd	�}
d
|
kr�|	||<qyt	|	�}	Wn't
k
r|	jdd
�||<qX|	||<qRqRWt|j��}d}x/t
|�dkrfxt|�D]}
||
}tj|�p�tj|�}|dk	rH|jd�}t}||kr�t||�}n�||kr�t}n�|tjkr�tj|}nr||kr]|
jd�r-|
d|kr-d	}qkd||krFt}qkt|d|�}nd	||<}|r_||j�}||j� ||}d
|kr�|||
<qEyt	|�}Wn!t
k
r�|j�||
<nX|||
<|j|
�|
jd�rE|
d|krE|
d}
|
|krB|||
<qBqEq_qW|||
<|j|
�qWWq8Wx<|j�D].\}}	t|	t�rt|	j�||<qtqtW|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����(tTextFiletstrip_commentsitskip_blankst
join_linesis$$Rt$R<RIRNitPY_iN(R<RIRN(tdistutils.text_fileR�R"R~t_variable_rxRR�tstripR`R�R�tlisttkeysR]ttuplet_findvar1_rxtsearcht_findvar2_rxR
RKRRR0R\tendtstarttremovetitemst
isinstancetupdate(RR�R�R�tdonetnotdoneR�R�R�R�ttmpvt	variablestrenamed_variablesRtvaluetfoundtitemtaftertk((s)/usr/lib/python2.7/distutils/sysconfig.pytparse_makefileSs�	


			






cCspxitj|�ptj|�}|rg|j�\}}|d|!|j|jd��||}qPqW|S(s�Expand Makefile-style variables -- "${foo}" or "$(foo)" -- in
    'string' according to 'vars' (a dictionary mapping variable names to
    values).  Variables not present in 'vars' are silently expanded to the
    empty string.  The variable values in 'vars' should not contain further
    variable expansions; if 'vars' is the output of 'parse_makefile()',
    you're fine.  Returns a variable-expanded version of 's'.
    ii(R�R�R�tspantgetR�(tstvarsR�tbegR�((s)/usr/lib/python2.7/distutils/sysconfig.pytexpand_makefile_vars�s.cCs'ddlm}iatj|�dS(s7Initialize the module as appropriate for POSIX systems.i����(tbuild_time_varsN(t_sysconfigdataR�RZR�(R�((s)/usr/lib/python2.7/distutils/sysconfig.pyt_init_posix�scCs�i}tdddd�|d<tdddd�|d<tdd�|d<d|d	<d
|d<t�jdd
�|d<tjjtjjtj	��|d<|a
dS(s+Initialize the module as appropriate for NTR$iR2itLIBDESTt
BINLIBDESTRs.pydRBs.exetEXEt.RtVERSIONtBINDIRN(R5R(RR`RRRR RRRZ(R�((s)/usr/lib/python2.7/distutils/sysconfig.pyt_init_nt�s

%cCsii}tdddd�|d<tdddd�|d<tdd�|d<d|d	<d
|d<|adS(
s-Initialize the module as appropriate for OS/2R$iR2iR�R�Rs.pydRBs.exeR�N(R5R(RZ(R�((s)/usr/lib/python2.7/distutils/sysconfig.pyt	_init_os2�s

cGs�tdkr}t�jdtj�}|r5|�niattd<ttd<tj	dkr}ddl
}|jt�q}n|r�g}x$|D]}|jtj|��q�W|StSdS(s�With no arguments, return a dictionary of all configuration
    variables relevant for the current platform.  Generally this includes
    everything needed to build extensions and install both pure modules and
    extensions.  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.
    t_init_R%texec_prefixR7i����N(
RZR"tglobalsR�RRR/R.RRWRXtcustomize_config_varstappend(targstfuncRXtvalsR((s)/usr/lib/python2.7/distutils/sysconfig.pyR[s 



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)
    (R[R�(R((s)/usr/lib/python2.7/distutils/sysconfig.pyR!2s(/t__doc__t__revision__RR|tstringRR^tdistutils.errorsRRR-R%R/R�R.RRR R	RRtlowerRtpardirR0R
RRR"R(R5RYRwR{R�R}R�R�R�R�R�RZR�R�R�R[R!(((s)/usr/lib/python2.7/distutils/sysconfig.pyt<module>
sT	$%*%%			02	m		q						&