summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2002-06-26 15:44:30 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2002-06-26 15:44:30 (GMT)
commit4439b7c67e057db24067e723f1f553258dfa9d94 (patch)
tree6009469be61cca013a4a6a3dc8e240a6d2e0a2d3
parentab5320bfd99d1509b67f26a347758b5ae2431523 (diff)
downloadcpython-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.py35
1 files changed, 18 insertions, 17 deletions
diff --git a/setup.py b/setup.py
index d09602e..ce8d13c 100644
--- a/setup.py
+++ b/setup.py
@@ -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