mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
build bsddb185 module in certain restricted circumstances
This commit is contained in:
parent
8c044d8ca4
commit
22e00c42c0
1 changed files with 28 additions and 0 deletions
28
setup.py
28
setup.py
|
@ -287,6 +287,11 @@ class PyBuildExt(build_ext):
|
||||||
inc_dirs += ['/system/include', '/atheos/autolnk/include']
|
inc_dirs += ['/system/include', '/atheos/autolnk/include']
|
||||||
inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
|
inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
|
||||||
|
|
||||||
|
# OSF/1 has some stuff in /usr/ccs/lib (like -ldb)
|
||||||
|
if platform[:4] == 'osf1':
|
||||||
|
platform = 'osf1'
|
||||||
|
lib_dirs += ['/usr/ccs/lib']
|
||||||
|
|
||||||
# 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', 'mac']:
|
if platform in ['darwin', 'beos', 'mac']:
|
||||||
|
@ -560,6 +565,29 @@ class PyBuildExt(build_ext):
|
||||||
dblibs = []
|
dblibs = []
|
||||||
dblib_dir = None
|
dblib_dir = None
|
||||||
|
|
||||||
|
|
||||||
|
# Look for Berkeley db 1.85. Note that it is built as a different
|
||||||
|
# module name so it can be included even when later versions are
|
||||||
|
# available. A very restrictive search is performed to avoid
|
||||||
|
# accidentally building this module with a later version of the
|
||||||
|
# underlying db library. May BSD-ish Unixes incorporate db 1.85
|
||||||
|
# symbols into libc and place the include file in /usr/include.
|
||||||
|
f = "/usr/include/db.h"
|
||||||
|
if os.path.exists(f):
|
||||||
|
data = open(f).read()
|
||||||
|
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
|
||||||
|
if m is not None:
|
||||||
|
# bingo - old version used hash file format version 2
|
||||||
|
### XXX this should be fixed to not be platform-dependent
|
||||||
|
### but I don't have direct access to an osf1 platform and
|
||||||
|
### seemed to be muffing the search somehow
|
||||||
|
libraries = platform == "osf1" and ['db'] or None
|
||||||
|
if libraries is not None:
|
||||||
|
exts.append(Extension('bsddb185', ['bsddbmodule.c'],
|
||||||
|
libraries=libraries))
|
||||||
|
else:
|
||||||
|
exts.append(Extension('bsddb185', ['bsddbmodule.c']))
|
||||||
|
|
||||||
# The standard Unix dbm module:
|
# The standard Unix dbm module:
|
||||||
if platform not in ['cygwin']:
|
if platform not in ['cygwin']:
|
||||||
if find_file("ndbm.h", inc_dirs, []) is not None:
|
if find_file("ndbm.h", inc_dirs, []) is not None:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue