mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Visious hackery to solve a build-control problem related to our use of
distutils for the library modules built as shared objects. A better solution appears possible, but with the threat that the distutils becomes more magical ("complex"). This closes SF bug #458343.
This commit is contained in:
parent
e3d7622fb3
commit
9028d0a525
2 changed files with 18 additions and 0 deletions
|
@ -456,6 +456,17 @@ class build_ext (Command):
|
||||||
debug=self.debug,
|
debug=self.debug,
|
||||||
extra_postargs=extra_args)
|
extra_postargs=extra_args)
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
self._built_objects = objects[:]
|
||||||
|
|
||||||
# Now link the object files together into a "shared object" --
|
# Now link the object files together into a "shared object" --
|
||||||
# of course, first we have to figure out all the other things
|
# of course, first we have to figure out all the other things
|
||||||
# that go into the mix.
|
# that go into the mix.
|
||||||
|
|
7
setup.py
7
setup.py
|
@ -172,6 +172,13 @@ class PyBuildExt(build_ext):
|
||||||
self.get_ext_filename(fullname))
|
self.get_ext_filename(fullname))
|
||||||
os.remove(ext_filename)
|
os.remove(ext_filename)
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
for filename in self._built_objects:
|
||||||
|
os.remove(filename)
|
||||||
|
|
||||||
def get_platform (self):
|
def get_platform (self):
|
||||||
# Get value of sys.platform
|
# Get value of sys.platform
|
||||||
platform = sys.platform
|
platform = sys.platform
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue