Viewing File: /opt/alt/python35/lib64/python3.5/distutils/__pycache__/cygwinccompiler.cpython-35.opt-2.pyc



]Z@@saddlZddlZddlZddlmZmZmZddlZddlm	Z	m
Z
ddlmZddl
mZddlmZmZmZmZddlmZddlmZdd	lmZd
dZGdd
d
eZGdddeZdZdZdZddZ ej!dZ"ddZ#ddZ$ddZ%dS)N)PopenPIPEcheck_output)gen_preprocess_optionsgen_lib_options)
UnixCCompiler)
write_file)DistutilsExecErrorCCompilerErrorCompileErrorUnknownFileError)log)LooseVersion)find_executablecCstjjd}|dkrtj|d|d}|dkrLdgS|dkr_dgS|d	krrd
gS|dkrdgS|d
krdgStd|dS)NzMSC v.
Z1300Zmsvcr70Z1310Zmsvcr71Z1400Zmsvcr80Z1500Zmsvcr90Z1600Zmsvcr100zUnknown MS Compiler version %s )sysversionfind
ValueError)Zmsc_posZmsc_verr4/opt/alt/python35/lib64/python3.5/cygwinccompiler.py	get_msvcr?src@seZdZdZdZdZdZdZdZdZ	dddd	d
Z
ddZd
d
d
d
d
dd
d
d
d
dd
ZddddZ
d
S)CygwinCCompilercygwinz.oz.az.dllzlib%s%sz%s%sz.exerc
CsPtj||||t\}}|jd||f|tk	rY|jd|t\|_|_|_	|j|j
d|j|j|j	f|jdkrd|_n	d|_|jdkrd}nd	}|jd
ddd
dddddd|j|f|jdkr@dg|_
|jdnt|_
dS)Nz%Python's GCC status: %s (details: %s)zPython's pyconfig.h doesn't seem to support your compiler. Reason: %s. Compiling may fail because of undefined preprocessor macros.z: gcc %s, ld %s, dllwrap %s
z2.10.90gccdllwrapz2.13z-sharedz
-mdll -staticcompilerzgcc -mcygwin -O -Wallcompiler_sozgcc -mcygwin -mdll -O -Wallcompiler_cxxzg++ -mcygwin -O -Wall
linker_exezgcc -mcygwin	linker_soz%s -mcygwin %sz2.91.57msvcrtz,Consider upgrading to a newer version of gcc)r__init__check_config_hZdebug_printCONFIG_H_OKwarnget_versionsgcc_version
ld_versionZdllwrap_version
compiler_type
linker_dllset_executables
dll_librariesr)selfverbosedry_runforcestatusZdetails
shared_optionrrrr%ds<			
zCygwinCCompiler.__init__cCs|dks|dkroy |jdd|d|gWqtk
rk}zt|WYdd}~XqXn]y)|j|j||d|g|Wn1tk
r}zt|WYdd}~XnXdS)Nz.rcz.resZwindresz-iz-o)spawnr	rr )r0objsrcextZcc_argsextra_postargsZpp_optsmsgrrr_compiles "zCygwinCCompiler._compileNcCstj|
pg}
tj|p$g}tj|p9g}|j|j|dk	r||jksy|jdkrtjj|d}tjjtjj	|\}}tjj
||d}tjj
|d|d}dtjj	|dg}x|D]}|j|qW|jt
||fd||jd	krx|
jd
|g|
jd|gn
|j||	s|
jdtj||||||||d|	|
|||
dS)
Nrrz.deflibz.az
LIBRARY %sZEXPORTSz
writing %srz--output-libz--defz-s)copyextendr/Z
EXECUTABLEr-ospathdirnamesplitextbasenamejoinappendZexecuterrlink)r0Ztarget_descZobjectsZoutput_filename
output_dirZ	librariesZlibrary_dirsZruntime_library_dirsZexport_symbolsdebugZ
extra_preargsr:Z
build_tempZtarget_langZtemp_dirZdll_nameZ
dll_extensionZdef_fileZlib_filecontentsZsymrrrrGs:			


	zCygwinCCompiler.linkcCs|dkrd}g}x|D]}tjjtjj|\}}||jddgkrxtd||f|rtjj|}|dkr|jtjj||||j	q|jtjj|||j	qW|S)NrK.rc.resz"unknown file type '%s' (from '%s'))rMrL)
r@rArCnormcaseZsrc_extensionsrrDrFrE
obj_extension)r0Zsource_filenamesZ	strip_dirrHZ	obj_namesZsrc_namebaser9rrrobject_filenamess 
$z CygwinCCompiler.object_filenames)__name__
__module____qualname__r,rOZstatic_lib_extensionZshared_lib_extensionZstatic_lib_formatZshared_lib_formatZ
exe_extensionr%r<rGrQrrrrrYs;		Krc@s+eZdZdZdddddZdS)Mingw32CCompilerZmingw32rcCstj|||||jdkr.d}nd}|jdkrLd}nd}trgtd|jdd	d
ddd
dddd|j||fg|_t	|_dS)Nz2.13z-sharedz
-mdll -staticz2.91.57z--entry _DllMain@12rKz1Cygwin gcc cannot be used with --compiler=mingw32rzgcc -O -Wallr zgcc -mdll -O -Wallr!zg++ -O -Wallr"rr#z%s %s %s)
rr%r+r*is_cygwingccr
r.r-r/r)r0r1r2r3r5Zentry_pointrrrr%s&						zMingw32CCompiler.__init__N)rRrSrTr,r%rrrrrUsrUokznot okZ	uncertaincCsddlm}dtjkr)tdfS|j}yPt|}z2d|jkrgtd|fStd|fSWd|j	XWn<t
k
r}ztd||jffSWYdd}~XnXdS)	Nr)	sysconfigZGCCzsys.version mentions 'GCC'Z__GNUC__z'%s' mentions '__GNUC__'z '%s' does not mention '__GNUC__'zcouldn't read '%s': %s)
	distutilsrXrrr'get_config_h_filenameopenreadCONFIG_H_NOTOKcloseOSErrorCONFIG_H_UNCERTAINstrerror)rXfnconfig_hexcrrrr&Hs
r&s(\d+\.\d+(\.\d+)*)cCs|jd}t|dkr&dSt|dddtj}z|j}Wd|jXtj|}|dkr~dSt	|j
djS)NrshellTstdoutr)splitrrrrfr\r^
RE_VERSIONsearchrgroupdecode)cmd
executableout
out_stringresultrrr_find_exe_versionusrqcCs&dddg}tdd|DS)Nzgcc -dumpversionzld -vzdllwrap --versioncSsg|]}t|qSr)rq).0rlrrr
<listcomp>s	z get_versions.<locals>.<listcomp>)tuple)commandsrrrr)sr)cCs%tddg}|jjdS)Nrz-dumpmachinescygwin)rstripendswith)rorrrrVsrV)&r@rr>
subprocessrrrreZdistutils.ccompilerrrZdistutils.unixccompilerrZdistutils.file_utilrZdistutils.errorsr	r
rrrYr
Zdistutils.versionrZdistutils.spawnrrrrUr'r]r`r&compilerhrqr)rVrrrr<module>0s,"1+
Back to Directory File Manager