351 |
351 |
352 if self.distribution.pure: |
352 if self.distribution.pure: |
353 self.distribution.ext_modules = [] |
353 self.distribution.ext_modules = [] |
354 elif self.distribution.cffi: |
354 elif self.distribution.cffi: |
355 from mercurial.cffi import ( |
355 from mercurial.cffi import ( |
356 bdiff, |
356 bdiffbuild, |
357 mpatch, |
357 mpatchbuild, |
358 ) |
358 ) |
359 exts = [mpatch.ffi.distutils_extension(), |
359 exts = [mpatchbuild.ffi.distutils_extension(), |
360 bdiff.ffi.distutils_extension()] |
360 bdiffbuild.ffi.distutils_extension()] |
361 # cffi modules go here |
361 # cffi modules go here |
362 if sys.platform == 'darwin': |
362 if sys.platform == 'darwin': |
363 from mercurial.cffi import osutil |
363 from mercurial.cffi import osutilbuild |
364 exts.append(osutil.ffi.distutils_extension()) |
364 exts.append(osutilbuild.ffi.distutils_extension()) |
365 self.distribution.ext_modules = exts |
365 self.distribution.ext_modules = exts |
366 else: |
366 else: |
367 h = os.path.join(get_python_inc(), 'Python.h') |
367 h = os.path.join(get_python_inc(), 'Python.h') |
368 if not os.path.exists(h): |
368 if not os.path.exists(h): |
369 raise SystemExit('Python headers are required to build ' |
369 raise SystemExit('Python headers are required to build ' |