;
Ñâ"Ic               @   s   d  Z  d 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 m Z d d l m Z d d l m Z d d l Z e j Z e j Z e j Z e j Z e j e j e j e j f Z  d Z! d	 Z" d
 Z# i d d 6d d 6d d 6Z$ Gd „  d ƒ Z% Gd „  d ƒ Z& d „  Z' d „  Z( d „  Z) d „  Z* d d „ Z+ e' ƒ  Z, e, d k  o e d e, ƒ ‚ n Gd „  d e ƒ Z- d S(   u  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.
uE   $Id: msvc9compiler.py 66172 2008-09-02 23:22:56Z amaury.forgeotdarc $i    N(   u   DistutilsExecErroru   DistutilsPlatformErroru   CompileErroru   LibErroru	   LinkError(   u	   CCompileru   gen_preprocess_optionsu   gen_lib_options(   u   log(   u   get_platformu%   Software\Microsoft\VisualStudio\%0.1fu)   Software\Microsoft\Microsoft SDKs\Windowsu    Software\Microsoft\.NETFrameworku   x86u   win32u   amd64u	   win-amd64u   ia64u   win-ia64c             B   sP   |  Ee  Z d  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d S(   u2   Helper class to read values from the registry
    c             C   sP   x= t  D]5 } |  j | | ƒ } | o | | k o	 | | Sq Wt | ƒ ‚ d  S(   N(   u   HKEYSu   read_valuesu   KeyError(   u   clsu   pathu   keyu   baseu   d(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu	   get_value8   s     c             C   s†   y t  | | ƒ } Wn t k
 o d SYn Xg  } d } xE y t | | ƒ } Wn t k
 o	 PYn X| j | ƒ | d 7} q= | S(   u   Return list of registry keys.i    i   N(   u   RegOpenKeyExu   RegErroru   Noneu
   RegEnumKeyu   append(   u   clsu   baseu   keyu   handleu   Lu   iu   k(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu	   read_keys@   s    
c       	      C   sª   y t  | | ƒ } Wn t k
 o d SYn Xi  } d } xi y t | | ƒ \ } } } Wn t k
 o	 PYn X| j ƒ  } |  j | ƒ | |  j | ƒ <| d 7} q= | S(   u`   Return dict of registry keys and values.

        All names are converted to lowercase.
        i    i   N(   u   RegOpenKeyExu   RegErroru   Noneu   RegEnumValueu   loweru   convert_mbcs(	   u   clsu   baseu   keyu   handleu   du   iu   nameu   valueu   type(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   read_valuesR   s    
c             C   sN   t  |  d d  ƒ } | d  k	 o+ y | d ƒ }  WqJ t k
 o YqJ Xn |  S(   Nu   decodeu   mbcs(   u   getattru   Noneu   UnicodeError(   u   su   dec(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   convert_mbcsh   s    
N(	   u   __name__u
   __module__u   __doc__u   classmethodu	   get_valueu	   read_keysu   read_valuesu   staticmethodu   convert_mbcs(   u
   __locals__(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   Reg4   s
   
u   Regc             B   s2   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d S(   c             C   s'   i  |  _  t | |  _ |  j | ƒ d  S(   N(   u   macrosu   VS_BASEu   vsbaseu   load_macros(   u   selfu   version(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   __init__t   s    	c             C   s!   t  j | | ƒ |  j d | <d  S(   Nu   $(%s)(   u   Regu	   get_valueu   macros(   u   selfu   macrou   pathu   key(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu	   set_macroy   s    c             C   so  |  j  d |  j d d ƒ |  j  d |  j d d ƒ |  j  d t d ƒ y4 | d k o |  j  d	 t d
 ƒ n t d
 ƒ ‚ Wn3 t k
 o' } z t d ƒ ‚ WYd  d  } ~ Xn X| d k o- |  j  d |  j d ƒ |  j  d t d ƒ n d } xw t D]o } y t | | ƒ } Wn t k
 o wø Yn Xt	 | d ƒ } t
 j | d | | f ƒ } | d |  j d <qø Wd  S(   Nu   VCInstallDiru	   \Setup\VCu
   productdiru   VSInstallDiru	   \Setup\VSu   FrameworkDiru   installrootg       @u   FrameworkSDKDiru   sdkinstallrootv2.0u  Python was built with Visual Studio 2008;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2008 was not found on this system. If you have Cygwin installed,
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.g      "@u   FrameworkVersionu   clr versionu   WindowsSdkDiru   currentinstallfolderu.   Software\Microsoft\NET Framework Setup\Producti    u   %s\%su   versionu   $(FrameworkVersion)(   u	   set_macrou   vsbaseu   NET_BASEu   KeyErroru   DistutilsPlatformErroru   WINSDK_BASEu   HKEYSu   RegOpenKeyExu   RegErroru
   RegEnumKeyu   Regu	   get_valueu   macros(   u   selfu   versionu   excu   pu   baseu   hu   keyu   d(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   load_macros|   s0     	c             C   s6   x/ |  j  j ƒ  D] \ } } | j | | ƒ } q W| S(   N(   u   macrosu   itemsu   replace(   u   selfu   su   ku   v(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   sub›   s     N(   u   __name__u
   __module__u   __init__u	   set_macrou   load_macrosu   sub(   u
   __locals__(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   MacroExpanderr   s   
			u   MacroExpanderc              C   sÄ   d }  t  j j |  ƒ } | d k o d S| t |  ƒ } t  j | d … j d d ƒ \ } } t | d d … ƒ d } t | d d	 … ƒ d
 } | d k o
 d } n | d k o	 | | Sd S(   uÃ   Return the version of MSVC that was used to build Python.

    For Python 2.3 and up, the version number is included in
    sys.version.  For earlier versions, assume the compiler is MSVC 6.
    u   MSC v.iÿÿÿÿi   Nu    i   iþÿÿÿi   i   g      $@i    (   u   sysu   versionu   findu   lenu   splitu   intu   None(   u   prefixu   iu   su   restu   majorVersionu   minorVersion(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   get_build_version    s    %
	c             C   sK   g  } x> |  D]6 } t  j j | ƒ } | | k o | j | ƒ q q W| S(   un   Return a list of normalized paths with duplicates removed.

    The current order of paths is maintained.
    (   u   osu   pathu   normpathu   append(   u   pathsu   reduced_pathsu   pu   np(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   normalize_and_reduce_paths¶   s     c             C   s]   |  j  t j ƒ } g  } x, | D]$ } | | k o | j | ƒ q q Wt j j | ƒ } | S(   u8   Remove duplicate values of an environment variable.
    (   u   splitu   osu   pathsepu   appendu   join(   u   variableu   oldListu   newListu   iu   newVariable(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   removeDuplicatesÄ   s     c             C   so  t  |  } y t j d | d ƒ } Wn' t k
 o t j d ƒ d } Yn X| p t j j	 | ƒ o® d |  } t j
 j | d ƒ } | os t j j	 | ƒ o` t j j | t j t j d ƒ } t j j | ƒ } t j j	 | ƒ p t j d | ƒ d Sqt j d | ƒ n | p t j d ƒ d St j j | d	 ƒ } t j j | ƒ o | St j d
 ƒ d S(   u¨   Find the vcvarsall.bat file

    At first it tries to find the productdir of VS 2008 in the registry. If
    that fails it falls back to the VS90COMNTOOLS env var.
    u   %s\Setup\VCu
   productdiru%   Unable to find productdir in registryu   VS%0.f0COMNTOOLSu   VCu   %s is not a valid directoryu    Env var %s is not set or invalidu   No productdir foundu   vcvarsall.batu   Unable to find vcvarsall.batN(   u   VS_BASEu   Regu	   get_valueu   KeyErroru   logu   debugu   Noneu   osu   pathu   isdiru   environu   getu   joinu   pardiru   abspathu   isfile(   u   versionu   vsbaseu
   productdiru   toolskeyu   toolsdiru	   vcvarsall(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   find_vcvarsallÏ   s2    

!	c             C   sº  t  |  ƒ } t d ƒ } i  } | d k o t d ƒ ‚ n t j d | |  ƒ t j d | | f d t j d	 t j ƒ} | j	 ƒ  \ } } | j
 ƒ  d
 k o t | j d ƒ ƒ ‚ n | j d ƒ } x² | j d ƒ D]¡ } t j | ƒ } d | k o qÖ n | j ƒ  } | j d d ƒ \ }	 }
 |	 j ƒ  }	 |	 | k o; |
 j t j ƒ o |
 d d … }
 n t |
 ƒ | |	 <qÖ qÖ Wt | ƒ t | ƒ k o" t t t | j ƒ  ƒ ƒ ƒ ‚ n | S(   uD   Launch vcvarsall.bat and read the settings from its environment
    u   includeu   libu   libpathu   pathu   Unable to find vcvarsall.batu'   Calling 'vcvarsall.bat %s' (version=%s)u   "%s" %s & setu   stdoutu   stderri    u   mbcsu   
