Your IP : 3.142.199.54
3
� f[@ � @ s� d Z ddlZddlZddlZddlmZmZmZ ddlZddl m
Z
mZ ddlm
Z
ddlmZ ddlmZmZmZmZ ddlmZ dd lmZ dd
lmZ dd� ZG d
d� de
�ZG dd� de�ZdZdZdZ dd� Z!ej"d�Z#dd� Z$dd� Z%dd� Z&dS )a distutils.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).
� N)�Popen�PIPE�check_output)�gen_preprocess_options�gen_lib_options)�
UnixCCompiler)�
write_file)�DistutilsExecError�CCompilerError�CompileError�UnknownFileError)�log)�LooseVersion)�find_executablec C s� t jjd�} | dkr|t j| d | d � }|dkr8dgS |dkrFdgS |d krTd
gS |dkrbdgS |d
krpdgS td| ��dS )zaInclude the appropriate MSVC runtime library if Python was built
with MSVC 7.0 or later.
zMSC v.� � �
Z1300Zmsvcr70Z1310Zmsvcr71Z1400Zmsvcr80Z1500Zmsvcr90Z1600Zmsvcr100zUnknown MS Compiler version %s N���)�sys�version�find�
ValueError)Zmsc_posZmsc_ver� r �>/opt/alt/python36/lib64/python3.6/distutils/cygwinccompiler.py� get_msvcr? s r c
@ sR e Zd ZdZdZdZdZdZdZdZ dZ
dd
d�Zdd
� Zddd�Z
ddd�ZdS )�CygwinCCompilerz? Handles the Cygwin port of the GNU C compiler to Windows.
�cygwinz.oz.az.dllzlib%s%sz%s%sz.exer c C s� t j| |||� t� \}}| jd||f � |tk rB| jd| � t� \| _| _| _ | j| j
d| j| j| j f � | jdkr�d| _nd| _| jdkr�d}nd }| jd
ddd
d| j|f d� | jdkr�dg| _
| jd� nt� | _
d S )Nz%Python's GCC status: %s (details: %s)z�Python'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.90�gcc�dllwrapz2.13z-sharedz
-mdll -staticzgcc -mcygwin -O -Wallzgcc -mcygwin -mdll -O -Wallzg++ -mcygwin -O -Wallzgcc -mcygwinz%s -mcygwin %s)�compiler�compiler_so�compiler_cxx�
linker_exe� linker_soz2.91.57Zmsvcrtz,Consider upgrading to a newer version of gcc)r �__init__�check_config_hZdebug_print�CONFIG_H_OK�warn�get_versions�gcc_version�
ld_versionZdllwrap_version�
compiler_type�
linker_dll�set_executables�
dll_librariesr )�self�verbose�dry_run�forceZstatusZdetails�
shared_optionr r r r$ d s<