%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/distutils/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/distutils/cygwinccompiler.pyc

ó
Pęáac@sřdZdZddlZddlZddlZddlmZmZddlm	Z	ddl
mZddlm
Z
mZmZddlmZd	„Zd
e	fd„ƒYZdefd
„ƒYZdZdZdZd„Zd„Zd„ZdS(sdistutils.cygwinccompiler

Provides the CygwinCCompiler class, a subclass of UnixCCompiler that
handles the Cygwin port of the GNU C compiler to Windows.  It also contains
the Mingw32CCompiler class which handles the mingw32 port of GCC (same as
cygwin in no-cygwin mode).
s$Id$i˙˙˙˙N(tgen_preprocess_optionstgen_lib_options(t
UnixCCompiler(t
write_file(tDistutilsExecErrortCompileErrortUnknownFileError(tlogcCs™tjjdƒ}|dkr•tj|d|d!}|dkrIdgS|dkr\dgS|d	krod
gS|dkr‚dgStd
|ƒ‚ndS(saInclude the appropriate MSVC runtime library if Python was built
    with MSVC 7.0 or later.
    sMSC v.i˙˙˙˙ii
t1300tmsvcr70t1310tmsvcr71t1400tmsvcr80t1500tmsvcr90sUnknown MS Compiler version %s N(tsystversiontfindt
ValueError(tmsc_postmsc_ver((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyt	get_msvcr;stCygwinCCompilercBsƒeZdZdZdZdZdZdZdZdddd„Z	d	„Z
d
d
d
d
d
dd
d
d
d
d
„
Zddd„Z
RS(tcygwins.os.as.dllslib%s%ss%s%ss.exeic
CsStj||||ƒtƒ\}}|jd||fƒ|tk	r\|jd|ƒntƒ\|_|_|_	|j|j
d|j|j|j	fƒ|jdkrźd|_n	d|_|jdkrÝd}nd	}|jd
ddd
dddddd|j|fƒ|jdkrCdg|_
|jdƒntƒ|_
dS(Ns%Python's GCC status: %s (details: %s)sƒPython's pyconfig.h doesn't seem to support your compiler. Reason: %s. Compiling may fail because of undefined preprocessor macros.s: gcc %s, ld %s, dllwrap %s
s2.10.90tgcctdllwraps2.13s-shareds
-mdll -statictcompilersgcc -mcygwin -O -Walltcompiler_sosgcc -mcygwin -mdll -O -Walltcompiler_cxxsg++ -mcygwin -O -Wallt
linker_exesgcc -mcygwint	linker_sos%s -mcygwin %ss2.91.57tmsvcrts,Consider upgrading to a newer version of gcc(Rt__init__tcheck_config_htdebug_printtCONFIG_H_OKtwarntget_versionstgcc_versiont
ld_versiontdllwrap_versiont
compiler_typet
linker_dlltset_executablest
dll_librariesR(tselftverbosetdry_runtforcetstatustdetailst
shared_option((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyR!\s<			
cCsŚ|dks|dkrZy |jdd|d|gƒWq˘tk
rV}t|‚q˘XnHy)|j|j||d|g|ƒWntk
rĄ}t|‚nXdS(Ns.rcs.restwindress-is-o(tspawnRRR(R.tobjtsrctexttcc_argstextra_postargstpp_optstmsg((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyt_compilešs cCsÖtj|
pgƒ}
tj|p$gƒ}tj|p9gƒ}|j|jƒ|dk	rˆ||jksy|jdkrˆtjj|dƒ}tjj	tjj
|ƒƒ\}}tjj||dƒ}tjj|d|dƒ}dtjj
|ƒdg}x|D]}|j|ƒqW|j
t||fd|ƒ|jd	krx|
jd
|gƒ|
jd|gƒqˆ|j|ƒn|	sž|
jdƒntj||||||||d|	|
|||
ƒdS(
NRis.deftlibs.as
LIBRARY %stEXPORTSs
writing %sRs--output-libs--defs-s(tcopytextendR-tNonet
EXECUTABLER+tostpathtdirnametsplitexttbasenametjointappendtexecuteRRtlink(R.ttarget_desctobjectstoutput_filenamet
output_dirt	librariestlibrary_dirstruntime_library_dirstexport_symbolstdebugt
extra_preargsR;t
build_tempttarget_langttemp_dirtdll_namet
dll_extensiontdef_filetlib_filetcontentstsym((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyRM¨sJ			
	tcCs|dkrd}ng}xá|D]Ů}tjjtjj|ƒƒ\}}||jddgkr{td||f‚n|r–tjj|ƒ}n|dksŽ|dkrŘ|jtjj	||||j
ƒƒq"|jtjj	|||j
ƒƒq"W|S(NRas.rcs.ress"unknown file type '%s' (from '%s')(RCRERFRHtnormcasetsrc_extensionsRRIRKRJt
obj_extension(R.tsource_filenamest	strip_dirRQt	obj_namestsrc_nametbaseR9((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pytobject_filenamess"	
$N(t__name__t
__module__R*Rdtstatic_lib_extensiontshared_lib_extensiontstatic_lib_formattshared_lib_formatt
exe_extensionR!R>RCRMRj(((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyRRs*>	XtMingw32CCompilercBs eZdZdddd„ZRS(tmingw32icCsÝtj||||ƒ|jdkr.d}nd}|jdkrLd}nd}|jdksjtƒrsd}nd}|jd	d
|dd|d
d|dd|dd|j|||fƒg|_tƒ|_dS(Ns2.13s-shareds
-mdll -statics2.91.57s--entry _DllMain@12Rat4s -mno-cygwinRsgcc%s -O -WallRsgcc%s -mdll -O -WallRsg++%s -O -WallRsgcc%sRs
%s%s %s %s(	RR!R(R'tis_cygwingccR,R+R-R(R.R/R0R1R4tentry_pointt	no_cygwin((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyR!-s&			


		(RkRlR*R!(((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyRr)stoksnot okt	uncertaincCsÝddlm}ddl}|jtjdƒdkrAtdfS|jƒ}y.t|ƒ}z|j	ƒ}Wd|j
ƒXWn'tk
r¤}td||j
ffSX|j|dƒdkrËtd	|fStd
|fSdS(sĄCheck if the current Python installation (specifically, pyconfig.h)
    appears amenable to building extensions with GCC.  Returns a tuple
    (status, details), where 'status' is one of the following constants:
      CONFIG_H_OK
        all is well, go ahead and compile
      CONFIG_H_NOTOK
        doesn't look good
      CONFIG_H_UNCERTAIN
        not sure -- unable to read pyconfig.h
    'details' is a human-readable string explaining the situation.

    Note there are two ways to conclude "OK": either 'sys.version' contains
    the string "GCC" (implying that this Python was built with GCC), or the
    installed "pyconfig.h" contains the string "__GNUC__".
    i˙˙˙˙(t	sysconfigNtGCCissys.version mentions 'GCC'scouldn't read '%s': %st__GNUC__s'%s' mentions '__GNUC__'s '%s' does not mention '__GNUC__'(t	distutilsRztstringRRRR$tget_config_h_filenametopentreadtclosetIOErrortCONFIG_H_UNCERTAINtstrerrortCONFIG_H_NOTOK(RzR~tfntftstexc((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyR"es 
cCs°ddlm}ddlm}ddl}|dƒ}|rŁtj|ddƒ}|jƒ}|jƒ|j	d|ƒ}|rš||j
d	ƒƒ}qŠd}nd}|d
ƒ}|r tj|ddƒ}|jƒ}|jƒ|j	d|ƒ}|r||j
d	ƒƒ}	q&d}	nd}	|dƒ}
|
rtj|
d
dƒ}|jƒ}|jƒ|j	d|ƒ}|r”||j
d	ƒƒ}qŁd}nd}||	|fS(sj Try to find out the versions of gcc, ld and dllwrap.
        If not possible it returns None for it.
    i˙˙˙˙(tLooseVersion(tfind_executableNRs
 -dumpversiontrs(\d+\.\d+(\.\d+)*)itlds -vRs
 --versions (\d+\.\d+(\.\d+)*)(tdistutils.versionR‹tdistutils.spawnRŒtreREtpopenRR‚tsearchtgroupRC(R‹RŒR‘tgcc_exetoutt
out_stringtresultR'tld_exeR(tdllwrap_exeR)((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyR&šsD
	
	
	cCs;tjddƒ}|jƒ}|jƒ|jƒjdƒS(s>Try to determine if the gcc that would be used is from cygwin.sgcc -dumpmachineRR(RER’RR‚tstriptendswith(R–R—((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyRuČs
(t__doc__t__revision__RERRAtdistutils.ccompilerRRtdistutils.unixccompilerRtdistutils.file_utilRtdistutils.errorsRRRR}RRRRrR$R†R„R"R&Ru(((s5/usr/local/lib/python2.7/distutils/cygwinccompiler.pyt<module>s +$	×8	5	.

Zerion Mini Shell 1.0