u   =i   Niÿÿÿÿ(   u   includeu   libu   libpathu   path(   u   find_vcvarsallu   setu   Noneu   IOErroru   logu   debugu
   subprocessu   Popenu   PIPEu   communicateu   waitu   decodeu   splitu   Regu   convert_mbcsu   stripu   loweru   endswithu   osu   pathsepu   removeDuplicatesu   lenu
   ValueErroru   stru   listu   keys(   u   versionu   archu	   vcvarsallu   interestingu   resultu   popenu   stdoutu   stderru   lineu   keyu   value(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   query_vcvarsallò   s8    	 "g       @u(   VC %0.1f is not supported by this modulec             B   s8  |  Ee  Z d  Z d Z i  Z d g Z d d d g Z d g Z d g Z e e e e Z	 d Z
 d	 Z d
 Z d Z d Z Z d Z d d d d „ Z d d „ Z d d d „ Z d d d d d d d d „ Z d d d d „ Z d d d d d d d d d d d „
 Z d „  Z d „  Z d „  Z d d „ Z d „  Z d S(   uw   Concrete class that implements an interface to Microsoft Visual C++,
       as defined by the CCompiler abstract class.u   msvcu   .cu   .ccu   .cppu   .cxxu   .rcu   .mcu   .resu   .obju   .libu   .dllu   %s%su   .exei    c             C   sP   t  j |  | | | ƒ t |  _ d |  _ g  |  _ d  |  _ d  |  _ d |  _
 d  S(   Nu   Software\Microsoft\VisualStudioF(   u	   CCompileru   __init__u   VERSIONu   _MSVCCompiler__versionu   _MSVCCompiler__rootu   _MSVCCompiler__pathu   Noneu	   plat_nameu   _MSVCCompiler__archu   Falseu   initialized(   u   selfu   verboseu   dry_runu   force(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   __init__:  s    					c             C   s  | d  k o t ƒ  } n d$ } | | k o t d | f ƒ ‚ n d t j k oQ d t j k oA |  j d ƒ o1 d |  _ d |  _ d	 |  _ d
 |  _	 d |  _
 n| t ƒ  k p | d k o t | } n t t ƒ  d t | } t t | ƒ } | d j t j ƒ |  _ | d t j d <| d t j d <t |  j ƒ d k o t d |  j ƒ ‚ n |  j d ƒ |  _ |  j d ƒ |  _ |  j d	 ƒ |  _ |  j d
 ƒ |  _	 |  j d ƒ |  _
 y5 x. t j d j d ƒ D] } |  j j | ƒ qÔWWn t k
 o Yn Xt |  j ƒ |  _ d j |  j ƒ t j d <d  |  _ |  j d k o7 d d d d d g |  _ d d d d d d g |  _ n: d d d d d d g |  _ d d d d d d d g |  _ d d d g |  _ |  j d  k o d d d! d" d# g |  _ n d g |  _ d% |  _  d  S(&   Nu   win32u	   win-amd64u   win-ia64u   --plat-name must be one of %su   DISTUTILS_USE_SDKu   MSSdku   cl.exeu   link.exeu   lib.exeu   rc.exeu   mc.exeu   _u   pathu   libu   includei    ux   Python was built with %s, and extensions need to be built with the same version of the compiler, but it isn't installed.u   ;u   x86u   /nologou   /Oxu   /MDu   /W3u   /DNDEBUGu   /Odu   /MDdu   /Z7u   /D_DEBUGu   /GS-u   /DLLu   /INCREMENTAL:NOi   u   /INCREMENTAL:nou   /DEBUGu	   /pdb:None(   u   win32u	   win-amd64u   win-ia64T(!   u   Noneu   get_platformu   DistutilsPlatformErroru   osu   environu   find_exeu   ccu   linkeru   libu   rcu   mcu   PLAT_TO_VCVARSu   query_vcvarsallu   VERSIONu   splitu   pathsepu   _MSVCCompiler__pathsu   lenu   _MSVCCompiler__productu   appendu   KeyErroru   normalize_and_reduce_pathsu   joinu   preprocess_optionsu   _MSVCCompiler__archu   compile_optionsu   compile_options_debugu   ldflags_sharedu   _MSVCCompiler__versionu   ldflags_shared_debugu   ldflags_staticu   Trueu   initialized(   u   selfu	   plat_nameu   ok_platsu	   plat_specu   vc_envu   p(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu
   initializeE  sf    0				 	u    c             C   sN  | d  k o
 d } n g  } x*| D]"} t j j | ƒ \ } } t j j | ƒ d } | t j j | ƒ d  … } | |  j k o t d | ƒ ‚ n | o t j j | ƒ } n | |  j	 k o' | j
 t j j | | |  j ƒ ƒ q$ | |  j k o' | j
 t j j | | |  j ƒ ƒ q$ | j
 t j j | | |  j ƒ ƒ q$ W| S(   Nu    i   u   Don't know how to compile %s(   u   Noneu   osu   pathu   splitextu
   splitdriveu   isabsu   src_extensionsu   CompileErroru   basenameu   _rc_extensionsu   appendu   joinu   res_extensionu   _mc_extensionsu   obj_extension(   u   selfu   source_filenamesu	   strip_diru
   output_diru	   obj_namesu   src_nameu   baseu   ext(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   object_filenames›  s*     
 c	             C   s6  |  j  p |  j ƒ  n |  j | | | | | | ƒ }	 |	 \ } }
 } } } | p g  } | j d ƒ | o | j |  j ƒ n | j |  j ƒ xŸ|
 D]—} y | | \ } } Wn t k
 o w— Yn X| o t j	 j
 | ƒ } n | |  j k o d | } n¼| |  j k o d | } nž| |  j k ov | } d | } y) |  j |  j g | | g | g ƒ Wq— t k
 o' } z t | ƒ ‚ WYd  d  } ~ Xq— Xq— n| |  j k oñ t j	 j | ƒ } t j	 j | ƒ } y |  j |  j g d | d | g | g ƒ t j	 j t j	 j | ƒ ƒ \ } } t j	 j | | d ƒ } |  j |  j g d | g | g ƒ Wq— t k
 o' } z t | ƒ ‚ WYd  d  } ~ Xq— Xq— n t d | | f ƒ ‚ d	 | } y- |  j |  j g | | | | g | ƒ Wq— t k
 o' } z t | ƒ ‚ WYd  d  } ~ Xq— Xq— W|
 S(
   Nu   /cu   /Tcu   /Tpu   /fou   -hu   -ru   .rcu"   Don't know how to compile %s to %su   /Fo(   u   initializedu
   initializeu   _setup_compileu   appendu   extendu   compile_options_debugu   compile_optionsu   KeyErroru   osu   pathu   abspathu   _c_extensionsu   _cpp_extensionsu   _rc_extensionsu   spawnu   rcu   DistutilsExecErroru   CompileErroru   _mc_extensionsu   dirnameu   mcu   splitextu   basenameu   joinu   cc(   u   selfu   sourcesu
   output_diru   macrosu   include_dirsu   debugu   extra_preargsu   extra_postargsu   dependsu   compile_infou   objectsu   pp_optsu   buildu   compile_optsu   obju   srcu   extu	   input_optu
   output_optu   msgu   h_diru   rc_diru   baseu   _u   rc_file(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   compileº  sl    
 	
# $$# 
$c       	      C   sÝ   |  j  p |  j ƒ  n |  j | | ƒ \ } } |  j | d | ƒ} |  j | | ƒ oq | d | g } | o n y |  j |  j g | ƒ WqÙ t k
 o' } z t | ƒ ‚ WYd  d  } ~ XqÙ Xn t	 j
 d | ƒ d  S(   Nu
   output_diru   /OUT:u   skipping %s (up-to-date)(   u   initializedu
   initializeu   _fix_object_argsu   library_filenameu
   _need_linku   spawnu   libu   DistutilsExecErroru   LibErroru   logu   debug(	   u   selfu   objectsu   output_libnameu
   output_diru   debugu   target_langu   output_filenameu   lib_argsu   msg(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   create_static_lib  s    
	$c             C   sZ  |  j  p |  j ƒ  n |  j | | ƒ \ } } |  j | | | ƒ } | \ } } } | o |  j d t | ƒ ƒ n t |  | | | ƒ } | d  k	 o t j	 j
 | | ƒ } n |  j | | ƒ o‚| t j k o5 |	 o |  j d d  … } q&|  j d d  … } n |	 o |  j } n
 |  j } g  } x& | p g  D] } | j d | ƒ q:W| | | | d | g } t j	 j | d ƒ } | d  k	 oW t j	 j t j	 j | ƒ ƒ \ } } t j	 j
 | |  j | ƒ ƒ } | j d | ƒ n t j	 j
 | t j	 j | ƒ d ƒ } | j d | ƒ |
 o |
 | d  d … <n | o | j | ƒ n |  j t j	 j | ƒ ƒ y |  j |  j g | ƒ Wn3 t k
 o' } z t | ƒ ‚ WYd  d  } ~ Xn X| t j k o d n d	 } d
 | | f } y  |  j d d d | | g ƒ WqVt k
 o' } z t | ƒ ‚ WYd  d  } ~ XqVXn t j d | ƒ d  S(   Nu5   I don't know what to do with 'runtime_library_dirs': i   u   /EXPORT:u   /OUT:i    u   /IMPLIB:u	   .manifestu   /MANIFESTFILE:i   u   -outputresource:%s;%su   mt.exeu   -nologou	   -manifestu   skipping %s (up-to-date)(   u   initializedu
   initializeu   _fix_object_argsu   _fix_lib_argsu   warnu   stru   gen_lib_optionsu   Noneu   osu   pathu   joinu
   _need_linku	   CCompileru
   EXECUTABLEu   ldflags_shared_debugu   ldflags_sharedu   appendu   dirnameu   splitextu   basenameu   library_filenameu   extendu   mkpathu   spawnu   linkeru   DistutilsExecErroru	   LinkErroru   logu   debug(   u   selfu   target_descu   objectsu   output_filenameu
   output_diru	   librariesu   library_dirsu   runtime_library_dirsu   export_symbolsu   debugu   extra_preargsu   extra_postargsu
   build_tempu   target_langu
   fixed_argsu   lib_optsu   ldflagsu   export_optsu   symu   ld_argsu   dll_nameu   dll_extu   implib_fileu   temp_manifestu   msgu   mfidu   out_arg(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   link(  sp    
				 			 $c             C   s   d | S(   Nu	   /LIBPATH:(    (   u   selfu   dir(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   library_dir_option’  s    c             C   s   t  d ƒ ‚ d  S(   Nu<   don't know how to set runtime library search path for MSVC++(   u   DistutilsPlatformError(   u   selfu   dir(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   runtime_library_dir_option•  s    c             C   s   |  j  | ƒ S(   N(   u   library_filename(   u   selfu   lib(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   library_option™  s    c             C   s„   | o | d | g } n
 | g } xY | D]M } xD | D]< } t  j j | |  j | ƒ ƒ } t  j j | ƒ o | Sq8 Wq+ Wd  Sd  S(   Nu   _d(   u   osu   pathu   joinu   library_filenameu   existsu   None(   u   selfu   dirsu   libu   debugu	   try_namesu   diru   nameu   libfile(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   find_library_file  s    	  c             C   s«   xJ |  j  D]? } t j j t j j | ƒ | ƒ } t j j | ƒ o | Sq
 WxW t j d j d ƒ D]? } t j j t j j | ƒ | ƒ } t j j | ƒ o | Sqd W| S(   uŒ  Return path to an MSVC executable program.

        Tries to find the program in several places: first, one of the
        MSVC program search paths from the registry; next, the directories
        in the PATH environment variable.  If any of those work, return an
        absolute path that is known to exist.  If none of them work, just
        return the original program name, 'exe'.
        u   Pathu   ;(   u   _MSVCCompiler__pathsu   osu   pathu   joinu   abspathu   isfileu   environu   split(   u   selfu   exeu   pu   fn(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   find_exe¯  s    	
 !	 !	N(   u   __name__u
   __module__u   __doc__u   compiler_typeu   executablesu   _c_extensionsu   _cpp_extensionsu   _rc_extensionsu   _mc_extensionsu   src_extensionsu   res_extensionu   obj_extensionu   static_lib_extensionu   shared_lib_extensionu   static_lib_formatu   shared_lib_formatu   exe_extensionu   __init__u   Noneu
   initializeu   object_filenamesu   compileu   create_static_libu   linku   library_dir_optionu   runtime_library_dir_optionu   library_optionu   find_library_fileu   find_exe(   u
   __locals__(    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   MSVCCompiler  sL   
			
XV]			u   MSVCCompiler(.   u   __doc__u   __revision__u   osu
   subprocessu   sysu   distutils.errorsu   DistutilsExecErroru   DistutilsPlatformErroru   CompileErroru   LibErroru	   LinkErroru   distutils.ccompileru	   CCompileru   gen_preprocess_optionsu   gen_lib_optionsu	   distutilsu   logu   distutils.utilu   get_platformu   winregu	   OpenKeyExu   RegOpenKeyExu   EnumKeyu
   RegEnumKeyu	   EnumValueu   RegEnumValueu   erroru   RegErroru
   HKEY_USERSu   HKEY_CURRENT_USERu   HKEY_LOCAL_MACHINEu   HKEY_CLASSES_ROOTu   HKEYSu   VS_BASEu   WINSDK_BASEu   NET_BASEu   PLAT_TO_VCVARSu   Regu   MacroExpanderu   get_build_versionu   normalize_and_reduce_pathsu   removeDuplicatesu   find_vcvarsallu   query_vcvarsallu   VERSIONu   MSVCCompiler(    (    (    u4   /mit/python/lib/python3.0/distutils/msvc9compiler.pyu   <module>   sF   (				
>.				#%	