MINI MINI MANI MO
3
  \w                 @   sT  d Z ddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
 ddlmZm
Z
mZ ddlmZ ddlmZ ddlZejZejZejZejZejejejejfZ ej!dkoej"d&kZ#e#rd
Z$dZ%dZ&nd
Z$dZ%dZ&ddddZ'G dd dZ(G dd dZ)dd Z*dd Z+dd Z,dd Z-d'd d!Z.e* Z/e/d"k r@ed#e/ G d$d% d%eZ0dS )(a  distutils.msvc9compiler
Contains MSVCCompiler, an implementation of the abstract CCompiler class
for the Microsoft Visual Studio 2008.
The module is compatible with VS 2005 and VS 2008. You can find legacy support
for older versions of VS in distutils.msvccompiler.
    N)DistutilsExecErrorDistutilsPlatformErrorCompileErrorLibError	LinkError)	CCompilergen_preprocess_optionsgen_lib_options)log)get_platformwin32       z1Software\Wow6432Node\Microsoft\VisualStudio\%0.1fz5Software\Wow6432Node\Microsoft\Microsoft SDKs\Windowsz,Software\Wow6432Node\Microsoft\.NETFrameworkz%Software\Microsoft\VisualStudio\%0.1fz)Software\Microsoft\Microsoft SDKs\Windowsz Software\Microsoft\.NETFrameworkx86amd64Zia64)r   z	win-amd64zwin-ia64c               @   sP   e Zd ZdZdd ZeeZdd ZeeZdd ZeeZdd	 Ze	eZd
S )Regz2Helper class to read values from the registry
    c             C   s:   x,t D ]$}| j||}|r||kr|| S qW t|d S )N)HKEYSread_valuesKeyError)clspathkeybased r   //usr/lib64/python3.6/distutils/msvc9compiler.py	get_valueA   s
    
z
Reg.get_valuec             C   sn   yt ||}W n tk
r"   dS X g }d}x<yt||}W n tk
rR   P Y nX |j| |d7 }q.W |S )zReturn list of registry keys.Nr      )RegOpenKeyExRegError
RegEnumKeyappend)r   r   r   handleLikr   r   r   	read_keysI   s    
z
Reg.read_keysc       	      C   s   yt ||}W n tk
r"   dS X i }d}xTyt||\}}}W n tk
rX   P Y nX |j }| j||| j|<