diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2014-09-30 12:58:22 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2014-09-30 12:58:22 (GMT) |
commit | afa3153b27c160ddd533d5716644bf38fb41fff1 (patch) | |
tree | 08135681e4ff064b90a19e7ccd77276a8c3203dc | |
parent | 6b8e0ed562e867ebffed0209266e21d9f0a4bb77 (diff) | |
download | cpython-afa3153b27c160ddd533d5716644bf38fb41fff1.zip cpython-afa3153b27c160ddd533d5716644bf38fb41fff1.tar.gz cpython-afa3153b27c160ddd533d5716644bf38fb41fff1.tar.bz2 |
Remove pointless "vile hack" that can cause the build step to fail when some extension modules can't be imported.
See issue #5309 for the build failures, issue #458343 for the original motivation.
-rw-r--r-- | Lib/distutils/command/build_ext.py | 11 | ||||
-rw-r--r-- | setup.py | 11 |
2 files changed, 2 insertions, 20 deletions
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 08449e1..2ffab18 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -545,15 +545,8 @@ class build_ext(Command): extra_postargs=extra_args, depends=ext.depends) - # XXX -- this is a Vile HACK! - # - # The setup.py script for Python on Unix needs to be able to - # get this list so it can perform all the clean up needed to - # avoid keeping object files around when cleaning out a failed - # build of an extension module. Since Distutils does not - # track dependencies, we have to get rid of intermediates to - # ensure all the intermediates will be properly re-built. - # + # XXX outdated variable, kept here in case third-part code + # needs it. self._built_objects = objects[:] # Now link the object files together into a "shared object" -- @@ -381,17 +381,6 @@ class PyBuildExt(build_ext): os.remove(newname) os.rename(ext_filename, newname) - # XXX -- This relies on a Vile HACK in - # distutils.command.build_ext.build_extension(). The - # _built_objects attribute is stored there strictly for - # use here. - # If there is a failure, _built_objects may not be there, - # so catch the AttributeError and move on. - try: - for filename in self._built_objects: - os.remove(filename) - except AttributeError: - self.announce('unable to remove files (ignored)') except: exc_type, why, tb = sys.exc_info() self.announce('*** WARNING: importing extension "%s" ' |