File: //opt/alt/python35/lib64/python3.5/distutils/__pycache__/_msvccompiler.cpython-35.opt-1.pyc
��Yf�O  �               @   s*  d  Z  d d l Z d d l Z d d l Z d d l Z d d l m Z m Z m Z m	 Z	 m
 Z
 d d l m Z m
 Z
 d d l m Z d d l m Z d d l Z d d l m Z d d	 �  Z d
 d �  Z d d d
 � Z d d d d i Z d d d d d d i Z e d g � Z Gd d �  d e � Z d S)a  distutils._msvccompiler
Contains MSVCCompiler, an implementation of the abstract CCompiler class
for Microsoft Visual Studio 2015.
The module is compatible with VS 2015 and later. You can find legacy support
for older versions in distutils.msvc9compiler and distutils.msvccompiler.
�    N)�DistutilsExecError�DistutilsPlatformError�CompileError�LibError�	LinkError)�	CCompiler�gen_lib_options)�log)�get_platform)�countc          $   C   s�  y) t  j t  j d d t  j t  j B�} Wn# t k
 rN t j d � d	 SYn X| ��d } d  } x� t �  D]� } y t  j	 | | � \ } } } Wn t k
 r� PYn X| rl | t  j
 k rl t j j
 | � rl y t t | � � } Wn t t f k
 rwl Yn X| d k rl | | k rl | | } } ql W| sBt j d � d
 St j j | d � }	 t j j |	 � s}t j d |	 � d Sd  }
 t j |  � } | r�t j j | | j | � � }
 t j j |
 � s�t j d |
 � d  }
 |	 |
 f SWd  QRXd  S)Nz'Software\Microsoft\VisualStudio\SxS\VC7�accesszVisual C++ is not registeredr   �   z$No suitable Visual C++ version foundz
vcvarsall.batz%s cannot be found)NN)NN)NN)�winregZ	OpenKeyEx�HKEY_LOCAL_MACHINEZKEY_READZKEY_WOW64_32KEY�OSErrorr	   �debugr   Z	EnumValueZREG_SZ�os�path�isdir�int�float�
ValueError�	TypeError�join�isfile� _VCVARS_PLAT_TO_VCRUNTIME_REDIST�get�format)�	plat_spec�keyZbest_versionZbest_dir�i�vZvc_dirZvt�version�	vcvarsall�	vcruntimeZvcruntime_spec� r%   �</opt/alt/python35/lib64/python3.5/distutils/_msvccompiler.py�_find_vcvarsall   sN    
	
'
r'