3 \[@ ã @ sú d dl Z d dlZd dlZd dlmZmZmZ d dlZd dlm Z m Z d dlmZ d dl mZ d dlmZmZmZmZ d dlmZ d dlmZ d d lmZ d d„ ZG dd „ d eƒZG dd„ deƒZdZdZdZdd„ Z ej!dƒZ"dd„ Z#dd„ Z$dd„ Z%dS )é 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| ƒ‚d S )NzMSC v.é é é Z1300Zmsvcr70Z1310Zmsvcr71Z1400Zmsvcr80Z1500Zmsvcr90Z1600Zmsvcr100zUnknown MS Compiler version %s éÿÿÿÿ)ÚsysÚversionÚfindÚ ValueError)Zmsc_posZmsc_ver© r ú1/usr/lib64/python3.6/distutils/cygwinccompiler.pyÚ get_msvcr? s r c @ sN e Zd ZdZdZdZdZdZdZdZ dd d „Z dd„ Zddd„Zddd„Z d S )ÚCygwinCCompilerÚ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<