summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2002-07-08 21:39:36 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2002-07-08 21:39:36 (GMT)
commitd1b2045958306349b04da931a1a400d7e9a49fb9 (patch)
treef4bd5af599980f5b686c2defd933b332cc18f6c3 /setup.py
parent623fdb9884bb1cf2f38036f0a5e81bccd6b78935 (diff)
downloadcpython-d1b2045958306349b04da931a1a400d7e9a49fb9.zip
cpython-d1b2045958306349b04da931a1a400d7e9a49fb9.tar.gz
cpython-d1b2045958306349b04da931a1a400d7e9a49fb9.tar.bz2
The readme file said that OSX Carbon modules were only built for
-enable-framework builds, but setup.py built them anyway. Fixed. Also normalized whitespace. Bugfix candidate.
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py70
1 files changed, 41 insertions, 29 deletions
diff --git a/setup.py b/setup.py
index 67a4666..4a365d5 100644
--- a/setup.py
+++ b/setup.py
@@ -510,6 +510,7 @@ class PyBuildExt(build_ext):
dblibs = [dblib]
raise found
except found:
+ dblibs = [dblib]
# A default source build puts Berkeley DB in something like
# /usr/local/Berkeley.3.3 and the lib dir under that isn't
# normally on ld.so's search path, unless the sysadmin has hacked
@@ -524,33 +525,42 @@ class PyBuildExt(build_ext):
runtime_library_dirs=[dblib_dir],
include_dirs=db_incs,
define_macros=[('HAVE_DB_185_H',1)],
- libraries=[dblib]))
+ libraries=dblibs))
else:
exts.append(Extension('bsddb', ['bsddbmodule.c'],
library_dirs=[dblib_dir],
runtime_library_dirs=[dblib_dir],
include_dirs=db_incs,
- libraries=[dblib]))
+ libraries=dblibs))
else:
db_incs = None
dblibs = []
dblib_dir = None
# The standard Unix dbm module:
- if platform not in ['cygwin', 'mac']:
- if (self.compiler.find_library_file(lib_dirs, 'ndbm')):
+ if platform not in ['cygwin']:
+ if (self.compiler.find_library_file(lib_dirs, 'ndbm')
+ and find_file("ndbm.h", inc_dirs, []) is not None):
exts.append( Extension('dbm', ['dbmmodule.c'],
+ define_macros=[('HAVE_NDBM_H',None)],
libraries = ['ndbm'] ) )
- elif self.compiler.find_library_file(lib_dirs, 'gdbm'):
+ elif (platform in ['darwin']
+ and find_file("ndbm.h", inc_dirs, []) is not None):
+ # Darwin has ndbm in libc
exts.append( Extension('dbm', ['dbmmodule.c'],
+ define_macros=[('HAVE_NDBM_H',None)]) )
+ elif (self.compiler.find_library_file(lib_dirs, 'gdbm')
+ and find_file("gdbm/ndbm.h", inc_dirs, []) is not None):
+ exts.append( Extension('dbm', ['dbmmodule.c'],
+ define_macros=[('HAVE_GDBM_NDBM_H',None)],
libraries = ['gdbm'] ) )
elif db_incs is not None:
exts.append( Extension('dbm', ['dbmmodule.c'],
- library_dirs=dblib_dir,
+ library_dirs=[dblib_dir],
include_dirs=db_incs,
+ define_macros=[('HAVE_BERKDB_H',None),
+ ('DB_DBM_HSEARCH',None)],
libraries=dblibs))
- else:
- exts.append( Extension('dbm', ['dbmmodule.c']) )
# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
if (self.compiler.find_library_file(lib_dirs, 'gdbm')):
@@ -712,32 +722,34 @@ class PyBuildExt(build_ext):
exts.append( Extension('sunaudiodev', ['sunaudiodev.c']) )
if platform == 'darwin':
- # Mac OS X specific modules. These are ported over from MacPython
- # and still experimental. Some (such as gestalt or icglue) are
- # already generally useful, some (the GUI ones) really need to
- # be used from a framework.
+ # Mac OS X specific modules. Modules linked against the Carbon
+ # framework are only built for framework-enabled Pythons. As
+ # of MacOSX 10.1 importing the Carbon framework from a non-windowing
+ # application (MacOSX server, not logged in on the console) may
+ # result in Python crashing.
#
# I would like to trigger on WITH_NEXT_FRAMEWORK but that isn't
# available here. This Makefile variable is also what the install
# procedure triggers on.
- frameworkdir = sysconfig.get_config_var('PYTHONFRAMEWORKDIR')
- exts.append( Extension('gestalt', ['gestaltmodule.c'],
- extra_link_args=['-framework', 'Carbon']) )
- exts.append( Extension('MacOS', ['macosmodule.c'],
- extra_link_args=['-framework', 'Carbon']) )
- exts.append( Extension('icglue', ['icgluemodule.c'],
- extra_link_args=['-framework', 'Carbon']) )
- exts.append( Extension('macfs',
- ['macfsmodule.c',
- '../Python/getapplbycreator.c'],
- extra_link_args=['-framework', 'Carbon']) )
exts.append( Extension('_CF', ['cf/_CFmodule.c', 'cf/pycfbridge.c'],
extra_link_args=['-framework', 'CoreFoundation']) )
- exts.append( Extension('_Res', ['res/_Resmodule.c'],
- extra_link_args=['-framework', 'Carbon']) )
- exts.append( Extension('_Snd', ['snd/_Sndmodule.c'],
- extra_link_args=['-framework', 'Carbon']) )
- if frameworkdir:
+
+ framework = sysconfig.get_config_var('PYTHONFRAMEWORK')
+ if framework:
+ exts.append( Extension('gestalt', ['gestaltmodule.c'],
+ extra_link_args=['-framework', 'Carbon']) )
+ exts.append( Extension('MacOS', ['macosmodule.c'],
+ extra_link_args=['-framework', 'Carbon']) )
+ exts.append( Extension('icglue', ['icgluemodule.c'],
+ extra_link_args=['-framework', 'Carbon']) )
+ exts.append( Extension('macfs',
+ ['macfsmodule.c',
+ '../Python/getapplbycreator.c'],
+ extra_link_args=['-framework', 'Carbon']) )
+ exts.append( Extension('_Res', ['res/_Resmodule.c'],
+ extra_link_args=['-framework', 'Carbon']) )
+ exts.append( Extension('_Snd', ['snd/_Sndmodule.c'],
+ extra_link_args=['-framework', 'Carbon']) )
exts.append( Extension('Nav', ['Nav.c'],
extra_link_args=['-framework', 'Carbon']) )
exts.append( Extension('_AE', ['ae/_AEmodule.c'],
@@ -789,7 +801,7 @@ class PyBuildExt(build_ext):
waste_incs = find_file("WASTE.h", [],
['../'*n + 'waste/C_C++ Headers' for n in (0,1,2,3,4)])
waste_libs = find_library_file(self.compiler, "WASTE", [],
- ["../"*n + "waste/Static Libraries" for n in (0,1,2,3,4)])
+ [ "../"*n + "waste/Static Libraries" for n in (0,1,2,3,4)])
if waste_incs != None and waste_libs != None:
(srcdir,) = sysconfig.get_config_vars('srcdir')
exts.append( Extension('waste',