diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2002-06-26 15:44:30 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2002-06-26 15:44:30 (GMT) |
commit | 4439b7c67e057db24067e723f1f553258dfa9d94 (patch) | |
tree | 6009469be61cca013a4a6a3dc8e240a6d2e0a2d3 | |
parent | ab5320bfd99d1509b67f26a347758b5ae2431523 (diff) | |
download | cpython-4439b7c67e057db24067e723f1f553258dfa9d94.zip cpython-4439b7c67e057db24067e723f1f553258dfa9d94.tar.gz cpython-4439b7c67e057db24067e723f1f553258dfa9d94.tar.bz2 |
Fixed a few showstoppers in the process of making MacPython use setup.py to build it's exension modules (in stead of relying on a private mechanism). It definitely doesn't work yet, but it looks promising.
-rw-r--r-- | setup.py | 35 |
1 files changed, 18 insertions, 17 deletions
@@ -18,7 +18,7 @@ def add_dir_to_list(dirlist, dir): """Add the directory 'dir' to the list 'dirlist' (at the front) if 1) 'dir' is not already in 'dirlist' 2) 'dir' actually exists, and is a directory.""" - if os.path.isdir(dir) and dir not in dirlist: + if dir is not None and os.path.isdir(dir) and dir not in dirlist: dirlist.insert(0, dir) def find_file(filename, std_dirs, paths): @@ -99,7 +99,7 @@ class PyBuildExt(build_ext): # Platform-dependent module source and include directories platform = self.get_platform() - if platform == 'darwin': + if platform in ('darwin', 'mac'): # Mac OS X also includes some mac-specific modules macmoddir = os.path.join(os.getcwd(), srcdir, 'Mac/Modules') moddirlist.append(macmoddir) @@ -126,20 +126,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) + if platform != 'mac': + # 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 @@ -258,7 +259,7 @@ class PyBuildExt(build_ext): # Check for MacOS X, which doesn't need libm.a at all math_libs = ['m'] - if platform in ['darwin', 'beos']: + if platform in ['darwin', 'beos', 'mac']: math_libs = [] # XXX Omitted modules: gl, pure, dl, SGI-specific modules |