diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2001-02-23 16:32:32 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2001-02-23 16:32:32 (GMT) |
commit | 8d7f0869ee672d7e9e8e1bf126bf717d8223ee2b (patch) | |
tree | c4eb47aeb26abf85d1346a15bd80624c9d77d214 | |
parent | e06337a9285ce50ba86dd7dff27df0b56905a8b0 (diff) | |
download | cpython-8d7f0869ee672d7e9e8e1bf126bf717d8223ee2b.zip cpython-8d7f0869ee672d7e9e8e1bf126bf717d8223ee2b.tar.gz cpython-8d7f0869ee672d7e9e8e1bf126bf717d8223ee2b.tar.bz2 |
Patch #103899: Don't compile modules configured in Setup. This seems much
simpler than adding a bazillion switches, but means that the makesetup
method probably can't ever go away completely. Oh well...
-rw-r--r-- | setup.py | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -8,6 +8,7 @@ __version__ = "$Revision$" import sys, os, getopt from distutils import sysconfig +from distutils import text_file from distutils.errors import * from distutils.core import Extension, setup from distutils.command.build_ext import build_ext @@ -89,6 +90,21 @@ class PyBuildExt(build_ext): if ext.name in sys.builtin_module_names: self.extensions.remove(ext) + # Parse Modules/Setup to figure out which modules are turned + # on in the file. + input = text_file.TextFile('Modules/Setup', join_lines=1) + remove_modules = [] + while 1: + line = input.readline() + if not line: break + line = line.split() + remove_modules.append( line[0] ) + input.close() + + for ext in self.extensions[:]: + if ext.name in remove_modules: + self.extensions.remove(ext) + # When you run "make CC=altcc" or something similar, you really want # those environment variables passed into the setup.py phase. Here's # a small set of useful ones. |