[Python-checkins] cpython: Remove pointless "vile hack" that can cause the build step to fail when some

antoine.pitrou python-checkins at python.org
Tue Sep 30 14:59:15 CEST 2014


https://hg.python.org/cpython/rev/94af1af93670
changeset:   92664:94af1af93670
parent:      92657:6e7d923dfd2a
user:        Antoine Pitrou <solipsis at pitrou.net>
date:        Tue Sep 30 14:58:22 2014 +0200
summary:
  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.

files:
  Lib/distutils/command/build_ext.py |  11 ++---------
  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
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -545,15 +545,8 @@
                                          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" --
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -381,17 +381,6 @@
                 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" '

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list