msvccompiler.py 1.0 KB

1234567891011121314151617181920212223242526
  1. from __future__ import division, absolute_import, print_function
  2. import os
  3. import distutils.msvccompiler
  4. from distutils.msvccompiler import *
  5. from .system_info import platform_bits
  6. class MSVCCompiler(distutils.msvccompiler.MSVCCompiler):
  7. def __init__(self, verbose=0, dry_run=0, force=0):
  8. distutils.msvccompiler.MSVCCompiler.__init__(self, verbose, dry_run, force)
  9. def initialize(self, plat_name=None):
  10. environ_lib = os.getenv('lib')
  11. environ_include = os.getenv('include')
  12. distutils.msvccompiler.MSVCCompiler.initialize(self, plat_name)
  13. if environ_lib is not None:
  14. os.environ['lib'] = environ_lib + os.environ['lib']
  15. if environ_include is not None:
  16. os.environ['include'] = environ_include + os.environ['include']
  17. if platform_bits == 32:
  18. # msvc9 building for 32 bits requires SSE2 to work around a
  19. # compiler bug.
  20. self.compile_options += ['/arch:SSE2']
  21. self.compile_options_debug += ['/arch:SSE2']