contrib/setup3k.py
changeset 14972 bcba68e81a81
parent 12865 4c50552fc9bc
child 15151 0d4f6e843b05
equal deleted inserted replaced
14971:0b21ae0a2366 14972:bcba68e81a81
     6 
     6 
     7 from distutils.command.build_py import build_py_2to3
     7 from distutils.command.build_py import build_py_2to3
     8 from lib2to3.refactor import get_fixers_from_package as getfixers
     8 from lib2to3.refactor import get_fixers_from_package as getfixers
     9 
     9 
    10 import sys
    10 import sys
    11 if not hasattr(sys, 'version_info') or sys.version_info < (2, 4, 0, 'final'):
    11 if getattr(sys, 'version_info', (0, 0, 0)) < (2, 4, 0, 'final'):
    12     raise SystemExit("Mercurial requires Python 2.4 or later.")
    12     raise SystemExit("Mercurial requires Python 2.4 or later.")
    13 
    13 
    14 if sys.version_info[0] >= 3:
    14 if sys.version_info[0] >= 3:
    15     def b(s):
    15     def b(s):
    16         '''A helper function to emulate 2.6+ bytes literals using string
    16         '''A helper function to emulate 2.6+ bytes literals using string
   234 
   234 
   235     def build_extension(self, ext):
   235     def build_extension(self, ext):
   236         try:
   236         try:
   237             build_ext.build_extension(self, ext)
   237             build_ext.build_extension(self, ext)
   238         except CCompilerError:
   238         except CCompilerError:
   239             if not hasattr(ext, 'optional') or not ext.optional:
   239             if getattr(ext, 'optional', False):
   240                 raise
   240                 raise
   241             log.warn("Failed to build optional extension '%s' (skipping)",
   241             log.warn("Failed to build optional extension '%s' (skipping)",
   242                      ext.name)
   242                      ext.name)
   243 
   243 
   244 class hgbuildpy(build_py_2to3):
   244 class hgbuildpy(build_py_2to3):