403Webshell
Server IP : 216.92.14.13  /  Your IP : 216.73.217.126
Web Server : Apache
System : Linux vps4089.pairvps.com 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64
User : rmlac2fmr ( 1040637)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/scons/SCons/Script/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/scons/SCons/Script/SConscript.pyc
�
�b3Qc@ s
dZddlmZdZddlZddlZddlZddlZddlZddl	Zddl
ZddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdefd��YZejjej�adaiZ da!d�Z"d	�Z#d
e$fd��YZ%gZ&d�Z'd
Z(d�Z)ej*d�Z+d�Z,dej-j.fd��YZ/e/ej-_-d�Z0da1d�Z2de$fd��YZ3d�Z4dS(sjSCons.Script.SConscript

This module defines the Python API provided to SConscript and SConstruct
files.

i����(tdivisions@src/engine/SCons/Script/SConscript.py  2013/03/03 09:48:35 garyoNtSConscriptReturncB seZRS((t__name__t
__module__(((s)/usr/lib/scons/SCons/Script/SConscript.pyRAsicC snyddWn'tk
r5tj�djj}nXx%|jjd�tkr]|j}q9W|j|jfS(sjReturn the locals and globals for the function that called
    into this module in the current call stack.iiiR(	tZeroDivisionErrortsystexc_infottb_frametf_backt	f_globalstgetRtf_locals(tframe((s)/usr/lib/scons/SCons/Script/SConscript.pytget_calling_namespacesNs
	
cC s�t�\}}i}ykxd|D]\}tjj|�rG|j|�qy||||<Wqtk
rz||||<qXqWWn)tk
r�}tjjd|��nX|S(s�Compute a dictionary of exports given one of the parameters
    to the Export() function or the exports argument to SConscript().s$Export of non-existent variable '%s'(R
tSConstUtiltis_DicttupdatetKeyErrortErrorst	UserError(texportstloctglobtretvaltexporttx((s)/usr/lib/scons/SCons/Script/SConscript.pytcompute_exportsds

tFramecB seZdZd�ZRS(s/A frame on the SConstruct/SConscript call stackcC s�t�|_d|_|j�|_t|�|_t|t	j
j
�rT||_n0|dkrld|_n|jt
|��|_dS(Nt-(tBuildDefaultGlobalstglobalstNoneRtgetcwdtprev_dirRRt
isinstanceRtNodet
sconscripttFiletstr(tselftfsRR%((s)/usr/lib/scons/SCons/Script/SConscript.pyt__init__{s	(RRt__doc__R*(((s)/usr/lib/scons/SCons/Script/SConscript.pyRyscO s�g}yVtjj|�}x=|D]5}x,|j�D]}|jtdj|�q5Wq"WWn)tk
r�}tjj	d|��nXt
|�dkr�|dtd_nt|�td_|j
dt�}|r�t�ndS(Ni����s$Return of non-existent variable '%s'iitstop(RRtflattentsplittappendt
call_stackRRRRtlenRttupleR
tTrueR(tvarstkwRtfvarstvartvRR,((s)/usr/lib/scons/SCons/Script/SConscript.pytReturn�s
$s% Stack boTTom %c	N su|j}|jj�}|jdg�}g}x|D]}eje|||��ej}ze	j
jde	j
_|dkr�ejedj
Un�e|e	jj�r�|}	n|je|��}	d}
|j|dd�|	j�r|	j�}e|j�d�}
n�|	j�j�rQ|	j�j�}e|j�d�}
nT|	j�r�|	j�|	j�|	jd�|	j�r�e|	j�d�}
q�n|
rJy|d}Wn,ek
r�|j|	j j!|��}
n@X|j|�}
|
j"|	j �s'|j|	j j!|��}
ny|j|
de#�Wn:e$k
rz|j|
dd�e%j|j j��nX|	j j�geje_edj
j&ide'6�edj
jd	�}yedj
d	=Wnek
r�nXz+y|
edj
UWne(k
rnXWd|dk	rFedj
j&i|e)6�nXn e	j*j+e	j*j,d
|	j�Wde	j
jde	j
_|e_ej-�}y|j|j.de#�Wn�e$k
r7|j|j.dd�|j.j�}|j/�ye%j|j��Wq8e$k
r3}e	j0j1r4|�q4q8XnX|j|j2�Xq7We3|�dkrg|dSe4|�SdS(NRiRi����t
change_os_dirtrtsrc_dirit__file__s Ignoring missing SConscript '%s'(5tToptSConstruct_dirtrdirR
R0R/RRtpathRtScripttsconscript_readingtstdinRR#R$R&R'R tchdirtrexiststrfiletopentget_abspathtsrcnodethas_src_buildertbuildtbuilttbuilder_settexistsRtDirtdirtget_pathtis_undertsconscript_chdirtOSErrortosRtstack_bottomRR=tWarningstwarntMissingSConscriptWarningtpopR"t_createtActiontexecute_actionsRR1R2(R)tfilesR5ttoptsdRtresultstfntold_sys_pathtft_file_tactualR<tldirtold_fileRR@te((s)/usr/lib/scons/SCons/Script/SConscript.pyt_SConscript�s�	
		




	

"	


cC stj�\}}}|}x%|rBt|jjkrB|j}qW|sR|}ntj|�}y
|j}Wn:t	k
r�t
|�}|d dkr�|d}q�nX|jd||f�xB|D]:\}}}	}
|jd||f�|jd|
�q�WdS(s�Print an exception stack trace just for the SConscript file(s).
    This will show users who have Python errors where the problem is,
    without cluttering the output with all of the internal calls leading
    up to where we exec the SConscript.isexceptions.s%s: %s:
s  File "%s", line %d:
s    %s
N(RRRWRRttb_nextt	tracebackt
extract_tbRtAttributeErrorR'twrite(tfiletexc_typet	exc_valuetexc_tbttbtstackttypetfnametlinetfuncttext((s)/usr/lib/scons/SCons/Script/SConscript.pytSConscript_exception2s"
	

cC smtj�d}x%|r7t|jjkr7|j}qW|sStjjd��nt	j
|�d|_dS(shAnnotate a node with the stack frame describing the
    SConscript file and line number that created it.is%could not find SConscript stack frameiN(RRRWRRRlRRt
InternalErrorRmt
extract_stacktcreator(tnodeRu((s)/usr/lib/scons/SCons/Script/SConscript.pytannotateKs
tSConsEnvironmentcB s�eZdZd�Zd�Zd�Zd�Zd�Zdd�Zd�Z	dd	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�ZRS(s9An Environment subclass that contains all of the methods that
    are particular to the wrapper SCons interface and which aren't
    (or shouldn't be) part of the build engine itself.

    Note that not all of the methods of this class have corresponding
    global functions, there are some private methods.
    cC s"||kp!||ko!||kS(sqReturn 1 if 'major' and 'minor' are greater than the version
        in 'v_major' and 'v_minor', and 0 otherwise.((R(tmajortminortv_majortv_minor((s)/usr/lib/scons/SCons/Script/SConscript.pyt_exceeds_versiongscC s�|jd�djd�}t|d�}ttjd|d�j��}t|�dkr�ttjd|d�j��}nd}|||fS(s�Split a version string into major, minor and (optionally)
        revision parts.

        This is complicated by the fact that a version string can be
        something like 3.2b1.t it.s\d+iii(R.tinttretmatchtgroupR1(R(tversion_stringtversionR�R�t
v_revision((s)/usr/lib/scons/SCons/Script/SConscript.pyt_get_major_minor_revisionls"%c
C s�g}t|�dkr�y|d}Wn#tk
rKtjjd��nXtjj|�sj|g}nttt	|��}|j
dd�}g|D]}tjj
||�^q�}nct|�dkr�|d}nDt|�dkr
|d}|j|d�}ntjjd��tjj|�s=|g}n|j
d	�ri|j|j|d	��n|j
d
�p�|j
d�}|r�t|�dkr�tjjd��n|j
d
d�}	|j
d�}
|
stjjt	|d��\}
}tjj
t	|�|�g}n�t|
tjj�sH|jj|
�}
n|d}t|tjj�s||jj|�}n|j|
�r�|j|
�}tjj
t	|�|�g}n|jg}||d<|jj||
|	�n||fS(s$
        Convert the parameters passed to SConscript() calls into a list
        of files and export variables.  If the parameters are invalid,
        throws SCons.Errors.UserError. Returns a tuple (l, e) where l
        is a list of SConscript filenames and e is a list of exports.
        itdirss(Invalid SConscript usage - no parameterstnamet
SConscriptiis/Invalid SConscript() usage - too many argumentsRtvariant_dirt	build_dirsOInvalid SConscript() usage - can only specify one SConscript with a variant_dirt	duplicateR<(R1RRRRRtis_ListtlisttmapR'R
RVRAtjointSplittextendR.R#R$R)RPR&RSRRtabspatht
VariantDir(
R(tlsR5RR�R�tnR_R�R�R<RxRc((s)/usr/lib/scons/SCons/Script/SConscript.pyt_get_SConscript_filenames{sT
+

"!
!
cO sTtjjs!tjjd��n|jdd�d|d<tjjj|||�S(Ns1Calling Configure from Builders is not supported.t_depthii(	RRBRCRRR
tEnvironmenttBaset	Configure(R(targsR5((s)/usr/lib/scons/SCons/Script/SConscript.pyR��scG stjj||�dS(N(RRBt_Set_Default_Targets(R(ttargets((s)/usr/lib/scons/SCons/Script/SConscript.pytDefault�sicC sy|jtj�}||||fkru|rCd|||f}nd||f}d|tjfGHtjd�ndS(s8Exit abnormally if the SCons version is not late enough.s%d.%d.%ds%d.%ds3SCons %s or greater required, but you have SCons %siN(R�Rt__version__Rtexit(R(R�R�trevisiont	scons_vertscons_ver_string((s)/usr/lib/scons/SCons/Script/SConscript.pytEnsureSConsVersion�scC sNtj||fkrJtjj�d}d|||fGHtjd�ndS(s9Exit abnormally if the Python version is not late enough.is8Python %d.%d or greater required, but you have Python %siN(Rtversion_infoR�R.R�(R(R�R�R8((s)/usr/lib/scons/SCons/Script/SConscript.pytEnsurePythonVersion�scC stj|�dS(N(RR�(R(tvalue((s)/usr/lib/scons/SCons/Script/SConscript.pytExit�scO s>x*|D]"}tjt|j|���qWtj|�dS(N(tglobal_exportsRRR�(R(R4R5R7((s)/usr/lib/scons/SCons/Script/SConscript.pytExport�s
 cC stS(N(t
launch_dir(R(((s)/usr/lib/scons/SCons/Script/SConscript.pytGetLaunchDir�scC s"|j|�}tjjj|�S(N(tsubstRRBtMaint	GetOption(R(R�((s)/usr/lib/scons/SCons/Script/SConscript.pyR��scC s)|j|dd�}tjj|�dS(Ntrawi(R�RRBtHelpFunction(R(R{((s)/usr/lib/scons/SCons/Script/SConscript.pytHelp�scG s�y�td}|j}|j}x�|D]z}|j|�}xb|D]Z}|dkrq|jt�|j|�qB||kr�||||<qBt|||<qBWq&WWn)tk
r�}tjj	d|��nXdS(Ni����t*s$Import of non-existent variable '%s'(
R0RRR�RR�RRRR(R(R4RRRR7R8R((s)/usr/lib/scons/SCons/Script/SConscript.pytImport�s
		


cO s;d|kr.d}tjjtjj|�n|jd�}tt||��}i}x�|j�D]�\}}tjj	|�r�|j|�}nctjj
|�r�g}x?|D]7}	tjj	|	�r�|j|	�}	n|j|	�q�W|}n|||<qeW|j||�\}
}||d<t
|j|
|�S(NR�sOThe build_dir keyword has been deprecated; use the variant_dir keyword instead.cS s:tjj|�r*tt||��}n||�}|S(N(RRR�R�R�(RR�((s)/usr/lib/scons/SCons/Script/SConscript.pyt
subst_elementsR(RRXRYtDeprecatedBuildDirWarningR�R�R�titemsRt	is_StringR�R/R�RkR)(R(R�R5tmsgR�tsubst_kwtkeytvaltresultR8R_R((s)/usr/lib/scons/SCons/Script/SConscript.pyR�s(
	
cC s
|adS(N(RT(R(tflag((s)/usr/lib/scons/SCons/Script/SConscript.pytSConscriptChdir$scC s)|j|�}tjjj||�dS(N(R�RRBR�t	SetOption(R(R�R�((s)/usr/lib/scons/SCons/Script/SConscript.pyR�(s(RRR+R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s)/usr/lib/scons/SCons/Script/SConscript.pyR�[s"			J										cO s>tjjs!tjjd��nd|d<tjj||�S(Ns1Calling Configure from Builders is not supported.iR�(RRBRCRRtSConf(R�R5((s)/usr/lib/scons/SCons/Script/SConscript.pyR�1s
cC s.ts*tjj�}tjj|�antS(N(t_DefaultEnvironmentProxyRtDefaultstDefaultEnvironmentR�tNoSubstitutionProxy(tdefault_env((s)/usr/lib/scons/SCons/Script/SConscript.pytget_DefaultEnvironmentProxyHstDefaultEnvironmentCallcB s#eZdZdd�Zd�ZRS(s�A class that implements "global function" calls of
    Environment methods by fetching the specified method from the
    DefaultEnvironment's class.  Note that this uses an intermediate
    proxy class instead of calling the DefaultEnvironment method
    directly so that the proxy can override the subst() method and
    thereby prevent expansion of construction variables (since from
    the user's point of view this was called as a global function,
    with no associated construction environment).icC s.||_|r!tjj|_n	t|_dS(N(tmethod_nameRR�R�tfactoryR�(R(R�R�((s)/usr/lib/scons/SCons/Script/SConscript.pyR*Xs	cO s+|j�}t||j�}|||�S(N(R�tgetattrR�(R(R�R5tenvtmethod((s)/usr/lib/scons/SCons/Script/SConscript.pyt__call__^s(RRR+R*R�(((s)/usr/lib/scons/SCons/Script/SConscript.pyR�OscC s�tdkrviaddl}|jj}|t|j�d�}x1t|t|j��D]}||t|<q[Wntj�S(si
    Create a dictionary containing all the default globals for
    SConstruct and SConscript files.
    i����NcS st|||�S(N(R#(tmtdtmtype((s)/usr/lib/scons/SCons/Script/SConscript.pytnot_a_moduleps(	t
GlobalDictR tSCons.ScriptRBt__dict__RwtfilterRQtcopy(RR�R�R�((s)/usr/lib/scons/SCons/Script/SConscript.pyRds(5R+t
__future__Rt__revision__RtSCons.Actiont
SCons.BuildertSCons.DefaultstSCons.EnvironmenttSCons.Errorst
SCons.NodetSCons.Node.Aliast
SCons.Node.FStSCons.PlatformtSCons.SConftSCons.Script.Maint
SCons.Toolt
SCons.UtiltcollectionsRVtos.pathR�RRmt	ExceptionRRAR�tcurdirR�R R�R�RTR
RtobjectRR0R9RWRktstderrR|R�R�R�R�R�R�R�R�R(((s)/usr/lib/scons/SCons/Script/SConscript.pyt<module>sV				�	�		

Youez - 2016 - github.com/yon3zu
LinuXploit