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.

This commit is contained in:
Jack Jansen 2002-06-26 15:44:30 +00:00
parent ab5320bfd9
commit 4439b7c67e

View file

@ -18,7 +18,7 @@ def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if """Add the directory 'dir' to the list 'dirlist' (at the front) if
1) 'dir' is not already in 'dirlist' 1) 'dir' is not already in 'dirlist'
2) 'dir' actually exists, and is a directory.""" 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) dirlist.insert(0, dir)
def find_file(filename, std_dirs, paths): def find_file(filename, std_dirs, paths):
@ -99,7 +99,7 @@ class PyBuildExt(build_ext):
# Platform-dependent module source and include directories # Platform-dependent module source and include directories
platform = self.get_platform() platform = self.get_platform()
if platform == 'darwin': if platform in ('darwin', 'mac'):
# Mac OS X also includes some mac-specific modules # Mac OS X also includes some mac-specific modules
macmoddir = os.path.join(os.getcwd(), srcdir, 'Mac/Modules') macmoddir = os.path.join(os.getcwd(), srcdir, 'Mac/Modules')
moddirlist.append(macmoddir) moddirlist.append(macmoddir)
@ -126,6 +126,7 @@ class PyBuildExt(build_ext):
if ext.name in sys.builtin_module_names: if ext.name in sys.builtin_module_names:
self.extensions.remove(ext) self.extensions.remove(ext)
if platform != 'mac':
# Parse Modules/Setup to figure out which modules are turned # Parse Modules/Setup to figure out which modules are turned
# on in the file. # on in the file.
input = text_file.TextFile('Modules/Setup', join_lines=1) input = text_file.TextFile('Modules/Setup', join_lines=1)
@ -258,7 +259,7 @@ class PyBuildExt(build_ext):
# Check for MacOS X, which doesn't need libm.a at all # Check for MacOS X, which doesn't need libm.a at all
math_libs = ['m'] math_libs = ['m']
if platform in ['darwin', 'beos']: if platform in ['darwin', 'beos', 'mac']:
math_libs = [] math_libs = []
# XXX Omitted modules: gl, pure, dl, SGI-specific modules # XXX Omitted modules: gl, pure, dl, SGI-specific modules