KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /usr/lib64/python2.4/distutils/command/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib64/python2.4/distutils/command/build_ext.pyc
m
=5Dc@sdZdZdkZdkZdkZdkZdkTdklZdk	Tdk
lZlZdk
lZdklZdklZeid	Zd
ZdefdYZdS(
sdistutils.command.build_ext

Implements the Distutils 'build_ext' command, for building extension
modules (currently limited to C extensions, should accommodate C++
extensions ASAP).s5$Id: build_ext.py 37828 2004-11-10 22:23:15Z loewis $N(t*(sCommand(scustomize_compilersget_python_version(snewer_group(s	Extension(slogs3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsdkl}|dS(N(sshow_compilers(tdistutils.ccompilertshow_compilers(R((t3/usr/lib64/python2.4/distutils/command/build_ext.pyRs
t	build_extcBstZdZdeiZdAdBd	d
ddfd
ddefdCdDdEdddefdFdGdHdIdJdKdLdMgZd	d"d%d+gZd1dd2e	fgZ
d3Zd4Zd5Z
d6Zd7Zd8Zd9Zd:Zd;Zd<Zd=Zd>Zd?Zd@ZRS(NNs8build C/C++ extensions (compile/link to build directory)s (separated by '%s')s
build-lib=tbs(directory for compiled extension modulessbuild-temp=tts1directory for temporary files (build by-products)tinplacetis=ignore build-lib and put compiled extensions into the source s,directory alongside your pure Python moduless
include-dirs=tIs.list of directories to search for header filessdefine=tDsC preprocessor macros to definesundef=tUs!C preprocessor macros to undefines
libraries=tls!external C libraries to link withs
library-dirs=tLs.directories to search for external C librariessrpath=tRs7directories to search for shared C libraries at runtimes
link-objects=tOs2extra explicit link objects to include in the linktdebugtgs'compile/link with debugging informationtforcetfs2forcibly build everything (ignore file timestamps)s	compiler=tcsspecify the compiler typesswig-cpps)make SWIG create C++ files (default is C)s
swig-opts=s!list of SWIG command line optionssswig=spath to the SWIG executables
help-compilerslist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_d|_d|_d|_d|_dS(Ni(tNonetselft
extensionst	build_libt
build_tempRtpackagetinclude_dirstdefinetundeft	librariestlibrary_dirstrpathtlink_objectsRRtcompilertswigtswig_cppt	swig_opts(R((Rtinitialize_optionsas$																	cCs	dkl}|iddddd d!|idjo|ii|_n|ii|_	|i
}|i
dd	}|i
djo|ii
pg|_
nt|i
tjoti|i
ti|_
n|i
i|||jo|i
i|nt|itjo|ig|_n|idjo
g|_n|idjo
g|_n6t|itjoti|iti|_n|idjo
g|_n6t|itjoti|iti|_ntid
jo|iitiitid|iotii|id|_ntii|id
|_|i
itiitid|iitiitidntidjo&|iitiitidntid djptid djofti ti!tidjo3|iitiiti"ddt#dqu|iidn|i$o.ti|i$d}t&d||_$n|i'oti|i'd|_'n|i(djo
g|_(n|i(id|_(dS("N(s	sysconfigtbuildRRR"RRt
plat_specificitnttlibstDebugtReleasetPCtPCBuildtos2tConfigitcygwintatheositlibtpythontconfigt.t,cCs
|dfS(Nt1(tsymbol(R9((Rt<lambda>st (s	build_libs	build_lib(s
build_temps
build_temp(scompilerscompiler(sdebugsdebug(sforcesforce()t	distutilst	sysconfigRtset_undefined_optionsRRtdistributiontext_packagetext_modulesRtget_python_inct
py_includetplat_py_includeRttypet
StringTypetstringtsplittostpathseptappendRRR tnametpathtjointsystexec_prefixRRtplatformtfindt
executabletprefixtget_python_versionRtdefinestmapRR%(RRVRDRCR=((Rtfinalize_optionsvsl
	



"
"&&(



c	Csdkl}|ipdSn|iioC|id}|ii	|i
pg|ii|in|d|i
d|id|id|i|_
t|i
|idj	o|i
i|in|idj	o1x.|iD]\}}|i
i||qWn|idj	o(x%|iD]}|i
i|q1Wn|idj	o|i
i|in|idj	o|i
i|in|idj	o|i
i|in|i dj	o|i
i!|i n|i"dS(N(snew_compilert
build_clibR"tverbosetdry_runR(#Rtnew_compilerRRR?thas_c_librariestget_finalized_commandRYRtextendtget_library_namesRRKR"RZR[Rtcustomize_compilerRRtset_include_dirsRRLtvaluetdefine_macroRtmacrotundefine_macrot
set_librariestset_library_dirsR tset_runtime_library_dirsR!tset_link_objectstbuild_extensions(RRLReRcRYR\((Rtruns>

		


c
Csft|tj	o
tdnx?tt|D]+}||}	t|	t	oq3n|	\}}ti
d|t|	tj	o t|	djo
tdnt|tjo
ti|p
tdnt|tj	o
tdnt	||d}	x>dD]6}|i|}|dj	ot|	||qqW|id|	_|idoti
dn|id}|og|	_g|	_x|D]}t|tjo!dt|jo
djnp
tdnt|djo|	ii|dqt|djo|	ii|qqWn|	||<q3WdS(sEnsure that the list of extensions (presumably provided as a
        command option 'extensions') is valid, i.e. it is a list of
        Extension objects.  We also support the old-style list of 2-tuples,
        where the tuples are (ext_name, build_info), which are converted to
        Extension instances here.

        Raise DistutilsSetupError if the structure is invalid anywhere;
        just returns otherwise.
        s:'ext_modules' option must be a list of Extension instancessuold-style (ext_name, build_info) tuple found in ext_modules for extension '%s'-- please convert to Extension instanceisMeach element of 'ext_modules' option must be an Extension instance or 2-tuplesRfirst element of each tuple in 'ext_modules' must be the extension name (a string)sOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)tsourcesRRRt
extra_objectstextra_compile_argstextra_link_argsR tdef_files9'def_file' element of build info dict no longer supportedtmacrosis9'macros' element of build info dict must be 1- or 2-tupleiN(sinclude_dirsslibrary_dirss	librariesRnRoRp(RERtListTypetDistutilsSetupErrortrangetlenRtextt
isinstancet	Extensiontext_namet
build_infotlogtwarnt	TupleTypeRFtextension_name_retmatchtDictionaryTypetkeytgettvalRtsetattrtruntime_library_dirsthas_keyRrt
define_macrostundef_macrosReRK(
RRRzRRrRR{RReRw((Rtcheck_extensions_listsL	

&
#


		7
cCs>|i|ig}x!|iD]}|i|iq W|S(N(RRRt	filenamesRwR_Rm(RRwR((Rtget_source_filesrs
cCsh|i|ig}xK|iD]@}|i|i}|it	i
i|i|i
|q W|S(N(RRRtoutputsRwtget_ext_fullnameRLtfullnameRKRIRMRNRtget_ext_filename(RRRRw((Rtget_outputs}s
cCs5|i|ix|iD]}|i|qWdS(N(RRRRwtbuild_extension(RRw((RRks
cCs|i}|djpt|ttfjotddd|int|}|i
|i}|iout
i|d}	t
i|	dd!d}|	d}|id}|i|}tii||i|}
n"tii|i|i|}
||i}|ipt||
dpti d	|idSnti!d
|i|i"||}|i#pg}
|i%}x!|i'D]}|i)|fqW|i*i+|d|i,d|d
|i-d|i d|
d|i}||_/|i0o|i1|i0n|i2pg}
|i3p|i*i4|}|i*i5||
d|i6|d|i7d|i8d|
d|i9|d|i d|i,d|dS(Ns*in 'ext_modules' option (extension '%s'), s&'sources' must be present and must be sa list of source filenamesR6iitbuild_pytnewers$skipping '%s' extension (up-to-date)sbuilding '%s' extensiont
output_dirRrRRtextra_postargstdependsRRRtexport_symbolsRttarget_lang(:RwRmRRERsR~RtRLtlistRRRRRGRHtmodpathRNRtbaseR^Rtget_package_dirtpackage_dirRIRMRtext_filenameRRRtnewer_groupR|Rtinfotswig_sourcesRot
extra_argsRRrRRRKR"tcompileRRtobjectst_built_objectsRnR_Rptlanguagetdetect_languagetlink_shared_objectt
get_librariesRRtget_export_symbols(RRwRmRRRRRrRRRRRRRR((RRs^	&




			

				cCsg}
g}h}|iotidn|ipd|ijo
d}nd}xt|D]l}tii
|\}	}|djo4|
i|	d||i||
d||<q^|
i|q^W|p|
Sn|ip
|i}|dg}|i|i|io|idn|ip%x"|iD]}|i|q>WnxE|D]=}||}
tid	||
|i|d
|
|gq`W|
S(sWalk the list of source files in 'sources', looking for SWIG
        interface (.i) files.  Run SWIG on all that are found, and
        return a modified 'sources' list with SWIG source files replaced
        by the generated C (or C++) files.
        s/--swig-cpp is deprecated - use --swig-opts=-c++s-c++s.cpps.cs.it_wrapis-pythonsswigging %s to %ss-oN(tnew_sourcesRtswig_targetsRR$R|R}R%t
target_extRmtsourceRIRMtsplitextRRwRKR#t	find_swigtswig_cmdR_t	extensiontottargetRtspawn(RRmRR#RRRRRwRRRRR((RRsD







cCstidjodSntidjoMxrdD]:}tiid|d}tii|o|Sq/q/WdSn)tid	jodSntd
tidS(
sReturn the name of the SWIG executable.  On Unix, this is
        just "swig" -- it should be in the PATH.  Tries a bit harder on
        Windows.
        tposixR#R)s1.3s1.2s1.1s	c:\swig%ssswig.exeR/s>I don't know how to find (much less run) SWIG on platform '%s'N(s1.3s1.2s1.1(RIRLtversRMRNtfntisfiletDistutilsPlatformError(RRR((RR2scCs+|idjo|Sn|id|SdS(NR6(RRRRz(RRz((RRTscCsdkl}ti|d}tidjo*|t|dd |t|d<n|d}tidjo)|iotti
i|d|Sntti
i||S(
sConvert the name of an extension (eg. "foo.bar") into the name
        of the file from which it will be loaded (eg. "foo/bar.so", or
        "foo\bar.pyd").
        (sget_config_varR6R/iitSOR)t_dN(tdistutils.sysconfigtget_config_varRGRHRztext_pathRIRLRvtso_extRRtapplyRMRN(RRzRRR((RRZs
*cCsHdti|idd}||ijo|ii|n|iS(sReturn the list of symbols that a shared extension has to
        export.  This either uses 'ext.export_symbols' or, if it's not
        provided, "init" + module_name.  Only relevant on Windows, where
        the .pyd file (DLL) must export the module "init" function.
        tinitR6iN(RGRHRwRLt
initfunc_nameRRK(RRwR((RRks
cCstidjo}dkl}t|i|pRd}|io|d}n|ti	d?ti	d?d@f}|i|gSq|iSnZtidjo:d}|ti	d?ti	d?d@f}|i|gSntid	 d
jo:d}|ti	d?ti	d?d@f}|i|gSntid	 djod
k
l}d}|ti	d?ti	d?d@f}g}xO|idiD]8}|ido|i|dq|i|qW|i|dg|Sn|iSdS(sReturn the list of libraries to link against when building a
        shared extension.  On most platforms, this is just 'ext.libraries';
        on Windows and OS/2, we add the Python library (eg. python20.dll).
        twin32(sMSVCCompilers
python%d%dRiiitos2emxiR1spython%d.%dR2(s	sysconfigtSHLIBSs-litmN(RORQtdistutils.msvccompilertMSVCCompilerRxRR"ttemplateRt
hexversiont	pythonlibRwRR<R=textraRRHR3t
startswithRK(RRwR=R3RRRR((RRws<

"""
"(s
build-lib=Rs(directory for compiled extension modules(sbuild-temp=Rs1directory for temporary files (build by-products)(sdefine=R
sC preprocessor macros to define(sundef=Rs!C preprocessor macros to undefine(s
libraries=Rs!external C libraries to link with(srpath=Rs7directories to search for shared C libraries at runtime(s
link-objects=Rs2extra explicit link objects to include in the link(sdebugRs'compile/link with debugging information(sforceRs2forcibly build everything (ignore file timestamps)(s	compiler=Rsspecify the compiler type(sswig-cppNs)make SWIG create C++ files (default is C)(s
swig-opts=Ns!list of SWIG command line options(sswig=Nspath to the SWIG executable(t__name__t
__module__tdescriptionRIRJtsep_byRtuser_optionstboolean_optionsRthelp_optionsR&RXRlRRRRkRRRRRRR(((RRs&
]$		g	?	V				b	9	"			(t__doc__t__revision__RORIRGtrettypestdistutils.coretCommandtdistutils.errorsRRaRUtdistutils.dep_utilRtdistutils.extensionRyR<R|RRRR(RaRRGRyRRURORRRRRIRR|((Rt?s$



	

Anon7 - 2021